Веб-приложение на Django + DRF для моделирования иерархической сети продажи электроники.
Сеть состоит из трёх уровней:
- Завод (уровень 0)
- Розничная сеть (уровень 1)
- Индивидуальный предприниматель (уровень 2)
Каждое звено связано с одним поставщиком, имеет собственные продукты и может иметь задолженность перед поставщиком.
- Python 3.13+
- Django 5+
- Django REST Framework
- PostgreSQL
git clone https://github.com/github-main-user/e-chain-platform.git
cd e-chain-platformСкопируйте файл .env.example и измените переменные в нём:
cp .env.example .envДля запуска потредуется 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.
- Расширить уровни иерархии.
- Сделать фронтенд-страницу для визуализации структуры сети.