PracticesService — Сервис для работы с учебными/производственными практиками кафедры. Запуск производится через Docker Compose.
Сервис состоит из следующих компонентов:
- gateway.api (порт 5000) - API Gateway на YARP, агрегирует все сервисы
- core.api - Основной сервис практик (PostgreSQL)
- auth.api - Сервис авторизации и аутентификации (PostgreSQL)
- practice-entities.api - Сервис сущностей практик (MongoDB)
- rabbitmq - Брокер сообщений для межсервисной коммуникации
- core.db - PostgreSQL для Core Service
- auth.db - PostgreSQL для Auth Service
- practice-entities.db - MongoDB для Practice Entities
- frontend (порт 8000) - React приложение на Vite
-
Клонируйте репозиторий:
git clone <URL вашего репозитория> cd PracticesService
-
Запустите все сервисы для разработки:
docker-compose up --build
-
Проверьте состояние всех сервисов:
docker-compose ps
-
Соберите и запустите в production режиме:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
-
Проверьте логи:
docker-compose logs -f
| Сервис | URL | Описание |
|---|---|---|
| Frontend | http://localhost:8000 | Клиентское приложение |
| Gateway API | http://localhost:5000 | Единая точка входа API |
| Gateway Swagger | http://localhost:5000/swagger | Документация Gateway |
| Core API Swagger | http://localhost:5000/swagger/core.json | Core Service API |
| Auth API Swagger | http://localhost:5000/swagger/auth.json | Auth Service API |
| RabbitMQ UI | http://localhost:15672 | Управление RabbitMQ |
| PostgreSQL (Core) | localhost:5432 (внутри Docker) | База Core Service |
| PostgreSQL (Auth) | localhost:5432 (внутри Docker) | База Auth Service |
| MongoDB | localhost:27017 (внутри Docker) | База Practice Entities |
Все запросы проходят через Gateway:
- /core-api/{endpoint} → Core Service
- /auth-api/{endpoint} → Auth Service
- /practice-entities-api/{endpoint} → Practice Entities Service
VITE_API_BASE_URL- Базовый URL API (по умолчанию: http://localhost:5000)
ASPNETCORE_ENVIRONMENT- Development/ProductionRabbitMQ__Host,RabbitMQ__Username,RabbitMQ__PasswordRUN_MIGRATIONS- Применять миграции при запуске (только Auth)
docker-compose.yml- Базовая конфигурацияdocker-compose.prod.yml- Настройки для продакшена