/py_diplom_fpd_76

REST API, celery, serializers

Primary LanguagePython

Дипломная работа к профессии Python-разработчик «API Сервис заказа товаров для розничных сетей».

Описание

Приложение предназначено для автоматизации закупок в розничной сети. Пользователи сервиса — покупатель (менеджер торговой сети, который закупает товары для продажи в магазине) и поставщик товаров.

Клиент (покупатель):

  • Менеджер закупок через API делает ежедневные закупки по каталогу, в котором представлены товары от нескольких поставщиков.
  • В одном заказе можно указать товары от разных поставщиков — это повлияет на стоимость доставки.
  • Пользователь может авторизироваться, регистрироваться и восстанавливать пароль через API.

Поставщик:

  • Через API информирует сервис об обновлении прайса.
  • Может включать и отключать прием заказов.
  • Может получать список оформленных заказов (с товарами из его прайса).

Задача

Необходимо разработать backend-часть (Django) сервиса заказа товаров для розничных сетей.

Базовая часть:

  • Разработка сервиса под готовую спецификацию (API);
  • Возможность добавления настраиваемых полей (характеристик) товаров;
  • Импорт товаров;
  • Отправка накладной на email администратора (для исполнения заказа);
  • Отправка заказа на email клиента (подтверждение приема заказа).

Продвинутая часть:

  • Экспорт товаров;
  • Админка заказов (проставление статуса заказа и уведомление клиента);
  • Выделение медленных методов в отдельные процессы (email, импорт, экспорт).

Установка

Склонируйте репозиторий с помощью git

git clone <url>

Создать и активировать виртуальное окружение Python.

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Создать и заполнить .env файл в директории netology_diplom

DB_HOST=localhost
DB_PORT=5432
DB_NAME=
DB_USER=
DB_PASSWORD=
EMAIL_HOST=smtp.gmail.com
EMAIL_HOST_PORT=465
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_HOST_USER=
DEFAULT_FROM_EMAIL=email

Выполнить следующие команды:

  • Команда для создания миграций приложения для базы данных
python manage.py makemigrations
python manage.py migrate
  • Команда для запуска celery:
celery -A celery worker -l INFO 
  • Команда для запуска сервера:
python manage.py runserver

Приложение будет доступно по адресу: http://127.0.0.1:8000/