Сервис управления интернет-магазином предоставляет функционал для учета пользователей, товаров, заказов и платежей с поддержкой операций CRUD (создание, чтение, обновление и удаление). Проект состоит из нескольких микросервисов и API Gateway, обеспечивающего единый вход для всех запросов.
Проект включает следующие микросервисы:
- Пользователи
- Товары
- Заказы
- Платежи
- API Gateway
- Установите Docker.
- Установите Docker Compose.
-
Клонируйте репозиторий:
git clone https://github.com/ваш-репозиторий/my-shop.git cd my-shop
-
Создайте файл
.env
на основе.env.example
и укажите необходимые переменные окружения. -
Запустите проект с помощью Docker Compose:
docker-compose up --build
После запуска всех сервисов, вы можете использовать API Gateway для взаимодействия с микросервисами. Он будет доступен на http://localhost:8080
.
Описание: Микросервис для управления пользователями.
API:
GET /users
— Получить список пользователей.GET /users/{id}
— Получить информацию о пользователе по ID.POST /users
— Создать нового пользователя.PUT /users/{id}
— Обновить информацию о пользователе по ID.DELETE /users/{id}
— Удалить пользователя по ID.
Поля:
- Идентификатор: Уникальный идентификатор пользователя.
- Имя: Полное имя пользователя.
- Email: Электронная почта пользователя.
- Адрес: Адрес пользователя.
- Дата регистрации: Дата регистрации пользователя.
- Роль: Роль пользователя в системе (например, администратор, клиент).
Описание: Микросервис для управления товарами.
API:
GET /products
— Получить список товаров.GET /products/{id}
— Получить информацию о товаре по ID.POST /products
— Создать новый товар.PUT /products/{id}
— Обновить информацию о товаре по ID.DELETE /products/{id}
— Удалить товар по ID.
Поля:
- Идентификатор: Уникальный идентификатор товара.
- Название: Название товара.
- Описание: Краткое описание товара.
- Цена: Цена товара.
- Категория: Категория товара.
- Количество на складе: Количество товара на складе.
- Дата добавления: Дата добавления товара.
Описание: Микросервис для управления заказами.
API:
GET /orders
— Получить список заказов.GET /orders/{id}
— Получить информацию о заказе по ID.POST /orders
— Создать новый заказ.PUT /orders/{id}
— Обновить информацию о заказе по ID.DELETE /orders/{id}
— Удалить заказ по ID.
Поля:
- Идентификатор: Уникальный идентификатор заказа.
- Пользователь: Идентификатор пользователя, сделавшего заказ.
- Товары: Список идентификаторов товаров в заказе.
- Общая стоимость: Общая стоимость заказа.
- Дата заказа: Дата создания заказа.
- Статус заказа: Статус заказа (новый, в обработке, выполнен).
Описание: Микросервис для управления платежами.
API:
GET /payments
— Получить список платежей.GET /payments/{id}
— Получить информацию о платеже по ID.POST /payments
— Создать новый платеж.PUT /payments/{id}
— Обновить информацию о платеже по ID.DELETE /payments/{id}
— Удалить платеж по ID.
Поля:
- Идентификатор: Уникальный идентификатор платежа.
- Пользователь: Идентификатор пользователя, сделавшего платеж.
- Заказ: Идентификатор заказа, за который произведен платеж.
- Сумма: Сумма платежа.
- Дата платежа: Дата совершения платежа.
- Статус платежа: Статус платежа (успешный, неуспешный).
Интеграция с API ePayment.kz: Реализация функционала оплаты через ePayment.kz.
Описание: API Gateway обеспечивает единый вход для всех запросов и маршрутизацию их к соответствующим микросервисам.
Логика маршрутизации: Направляет запросы в зависимости от пути и метода HTTP к нужным микросервисам.