Разработать клиент-серверное решение с использованием typescript и node.js для хранения и
управления базой данных автомобилей различных брендов.
Решение должно состоять из двух приложений: серверного и клиентского. В приложениях должны быть использованы следующие технологии:
Серверное приложение:
- Node.JS
- TypeScript
- Express или любой express-совместимый web-сервер
- REST API
- Методы, которые позволяют добавлять автомобили, удалять и получать список с сортировкой. Опубликовать эти методы в REST API
6А. Информацию об автомобилях хранить в виде JSON файла на диске. Учесть необходимость защиты от одновременной записи файла при запросах к REST API
6Б. Альтернатива п.6А, при выборе будет дополнительным плюсом кандидату: БД MongoDB для персистентного хранения информации об автомобилях. В качестве сервера MongoDB выбрать любой на своё усмотрение, можно публичный MongoDB Atlas
Клиентское приложение:
- Node.JS
- TypeScript
- Интерпретатор командной строки. В параметрах обязательно должны быть действие и аргументы этого действия в любом формате.
- При запуске из командной строки с параметрами нужно выполнять подключение к Серверу и выполнять REST API операции.
- Данные, полученные от Сервера выводить в консоль.
docker docker-compose make node19 yarn
# up mongodb container or via docker-compose cli (27017 default port mapping)
make up
# http://localhost:3000/doc
yarn start
Swagger available at /doc
and specs at /doc-json
/doc-yaml
# e2e tests
yarn test:e2e
# unit tests
yarn test
# coverage
yarn test:cov