Skip to content

A test project demonstrating the use of Apache Kafka, simulating the operation of an online store.

Notifications You must be signed in to change notification settings

NikitaBuffy/orders-kafka

Repository files navigation

Очередь заказов с Apache Kafka

Тестовый проект, демонстрирующий использование Apache Kafka для асинхронной обработки данных и передачи сообщений между разными компонентами приложения.

Проект имитирует работу интернет-магазина и имеет следующую архитектуру:

  • Customer Service - отвечает за принятие заказов от клиентов, первичную валидацию данных и размещение их в очереди для обработки.
  • Processing Service - занимается обработкой заказов по мере их поступления от Customer Service'a.
  • Notification Service - отправляет уведомления клиентам о статусе их заказов по мере обработки.

Структура проекта

Используемые технологии

Java Spring Boot Apache Maven Hibernate Postgres Docker Apache Kafka

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

Для развертывания приложения:

  mvn clean package
  docker compose up

Спецификация API

Проект имеет эндпоинт для принятия заказа из фронта:

POST /api/v1/order/create
Параметр Тип Описание
customerId Long Header 'X-Customer-Id'
orderDto OrderDto Body JSON

Пример тела запроса:

{
  "customerName": "Nikita Pominov",
  "customerPhone": "+7 (999) 999-99-99",
  "customerEmail": "[email protected]",
  "items": [
    {
      "title": "Очки для душа",
      "price": "200"
    },
    {
      "title": "Шапочка для душа",
      "price": "500"
    }
  ],
  "deliveryAddress": "Санкт-Петербург, площадь Восстания, 2",
  "date": "2023-11-11 16:30"
}

About

A test project demonstrating the use of Apache Kafka, simulating the operation of an online store.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published