Skip to content

RandomToga/slay_shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slay: e-commerce cosmetics platform

Сфера: E-commerce (электронная торговля косметикой)
Решаемая задача: Автоматизация процесса торговли косметикой с удобным интерфейсом для пользователей и эффективным управлением для менеджеров.

Проект представляет собой MVP платформы с реализованным бэкендом на Django REST Framework и фронтендом на React (Vite). Система поддерживает гостевые и пользовательские корзины, JWT-аутентификацию, управление заказами и адресами доставки.


Проделанная работа

Анализ и проектирование:

  • Проведен анализ предметной области (E-commerce косметика) и бизнес-процессов в IDEF0
  • Составлены функциональные (Use Case) и нефункциональные требования
  • Разработаны UML-диаграммы: классов, активности, последовательности, компонентов, развертывания
  • Спроектированы логическая и даталогическая модели БД (PostgreSQL)
  • Разработана OpenAPI 3.0 спецификация для всех эндпоинтов

Разработка бэкенда (Python/Django/DRF):

  • Реализованы 4 приложения: users (JWT-аутентификация, профиль, адреса), catalog (товары, категории, бренды), cart (сессионная + пользовательская корзина с мержем), orders (заказы, статусы, админ-панель)
  • Реализована RBAC (пользователь/менеджер/admin)
  • Настроены CORS, пагинация, хранение секретов через .env

Разработка фронтенда (React/Vite):

  • Реализован пользовательский интерфейс: каталог, карточка товара, корзина, оформление заказа, профиль, авторизация/регистрация
  • Настроены маршрутизация и защищенные маршруты, интеграция с API через axios

Тестирование и документация:

  • Написаны HTTP-тесты для всех приложений
  • Составлена полная документация: анализ, история создания, скриншоты
  • Выполнена контейнеризация (Docker, Docker Compose)

Архитектура

Технический стек

Стек технологий:

  • Проектирование: Ramus, draw.io, IBM Rational Software Architect, Oracle DataModeler, PlantUML
  • Backend: Python 3, Django, Django REST Framework, JWT, SQLite
  • Frontend: React, Vite, ИИ
  • DevOps: Docker, Docker Compose, Git

Архитектурные решения

  • BFF (Backend for Frontend) — единый API для веб и мобильных клиентов
  • REST API с JSON-пакетами — изоляция логики отображения от бизнес-логики
  • Ленивая корзина — создается только при первом добавлении товара
  • Гостевая корзина — хранится в сессии, после авторизации сливается с пользовательской
  • Мягкое удаление для адресов доставки
  • RBAC — разделение прав для пользователей и менеджеров

Документация проекта

Анализ и проектирование

Все артефакты системного анализа собраны в документе:

API Документация


Реализация

Подробный чек-лист реализации доступен в Истории создания — от инициализации проекта до Docker-сборки.

Экраны системы доступны в Скринах работы:


Структура проекта

slay/
├── backend/
│   ├── cart/            # Приложение корзины
│   ├── catalog/         # Приложение каталога
│   ├── orders/          # Приложение заказов
│   ├── users/           # Приложение пользователей
│   ├── slay_api/        # Основные настройки проекта
│   ├── Dockerfile
│   ├── requirements.txt
│   ├── schema.yaml      # OpenAPI спецификация
│   └── data.json        # Фикстуры для БД
├── frontend/
│   ├── src/             # React компоненты
│   ├── Dockerfile
│   └── package.json
├── docs/
│   ├── attach/          # Изображения диаграмм и скриншоты
│   ├── plantuml_diagrams/ # Исходники диаграмм
│   ├── README.md        # Основной файл документации проекта  
│   ├── История создания.md
│   └── Скрины работы.md
├── docker-compose.yml
└── README.md

Запуск проекта (Docker)

# Собрать и запустить
docker-compose up --build

# Остановить
docker-compose down

Доступные адреса:

Тестовые пользователи (из фикстур):


Дальнейшее развитие (Roadmap)

  • Реализация фильтрации и поиска товаров
  • Интеграция с платежными системами
  • Добавление системы отзывов и рейтингов
  • Реализация push-уведомлений о статусе заказа
  • Поддержка мобильных устройств (iOS 15+, Android 10+)

About

E-commerce платформа для продажи косметики. Полный цикл: анализ предметной области, проектирование БД и архитектуры, разработка API (Django/DRF) и клиентского интерфейса (React). Документация: IDEF0, UML, OpenAPI.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors