Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pharmacy API

REST API для управления онлайн-аптекой с функционалом каталога лекарств, корзины, заказов и платежей. Система построена на монолитной архитектуре с четким разделением на слои: транспортный слой (HTTP handlers), слой бизнес-логики (services) и слой доступа к данным (repositories).

Функционал приложения

  • Регистрация и управление пользователями
  • Просмотр каталога лекарств с фильтрацией по категориям и подкатегориям
  • Управление категориями и подкатегориями лекарств
  • Создание и управление корзиной покупок
  • Добавление и удаление товаров из корзины
  • Создание заказов из корзины с применением промокодов
  • Управление платежами по заказам
  • Система промокодов для скидок
  • Отзывы и рейтинги лекарств
  • Автоматический расчет итоговой стоимости с учетом скидок

Go Gin PostgreSQL GORM Swagger

Архитектура: Монолитная архитектура с трехслойной структурой (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 автоматически создает и обновляет структуру БД
  • Система промокодов: Гибкая система скидок с валидацией и применением к заказам
  • Корзина покупок: Полнофункциональная корзина с управлением количеством товаров
  • Система платежей: Интеграция платежей с заказами, поддержка нескольких методов оплаты
  • Отзывы и рейтинги: Система отзывов с автоматическим расчетом среднего рейтинга лекарств
  • Категоризация: Иерархическая структура категорий и подкатегорий для удобной навигации

Участники разработки

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages