Тестовое задание для Unistory
К проекту подключён swagger Все запросы используют username вместо id для наглядности.
Сделать Backend для библиотеки на Node.JS Основной функционал: Пользователь может купить абонемент и получить доступ к книгам. Ограничения:
- Одновременно пользователь не может взять более 5 книг
- Если у пользователя нет купленного абонемента то ему нельзя взять книгу
- Пользователь может иметь одновременно только 1 активный абонемент
- Каждая книга может быть выдана только 1 человеку в 1 момент времени (будем предполагать что существует только 1 экземпляр книги и пока один пользователь не вернул книгу другой не может ее взять) Что нужно сделать :
- метод для добавления пользователя
- метод для редактировния пользователя
- метод для удаления пользователя
- метод для установки того что пользователь купил абонемент
- метод для получения списка всех пользователей
- метод для получения конкретного пользователя (информация по пользователю
- список взятых книг)
- метод для добавления книги
- метод для добавления книги к пользователю (когда выдаем книгу пользователю) Тестовое Junior Backend Dev 2
- метод для "возвращения книги" (когда пользователь отдает книгу обратно) Вся информация должна храниться в бд Обязательно :
- Придерживаться 3-х слойной архитектуры (контроллер/сервис/репозиторий (доступ к бд ,опционально) )
- В качестве БД использовать Mysql/SqlLite/Postgres
- Использовать TypeScript
- Nest.js обязателен
- Использовать type ORM