Данный проект реализует тестовое задание для отдела бэкенд компании Сарафан. Тестовое задание так же включало решение задачи. Проект представляет собой backend для магазина продуктов с поддержкой следующего функционала:
- Управление продуктами, категориями и подкатегориями товаров через админку.
- Эндпоинты для получения списка категорий и продуктов с пагинацией.
- Функционал корзины для авторизованных пользователей с возможностью добавления, изменения, удаления товаров, очистки корзины и получения полного состава корзины.
- Авторизация по токену.
- Фикстуры для удобного наполнения данных.
- Поддержка документации API с помощью Swagger.
- Покрытие автотестами.
git clone https://github.com/Banan4k2002/grocery_store.git
Windows:
python -m venv venv
source venv/Scripts/activate
Linux/Mac:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
cd app/
pytest
python manage.py migrate
python manage.py createsuperuser
python manage.py loaddata fixtures/products.json
python manage.py runserver
Документация API доступна по адресу http://127.0.0.1:8000/swagger/
после запуска проекта.
- Python 3.9
- Django 4.2.16
- Django REST Framework 3.15.2
- Djoser 2.2.3
- Drf-yasg 1.21.7
- Pytest 8.3.3