Skip to content

Сервис задач, реализованный на фреймворке NestJS, с использованием авторизации JWT

Notifications You must be signed in to change notification settings

DreysTS/task-service

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Discord Backers on Open Collective Sponsors on Open Collective Donate us Support us Follow us on Twitter

Описание

Мини сервис "менеджер задач".

Все .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

About

Сервис задач, реализованный на фреймворке NestJS, с использованием авторизации JWT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published