Перейти к основному содержимому

DM Shop — обзор проекта

DM Shop — интернет-магазин электроники с полноценной админ-панелью. Система построена на микросервисной архитектуре: отдельный Spring Boot бэкенд, Next.js фронтенд и Python-мок внешнего поставщика.

Компоненты системы

КомпонентСтекНазначение
back/Spring Boot 4 / Java 21REST API, бизнес-логика, работа с БД
front/Next.js 16 / React 19 / TypeScriptКлиентская витрина и админ-панель
mock-api/Python FastAPIМок API склада mphone для разработки
PostgreSQL 15DockerОсновная реляционная база данных
SeaweedFSDockerS3-совместимое хранилище файлов/изображений

Схема взаимодействия

Браузер (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, окружения