Skip to content

WebStormUdv/UdvCorpSocialBackend

Repository files navigation

🏢 UdvCorpSocialBackend

Build Status License Java Version Spring Boot Docker Compose

Backend корпоративного портала: социальная сеть


📌 Основной функционал

  • 🧑‍💼 Профили сотрудников и организационная структура
  • 🏢 Подразделения, иерархия, привязка к проектам
  • 📝 Посты и комментарии, лайки, медиа
  • 📁 Интеграция с MinIO для хранения файлов
  • 🔐 JWT-аутентификация и авторизация
  • 📊 Управление навыками, компетенциями, участием в проектах
  • ⚙️ REST API для frontend-интеграции

🛠️ Архитектура

+------------------+       +------------------+       +-----------------+
|  Spring Boot API | <---> |   PostgreSQL DB  | <---> |     pgAdmin     |
+------------------+       +------------------+       +-----------------+
        |                          ↑
        ↓                          |
+------------------+       +------------------+
|   MinIO (S3 API) | <---> |     Frontend     |
+------------------+       +------------------+
  • 📘 Spring Boot — основная логика API
  • 🐘 PostgreSQL — база данных
  • 📂 MinIO — файловое хранилище
  • 🧑‍💻 pgAdmin — управление БД через UI
  • 🐳 Docker Compose — запуск всех сервисов в контейнерах

🚀 Быстрый старт

git clone https://github.com/WebStormUdv/UdvCorpSocialBackend.git
cd UdvCorpSocialBackend

cp .env.example .env
# Отредактируйте .env с вашими настройками

docker-compose up -d

После запуска система будет автоматически наполнена примерными тестовыми данными. В базу добавлены 3 пользователя с разными ролями:

Email Пароль Роль
ivanaa.ivanov@company.com SecurePass123! работник
user@mail.ru SecurePass123! работник
admin@mail.ru SecurePass123! админ

Вы можете использовать эти учётные данные для входа и тестирования API (например, через Swagger UI).

Чтобы остановить:

docker-compose down

⚙️ Переменные окружения

Указываются в .env:

UDV_DB_URL=jdbc:postgresql://postgres:5432/udv_corp_social
UDV_DB_USER=postgres
UDV_DB_PASSWORD=PostgresPassword

JWT_SECRET=SuperSecretJwtKey
JWT_EXPIRATION=86400000

🌐 API документация

Документация Swagger автоматически разворачивается вместе с API:

🔗 http://localhost:8080/swagger-ui/index.html

  • Используется JWT Bearer Token (введите access_token после логина)
  • Полное описание доступных эндпоинтов и моделей

🔌 Сервисы и доступ

Сервис URL Доступ / Учётные данные
API Server http://localhost:8080
Swagger UI Swagger
pgAdmin http://localhost:5050 admin@udvcorp.com / admin123
MinIO http://localhost:9000 minioadmin / minioadmin123
MinIO Console http://localhost:9001 Для администрирования бакетов
Grafana http://localhost:3001 admin/admin123

🧼 Очистка среды и сброс данных

Для полного сброса состояния, включая тома и кэш Docker:

docker-compose down -v

About

Backend service for internal company portal.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors