Сайт-платформа спортивного клуба, построен на микросервисной архитектуре и базовых технологиях NestJS, брокере сообщений RabbitMq и ReactJS.
-
HTTP запросы находятся в файле
fitfriends/apps/api-gateway/src/app/controllers/Fitfriends.postman_collection.json
-
Пример файла с переменными окружения fitfriends/envs/.env-example
-
Документация доступна по адресу http://localhost:3333/spec после запуска сервиcа api-gateway
-
Список микросервисов:
- api-gateway — содержит http контроллеры
- users — отвечает за авторизацию, хранение сессий, пользователей и друзей
- fitness — содержит бизнес логику приложения
- storage — отвечает за обработку файлов
- notify — управляет рассылками по подпискам и уведомлениями
-
Списки сценариев для микросервисов:
- serve — запускает сервис, доступен для всех сервисов.
-
Сценарии для сервиса fitness
- db-reset — делает перестановку клиента prisma
- db-generate — генерирует клиента в соответствие со схемой
- db-migrate — осуществляет миграцию БД
Запуск сценариев осуществляется через
nx run <название сервиса>:<название сценария>
-
Сценарии командной строки:
services:docker-up
— загрузит и сконфигурирует контейнеры dockerservices:docker-start
— запустит все контейнерыservices:docker-stop
— остановит все контейнерыservices:db-init
— проинициализирует prismaservices:db-seed
— заполнит базы данных тестовыми даннымиservices:db-reset
— очистит базы данныхservices:start
— запустит все микросервисыservices:lint
— выполнит проверку линтером
-
Команда генерации тестовых данных создает две учетные записи:
[email protected]
— роль тренера[email protected]
— роль клиентаПароль для всех учетных записей:
123456
-
Создайте файл .env в папке fitfriends/envs/ обновите переменные окружения по образцу в файле .env-example
-
Установите зависимости
npm i
-
Установите docker
-
В директории ./fitfriends запустите сценарии в следующем порядке:
npm run servisec:docker-up
npm run services:docker-start
npm run services:start
-
Перейдите в другое окно терминала
npm run services:db-init
npm run services:seed