- Сохранение запросов к сервису и вывод лога в api
- Статистика запросов к сервису
- Кэширование запросов
- Docker файл для развертывания сервиса
- Перейдите в директорию проекта
- Откройте терминал и выполните npm i
- Откройте терминал и выполните node app.js
- Если порт не занят другим процессом сервис будет доступен на http://localhost:8886
- Перейдите в директорию проекта
- Откройте терминал и выполните docker build -t embedika-test .
- В терминале выполните docker run --publish 8886:8886 embedika-test
- Если порт не занят другим процессом сервис будет доступен на http://localhost:8886
- /database - бд сущностей (sqlite inmemory решение)
- /handlers - обработчики урлов
- /log-database - бд логов (sqlite inmemory решение)
- /middlewares - промежуточные обработчики
- GET /cars - список автомобилей. Доступна сортировка через параметры запроса sortby=color|brand. Статусы ответов: 200 ОК. 500 Internal Server Error
- POST /cars - добавить автомобиль. Данные отправляются в json {"number": <"string">, "brand": <"number">, "color": <"number">, "year": <"number">} (валидация передаваемых данных не реализована) Статусы ответов: 200 ОК. 409 Conflict (переданы несуществующие идентификаторы сущностей или номер автомобиля уже существует). 500 Internal Server Error
- DELETE /cars/:id - удалить автомобиль с id. Статусы ответов: 200 ОК. 404 Not found. 500 Internal Server Error
- GET /brands - список автомобильных брендов. Статусы ответов: 200 ОК. 500 Internal Server Error
- GET /colors - список цветов автомобилей. Статусы ответов: 200 ОК. 500 Internal Server Error
- GET /stat - статистика по данным в базе (время первой/последней записи, количество сущностей). Статусы ответов: 200 ОК. 500 Internal Server Error
- GET /request_logs - логи запросов Статусы ответов: 200 ОК. 500 Internal Server Error
- GET /request_stats - статистика по запросам, в виде количества запросов по каждому из эндпоинтов Статусы ответов: 200 ОК. 500 Internal Server Error