DM Shop — обзор проекта
DM Shop — интернет-магазин электроники с полноценной админ-панелью. Система построена на микросервисной архитектуре: отдельный Spring Boot бэкенд, Next.js фронтенд и Python-мок внешнего поставщика.
Компоненты системы
| Компонент | Стек | Назначение |
|---|---|---|
| back/ | Spring Boot 4 / Java 21 | REST API, бизнес-логика, работа с БД |
| front/ | Next.js 16 / React 19 / TypeScript | Клиентская витрина и админ-панель |
| mock-api/ | Python FastAPI | Мок API склада mphone для разработки |
| PostgreSQL 15 | Docker | Основная реляционная база данных |
| SeaweedFS | Docker | S3-совместимое хранилище файлов/изображений |
Схема взаимодействия
Браузер (Next.js)
↕ REST / JSON (порт 3000 → 8080)
Spring Boot API
↕ JDBC/JPA
PostgreSQL (порт 45432)
↕ S3 API (порт 8333)
SeaweedFS
↕ HTTP (порт 8010)
mock-api / mphone API
Ключевые возможности
- Каталог товаров с категориями, брендами и атрибутами
- Корзина и оформление заказов
- JWT-аутентификация (роли: USER, MANAGER, ADMIN)
- Загрузка и хранение изображений через S3
- Синхронизация каталога из внешней системы mphone
- Управление баннерами, отзывами, конфигурацией сайта
- Обработка заказов с передачей во внешнюю систему
Раздел технической документации
| Документ | Содержание |
|---|---|
| Архитектура | Слои, паттерны, поток данных |
| Бэкенд | Spring Boot: контроллеры, сервисы, репозитории |
| База данных | Схема таблиц, миграции Liquibase |
| Безопасность | JWT, Spring Security, роли |
| Синхронизация | Интеграция с mphone API |
| Фронтенд | Next.js: страницы, Redux, API-клиент |
| Инфраструктура | Docker Compose, SeaweedFS, окружения |