Доступен по адресу http://localhost:8000
Доступен по адресу http://localhost:8081
Доступен по адресу http://localhost:8082
docker-compose up --builddocker-compose downdocker-compose restartТестовое задание для разработчика:
Разработка системы управления каталогом товаров с использованием микросервисной архитектуры
Задача - разработать систему управления каталогом товаров, используя микросервисную архитектуру. Система должна включать в себя три микросервиса:
- Управление товарами
- Управление заказами
- BFF
Важно продемонстрировать принципы микросервисной архитектуры и обеспечить чистоту кода и его тестируемость. Требования:
Микросервис управления товарами (Product Service):
- Реализовать CRUD операции для управления товарами (создание, чтение, обновление, удаление).
- Каждый товар должен иметь уникальный идентификатор, название, описание, цену и список категорий (категории опционально)
- Обеспечить валидацию вводимых данных.
- Добавить возможность поиска товаров по названию
- Использовать базу данных для хранения информации о товарах.
Микросервис управления заказами (Orders Service):
- Реализовать CRUD операции для управления заказами (создание, чтение, обновление, удаление).
- Каждый заказ должен иметь уникальный идентификатор, адрес доставки и список продуктов с количеством и ценой продажи
- Обеспечить валидацию вводимых данных.
- Добавить возможность поиска заказов по товару
- Использовать базу данных для хранения информации о заказах.
API Gateway:
- Реализовать API Gateway
- Настроить маршрутизацию запросов к микросервису управления товарами.
- Обеспечить простую обработку ошибок и логирование запросов.
Документация API:
- Создать документацию API с использованием Swagger или аналогичного инструмента.
Бонусные задания (необязательно):
- Полнотекстовый поиск по названию, описанию или категориям.
- Кэширование ответов на часто запрашиваемые операции для повышения производительности.
- Создать Docker-контейнеры для каждого микросервиса и описать процесс их развёртывания с помощью Docker Compose.
P.S. Язык и фреймворк по своему усмотрению (PHP, Java, Kotlin, C#)