Skip to content

github-main-user/e-chain-platform

Repository files navigation

Электронная торговая сеть

Описание

Веб-приложение на Django + DRF для моделирования иерархической сети продажи электроники.
Сеть состоит из трёх уровней:

  1. Завод (уровень 0)
  2. Розничная сеть (уровень 1)
  3. Индивидуальный предприниматель (уровень 2)

Каждое звено связано с одним поставщиком, имеет собственные продукты и может иметь задолженность перед поставщиком.

Технологии

  • Python 3.13+
  • Django 5+
  • Django REST Framework
  • PostgreSQL

Установка и запуск

1. Клонирование репозитория

git clone https://github.com/github-main-user/e-chain-platform.git
cd e-chain-platform

2. Настройка переменных окружения

Скопируйте файл .env.example и измените переменные в нём:

cp .env.example .env

3. Запуск

Для запуска потредуется docker compose:

docker compose up --build -d

Приложение будет доступно на http://localhost:8000/:

  • http://localhost:8000/api/docs/ - документация
  • http://localhost:8000/admin/ - админ панель

Админ-панель

Для доступа в админ панель нужно создать суперпользователя:

docker compose exec web python manage.py createsuperuser

Особенности:

  • фильтр по городу
  • ссылка на поставщика на странице объекта
  • admin-action: очистить задолженность у выбранных

Фикстуры

Для теста так-же заготовлены фикстуры:

docker compose exec web python manage.py loaddata fixtures.json

Права доступа

Аутентификация реализована через JWT (только для активных сотрудников is_active=True). К API имеют доступ только активные сотрудники (is_active=True). Анонимные пользователи или неактивные сотрудники получают 403 Forbidden.

Примечания

  • Глубина иерархии ограничена 3 уровнями (0–2).
  • Циклические связи между поставщиками запрещены.
  • Поле debt изменяется только через админ-панель, а не через API.
  • Все миграции и фикстуры можно применить командой:

Возможные улучшения

  • Добавить пагинацию и сортировку API.
  • Расширить уровни иерархии.
  • Сделать фронтенд-страницу для визуализации структуры сети.

About

Hierarchical network management system for electronics sales with REST API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published