Настоящий проект реализован в соответствие с тестовым заданием отдела бэкенда Сарафан.
- Программа выводит в консоли n первых элементов последовательности 1223334444.. (число повторяется столько раз, чему оно равно). Задача решена в двух вариантах - через цикл и через использование генератора. Второй вариант более эффективен с точки зрения использования памяти. Решение находится в файле task_1.py в корне проекта.
- Реализовать магазин продуктов со следующим функционалом:
- проект реализован с использование Django Rest Framework, база данных Postgresql
- в админке имеется возможность создания, редактирования, удаления категорий и подкатегорий товаров. Эндпоинты для данных классов реализованы только на создание и просмотр списка категорий и подкатегорий, реализована пагинация.
- в админке имеется возможность создания, редактирования, удаления продуктов. Продукты относятся к определенной подкатегории и, соответственно, подкатегории. Имеют наименование, slug-имя, изображения в трех размерах, цену.
- реализован эндпоинт добавления и удаления продукта из корзины, очистки корзины через определение функций add_product, remove_product и clear_cart.
- реализован эндпоинт вывода списка продуктов в корзине с подсчетом общей стоимости корзины и количества товаров в ней.
- операции по эндпоинтам категорий и продуктов может осуществлять любой пользователь,
- операции по эндпоинтам корзины может осуществлять только авторизованный пользователь и только со своей корзиной.
- реализована авторизация по токену через библиотеку simple-jwt.
- операции по эндпоинтам может осуществлять только владелец корзины (прописан кастомный permission)
- Python 3.7 или выше
- pip
- virtualenv
- Склонируйте репозиторий:
git clone https://github.com/Khaidoukova/Sarafan.git
- Создайте и активируйте виртуальное окружение:
python -m venv venv Linux/Mac OS: source venv/bin/activate, Windows: venv\Scripts\activate
- Установите зависимости:
pip install -r requirements.txt
- Создайте базу данных:
psql -U postgres
postgres=# create database sarafan;
- Выполните миграции:
python manage.py makemigrations
python manage.py migrate
- Создайте суперпользователя и получите токен от лица суперпользователя для доступа к корзине:
python manage.py createsuperuser
{POST} http://127.0.0.1:8000/users/token/
- Запустите сервер разработки:
python manage.py runserver
- Откройте браузер и перейдите по адресу http://127.0.0.1:8000/.
Документация API доступна по адресу http://127.0.0.1:8000/swagger/.