test-task-nestjs

Тестовое задание для NodeJs разработчика

Настройка приложения

cp .example.env .env
docker-compose -f docker-compose.yml up

Запуск приложения

npm i pnpm -G
pnpm i
pnpm dev

Swagger

Документация здесь

Требования

  • Пароли не хранить в открытом виде
  • Реализовать валидацию полей на api запросы с кодами ответов и сообщениями об ошибке в теле ответа
  • Развернуть проект в любом удобном месте, что бы можно было прогнать тесты и проверить
  • Код на github или gitlab
  • Придерживаться принципам SOLID
  • Токен авторизации живет 30 минут
  • Реализовать endpoint для обновления токена
  • Создать миграции
  • Написать сопроводительную документация в README.md для разворота
  • Реализовать offset или пагинацию для сущности TAG
  • Реализовать Сортировку по полю sortOrder и(или) полю name для сущности TAG

Дополнительные требования

  • Использовать DTO
  • Писать интерфейсы и реализовывать их
  • Желательно не использовать ORM
  • Написать DockerFile для приложения
  • Написать docker-composer для локального разворота приложения
  • Реализовать кеширование
  • Покрыть тестами сами api
  • Добавить генерацию swagger документации для api методов (или написать ручками и положит в проект в директорию /doc)

Список API endpoint

AUTH

  • POST /signup
  • POST /login
  • POST /logout

USER

  • GET /user
  • PUT /user
  • DELETE /user
  • POST /user/tag
  • DELETE /user/tag/{id}
  • GET /user/tag

TAG

  • POST /tag
  • GET /tag/{id}
  • GET /tag
  • PUT /tag/{id}
  • DELETE /tag/{id}