Сервис доставки
Проект представляет собой монолит для автоматизации процессов доставки: заказов, логистики, оплаты и трекинга. Он написан на Java Spring Boot и подготовлен для запуска в контейнере (Docker). Цель — обеспечить базовую платформу доставки, которую можно расширять под конкретные бизнес-требования.
/
├ .mvn/wrapper/ → Maven-wrapper файлы
├ src/ → исходный код
├ Dockerfile → образ для контейнеризации
├ docker-compose.yml → конфигурация для локального запуска с зависимостями
├ .env → переменные окружения (секреты, доступы)
├ pom.xml → описание зависимостей Maven
└ README.md → файл с описанием проекта
src/main/java— основной Java-код сервисаsrc/main/resources— конфигурации (application.yml/properties, миграции, др.)Dockerfile— инструкция по созданию образа Dockerdocker-compose.yml— позволяет поднять сервис + нужные зависимые сервисы (БД, очередь и т.д.).env— настройки окружения (база данных, порты, креды)pom.xml— зависимости, плагины, сборка
- Управление заказами на доставку: создание, изменение статуса, отмена
- Оплата: резервирование средств, подтверждение оплаты
- Адреса и геолокация: валидация адресов, невозможность дубликатов
- API-документация (Swagger / OpenAPI)
- Контейнеризация: можно запустить локально или в облаке
- Контроллеры (REST API) → сервисный слой → репозиторий (JPA/Hibernate)
- DTO для ввода/вывода данных (отделены от сущностей)
- Сущности (Entity) — отражают таблицы БД
- Мапперы (Mapper) — преобразование между DTO и Entity
- Исключения обрабатываются централизованно через
@ControllerAdvice