Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

yrss1/my-shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Сервис для управления интернет-магазином

Описание

Сервис управления интернет-магазином предоставляет функционал для учета пользователей, товаров, заказов и платежей с поддержкой операций CRUD (создание, чтение, обновление и удаление). Проект состоит из нескольких микросервисов и API Gateway, обеспечивающего единый вход для всех запросов.

Архитектура

Проект включает следующие микросервисы:

  • Пользователи
  • Товары
  • Заказы
  • Платежи
  • API Gateway

Установка и запуск

Предварительные требования

  1. Установите Docker.
  2. Установите Docker Compose.

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/ваш-репозиторий/my-shop.git
    cd my-shop
  2. Создайте файл .env на основе .env.example и укажите необходимые переменные окружения.

  3. Запустите проект с помощью 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

Описание: API Gateway обеспечивает единый вход для всех запросов и маршрутизацию их к соответствующим микросервисам.

Логика маршрутизации: Направляет запросы в зависимости от пути и метода HTTP к нужным микросервисам.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages