Платформа для онлайн-продаж, разработанная на фреймворке Django. Проект позволяет просматривать каталог товаров, фильтровать и сортировать их, оставлять отзывы, управлять корзиной и оформлять заказы с фиктивной оплатой.
- Python 3.12
- Django 5.x (или ваша версия)
- Django REST Framework (для API)
- PostgreSQL (база данных)
- Black (форматирование кода по стандарту PEP 8)
- Git (система контроля версий)
-
Клонируйте репозиторий:
git clone https://gitlab.skillbox.ru/anna_prokusheva/python_django_diploma cd python_django_diploma -
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # Для Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения:
- Скопируйте файл .env.example в .env (если он есть) или создайте .env вручную.
- Укажите в нём параметры подключения к вашей базе данных PostgreSQL.
- Примените миграции (включая начальную миграцию с тестовыми данными):
python manage.py migrate
- Запустите сервер разработки:
python manage.py runserver 0.0.0.0:8000Для демонстрации и тестирования в проекте предустановлены следующие пользователи (пароль для всех: admin): Администратор Логин: admin Панель управления: http://127.0.0.1:8000/admin/ Покупатель Логин: newuser
- Корзина сохраняется для незарегистрированных пользователей (через сессию) и переносится в аккаунт при авторизации.
- Реализовано мягкое удаление (soft delete) для товаров, категорий, заказов и пользователей.
- Фиктивная оплата имитирует работу с очередью: чётные номера карт (не оканчивающиеся на 0) проходят успешно, нечётные или оканчивающиеся на 0 генерируют случайную ошибку.