Оглавление:
- Описание
- Цель
- Технические требования
- Функциональность
- Структура проекта
- Установка
- Загрузка фикстур
- Создание администратора
- Коллекция Postman
- Авторизация
- API документация
- Исполнитель
- Автор
Данный проект реализует онлайн платформу-торговую сеть электроники с API-интерфейсом и админ-панелью.
- Создать систему для управления сетью по продаже электроники, включающую в себя:
- Иерархическую структуру сети с тремя уровнями: завод, розничная сеть, индивидуальный предприниматель.
- Управление данными о каждом звене сети: название, контакты, продукты, поставщик, задолженность.
- API для взаимодействия с данными сети.
- Админ-панель для просмотра и управления данными.
- Python 3.8+
- Django 3+
- DRF 3.10+
- PostgreSQL 10+
- Админ-панель:
- Вывод всех созданных объектов сети.
- Добавление, редактирование и удаление объектов сети.
- Фильтр по названию города.
- Админ action для очистки задолженности перед поставщиком у выбранных объектов.
- API:
- CRUD операции для модели поставщика (запрет обновления поля "Задолженность перед поставщиком").
- Фильтр объектов по стране.
- Безопасность:
- Доступ к API разрешен только для активных сотрудников.
config/:settings.py: Настройки проекта.urls.py: Управление URL-адресами.
sales_network/:models.py: Определяет модели для сети.serializers.py: Определяет сериализаторы для API.permissions.py: Определяет разрешения для API.admin.py: Определяет админ-панель.urls.py: Управление URL-адресами.views.py: Определяет представления для API.
users/:models.py: Определяет модели для сети.admin.py: Определяет админ-панель.urls.py: Управление URL-адресами.views.py: Определяет представления для API.
git clone <репозиторий>pip install poetrypoetry installpoetry shellpython manage.py makemigrationspython manage.py migratepython manage.py runserver
python manage.py loaddata fixtures/data_base.json
python manage.py csu
- Скачать коллекцию
- В postman импортировать коллекцию
- Запустить endpoints по порядку, начиная с получения токена
- Токен в Scripts сохраняет значение в переменную
{{token}}и во всех поинтах авторизация наследуется от корневой директории
- Для доступа к API необходимо использовать JWT-токен.
- Токен можно получить через endpoint
{{base_url}}/users/token/
- Документация по API доступна по адресам:
{{base_url}}/api/docs/{{base_url}}/api/redoc/{{base_url}}/api/docs/
Халуева Ангелина||Sprite_Spirit
Skypro