Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

SpriteSpirit/python-electronic-network

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.