Skip to content

Онлайн платформа торговой сети электроники

Notifications You must be signed in to change notification settings

yury-yury/test_task_1_for_CC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

В данном задании вам предлагается разработать онлайн платформу торговой сети электроники. Технические требования: Python 3.8+ Django 3+ DRF 3.10+ PostgreSQL 10+

При выполнении тестового задания вы можете дополнительно использовать любые сторонние Python библиотеки, без всяких ограничений.

Задание

Создайте веб-приложение, с API интерфейсом и админ-панелью.
Создайте базу данных используя миграции Django.

Требования к реализации:

Необходимо реализовать модель сети по продаже электроники.

Сеть должна представлять собой иерархическую структуру из 3 уровней:
    Завод;
    Розничная сеть;
    Индивидуальный предприниматель.

Каждое звено сети ссылается только на одного поставщика оборудования (не обязательно предыдущего по иерархии). Важно отметить, что уровень иерархии определяется не названием звена, а отношением к остальным элементам сети, т.е. завод всегда находится на 0 уровне, а если розничная сеть относится напрямую к заводу, минуя остальные звенья - её уровень - 1.
Каждое звено сети должно обладать следующими элементами:
    Название;
    Контакты:
        Email;
        Страна;
        Город;
        Улица;
        Номер дома;
    Продукты:
        Название;
        Модель;
        Дата выхода продукта на рынок;
    Поставщик (предыдущий по иерархии объект сети);
    Задолженность перед поставщиком в денежном выражении с точностью до копеек;
    Время создания (заполняется автоматически при создании).
Сделать вывод в админ-панели созданных объектов

На странице объекта сети добавить:
    ссылку на «Поставщика»;
    фильтр по названию города;
    «admin action», очищающий задолженность перед поставщиком у выбранных объектов.
Используя DRF, создать набор представлений:

CRUD для модели поставщика (запретить обновление через API поля «Задолженность перед поставщиком»);

Добавить возможность фильтрации объектов по определенной стране.
Настроить права доступа к API так, чтобы только активные сотрудники имели доступ к API.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Для запуска проекта необходимо создать в корневой директории проекта файл .env и записать в него следующие переменные для использования базы данных PostgreSQL: DB_ENGINE=django.db.backends.postgresql DB_NAME=... DB_USER=... DB_PASSWORD=... DB_HOST=... DB_PORT=... На сервере PostgreSQL необходимо создать базу данных.

Установить необходимые библиотеки с помощью команды в терминале $ pip install -r requirements.txt

Необходимо применить миграции к базе данных с помощью команды в терминале $ python3 manage.py migrate

Для запуска приложения необходимо ввести команду в терминале $ python3 manage.py runserver

About

Онлайн платформа торговой сети электроники

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages