Инструкция по запуску проекта

Для запуска проекта в системе должны быть установлены 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

Client:

Проект развёрнут с помощью npm create vite@latest

Vite - 4.4.5

React - 18.2.0

TypeScript - 5.0.2

Server:

Express - 4.18.2

TypeScript - 5.2.2

Инструкция к API:

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 - удалить все товары из коллекции товаров