Для запуска проекта в системе должны быть установлены Docker и docker-compose.
Сначала в корне проекта нужно создать файл .env и скопировать туда содержимое .env-example, заменив значения на нужные.
Далее открыть терминал, находясь в корневой директории проекта, и ввести туда команду:
docker-compose -f docker-compose.preprod.yml up
После того как все контейнеры успешно запустятся, клиентская часть будет развёрнута на 8000 порту (http://localhost:8000). Зайдите туда и убедитесь, что всё работает.
Однако, в данный момент в базе данных ещё пусто и чтобы сделать миграцию из моковой базы данных (скопировать из неё все товары) в настоящую, единожды введите в терминале команду (требует наличие curl):
curl -X POST http://localhost:3000/api/products/migration
Либо, если curl отсутствует, в Postman (или аналогах) выполните POST-запрос на http://localhost:3000/api/products/migration. Также единожды. Контейнер с сервером при этом должен быть запущен!
После этого перезугрузите страницу браузера, чтобы увидеть добавленные в БД товары.
Docker - 24.0.7
docker-compose - 2.12.2
node - 20.9.0
npm - 10.1.0
Проект развёрнут с помощью npm create vite@latest
Vite - 4.4.5
React - 18.2.0
TypeScript - 5.0.2
Express - 4.18.2
TypeScript - 5.2.2
GET http://localhost:3000/api/products?page=n&sort=n&colors=n - запросить все товары, применив к ним выставленные фильтры
GET http://localhost:3000/api/products/:id - запросить целевой товар по его id
POST http://localhost:3000/api/products/migration - скопировать все товары в настоящую базу данных из моковой базы данных
DELETE http://localhost:3000/api/products - удалить все товары из коллекции товаров