REST API для управления онлайн-аптекой с функционалом каталога лекарств, корзины, заказов и платежей. Система построена на монолитной архитектуре с четким разделением на слои: транспортный слой (HTTP handlers), слой бизнес-логики (services) и слой доступа к данным (repositories).
- Регистрация и управление пользователями
- Просмотр каталога лекарств с фильтрацией по категориям и подкатегориям
- Управление категориями и подкатегориями лекарств
- Создание и управление корзиной покупок
- Добавление и удаление товаров из корзины
- Создание заказов из корзины с применением промокодов
- Управление платежами по заказам
- Система промокодов для скидок
- Отзывы и рейтинги лекарств
- Автоматический расчет итоговой стоимости с учетом скидок
Архитектура: Монолитная архитектура с трехслойной структурой (Transport → Service → Repository)
┌─────────────┐
│ Client │
│ (HTTP) │
└──────┬──────┘
│
▼
┌───────────────────────────────────────────┐
│ Transport Layer (Handlers) │
│ User │ Medicine │ Cart │ Order │
│ Payment │ Category │ Review │ Promocode │
└──────────────────┬────────────────────────┘
│
▼
┌───────────────────────────────────────────┐
│ Service Layer (Business Logic) │
│ User │ Medicine │ Cart │ Order │
│ Payment │ Category │ Review │ Promocode │
└──────────────────┬────────────────────────┘
│
▼
┌───────────────────────────────────────────┐
│ Repository Layer (Data Access) │
│ User │ Medicine │ Cart │ Order │
│ Payment │ Category │ Review │ Promocode │
└──────────────────┬────────────────────────┘
│
▼
┌───────────────────────────────────────────────┐
│ PostgreSQL Database │
│ Users │ Medicines │ Carts │ Orders │
│ Payments │ Categories │ Reviews │ Promocodes │
└───────────────────────────────────────────────┘
- Чистая архитектура: Разделение на слои (Transport → Service → Repository) обеспечивает легкость поддержки и тестирования
- RESTful API: Полноценный REST API с поддержкой всех CRUD операций
- Автоматические миграции: GORM автоматически создает и обновляет структуру БД
- Система промокодов: Гибкая система скидок с валидацией и применением к заказам
- Корзина покупок: Полнофункциональная корзина с управлением количеством товаров
- Система платежей: Интеграция платежей с заказами, поддержка нескольких методов оплаты
- Отзывы и рейтинги: Система отзывов с автоматическим расчетом среднего рейтинга лекарств
- Категоризация: Иерархическая структура категорий и подкатегорий для удобной навигации