Skip to content

Разработка онлайн платформы торговой сети электроники

Notifications You must be signed in to change notification settings

SpriteSpirit/python-electronic-network

Repository files navigation

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

Оглавление:

  1. Описание
  2. Цель
  3. Технические требования
  4. Функциональность
  5. Структура проекта
  6. Установка
  7. Загрузка фикстур
  8. Создание администратора
  9. Коллекция Postman
  10. Авторизация
  11. API документация
  12. Исполнитель
  13. Автор

Описание проекта:

Данный проект реализует онлайн платформу-торговую сеть электроники с 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.

Установка:

  1. git clone <репозиторий>
  2. pip install poetry
  3. poetry install
  4. poetry shell
  5. python manage.py makemigrations
  6. python manage.py migrate
  7. python manage.py runserver

Загрузка фикстур

python manage.py loaddata fixtures/data_base.json

Создание администратора

python manage.py csu

Коллекция Postman

  1. Скачать коллекцию
  2. В postman импортировать коллекцию
  3. Запустить endpoints по порядку, начиная с получения токена
  4. Токен в Scripts сохраняет значение в переменную {{token}} и во всех поинтах авторизация наследуется от корневой директории

Авторизация:

  • Для доступа к API необходимо использовать JWT-токен.
  • Токен можно получить через endpoint {{base_url}}/users/token/

API документация:

  • Документация по API доступна по адресам:
    • {{base_url}}/api/docs/
    • {{base_url}}/api/redoc/
    • {{base_url}}/api/docs/

Исполнитель

Халуева Ангелина||Sprite_Spirit

Автор

Skypro

About

Разработка онлайн платформы торговой сети электроники

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages