A progressive Node.js framework for building efficient and scalable server-side applications.
Мини сервис "менеджер задач".
Все .env переменные хранятся в файле .env.example . Переименуйте файл в .env, чтобы в проекте применились env-переменные.
В проекте используется авторизация на основе JWT. Для документации данного сервиса был использован инструмент Swagger. Валидация данных реализована с помощью class-transformer и class-validator. Немного описаны тесты для сервиса задач.
nestJS, prisma ORM, PostrgeSQ, Docker, Jest
$ npm installДля локального запуска используйте команду
npm run start:devСервер будет доступен по данному адресу. Порт хранится в .env файле, поэтому его можно будет заменить по своему усмотрению. Документация будет находиться по этому адресу
Для запуска базы данных в docker-контейнере, используйте команду
docker compose up -d --build dbПосле локально выполните команду для применения миграций
npx prisma generateТестирование для данного сервиса было описано только для модуля Tasks. Чтобы запустить тесты, введите команду:
$ npm run testДля деплоя были описаны файлы Dockerfile и docker-compose.yml. После того, как база данных была запущена, можно запускать основное приложение:
docker compose up -d --build appПосле успешного запуска приложения, оно будет расположено всё по тому же адресу
Поскольку сервис реализован с помощью JWT, для успешного тестирования в swagger при получении access token через регистрацию или вход, скопируйте его и вставьте в начале страницы в окошко Authrize. После этого методы, которые помечены замочком, будут доступны для тестирования. Для тестирования данной апшки в postman, был предусмотре конфиг "Ansara testing task.postman_collection", который нужно импортировать внутри приложения/расширения в VS Code.
Для просмотра и манипуляции над данными, в терминале можно ввести команду
npx prisma studio