Приложение розничной сети состоящая из 3-ёх уровней иерархии.
Note
Важно при создании нового звена цепи, надо указать <Уровень звена сети> (UnionChain.level_union) и сохранить этот объект. Для отображении в поле <Поставщик от звена сети> (UnionChain.supplier) поставщиков и выбрать поставщика. Можно использовать Postman для работы с API программы для этого зайти в Postman -> file -> import. И загрузить туда файл: ecletronic_shop.postman_collection.json
Данный проект содержит в себе 2 приложения:
- retail
- позволяет работать с привычками
- Contact(адрес звена цепи)
- Product(произведенный продукт звеном цепи)
- UnionChain(звено цепи с опеределением уровня в иерархии)
- позволяет работать с привычками
- users
- служит для аунтификации пользователя
- содержит модели User
- служит для аунтификации пользователя
Что делает приложение?
Функционал:- Регистрация пользователя, получение токена и использование в запросах Bearar-токена
- Можно добавлять, изменять, смотреть и удалять звено цепи, кроме поля UnionChain.debt, но только в REST API Django.
- Только активные пользователи могут использовать API. Делается за счет выдачи Bearer-токена, т.е. проверка состояние пользователя.
- Можно фильтровать по городу, обнулить задолжность и имеется ссылка на поставщика в Админ-панели Django
- Автоматичекое обновление уровня в розничной сети по отношению к поставщику.
- Выбрать поставщика можно лишь из нижнего уровня по иеррархии, и только они доступны, кроме связи Завод-Завод.
Important
Добавлен файл https://github.com/Plutarxi99/mailing_list/blob/main/.env.sample (для использования надо привести к ввиду <.env>) с помощью, которого можно настроить работу проекта. В нем лежат настройки (далее идут примеры заполнения полей):
Настройки, которые надо установить для работы приложения
| Значение | Содержание | Примечание |
|---|---|---|
| SECRET_KEY | django-insecure-hu213gr51uh234gbrtf34oqufg35835g3q5g | код генерируется автоматически при создании приложения |
| POSTGRES_DB | NAME_BD | название базы данных |
| POSTGRES_USER | USER_BD | название пользователя базы данных |
| POSTGRES_PASSWORD | PASSWORD_BD | пароль базы данных |
| POSTGRES_HOST | HOST_BD | название твоего сервиса используемый для контейнеризации |
| SUPERUSER_EMAIL | email_superuser | установить почту суперюзера |
| SUPERUSER_PASSWORD | password_superuser | установить пароль суперюзера |
Как использовать?
-
Копируем код с git:
git clone -
Создаем виртуальное окружение:
python3 -m venv envsource env/bin/activate -
После установки нужных настроук в файле <.env>. Надо выполнить команду для установки пакетов:
pip install -r requirements.txt -
Применить миграции:
python3 manage.py migrate -
Создать суперюзера:
python3 manage.py ccsu -
Заполнить базу данных, готовыми данными:
python3 manage.py loaddata retail.json
Что использовалось в приложение?
Функционал:- Подключено rest_framework для использоваеть API приложения
- Подключено rest_framework_simplejwt для использоваеть API приложения авторизации пользователя Bearer token
- Подключено django_filters для использоваеть API приложения в публичных привычках филтрации по приятным привычкам и по дате начало привычек