Бэкенд для интернет-магазина. Проект полностью контейнеризирован с помощью Docker, использует Poetry для управления зависимостями и Celery/Redis для асинхронной обработки задач.
- Бэкенд: Python, Django, Django REST Framework
- Контейнеризация: Docker, Docker Compose
- Управление зависимостями: Poetry
- База данных: SQLite
- Асинхронные задачи: Celery & Redis
- API Документация: drf-spectacular (Swagger UI)
Для запуска проекта на вашем компьютере должен быть установлен Docker
git clone https://github.com/Nicksok2413/online_store.git
cd online_storeСкопируйте файл .env.example в новый файл .env.
cp .env.example .envОткройте .env и заполните значения:
- SECRET_KEY: Сгенерируйте новый секретный ключ.
- DEBUG: Установите True для разработки.
Задайте учетные данные для администратора, который будет создан автоматически.
- ADMIN_USERNAME: Имя пользователя (логин).
- ADMIN_PASSWORD: Пароль.
- ADMIN_EMAIL: Email.
Выполните команду из корневой папки проекта:
docker compose up --build -d docker compose up -d--build: Необходимо выполнить при самом первом запуске или после внесения изменений вDockerfileилиpyproject.toml.-d: Запускает контейнеры в фоновом режиме (detached mode).
Внимание! Первый запуск может занять несколько минут.
Что происходит при первом запуске автоматически:
- Применяются миграции базы данных.
- Создается суперпользователь с данными из
.envфайла. - Загружаются все тестовые данные (фикстуры).
- Копируются начальные изображения для товаров и категорий.
Приложение будет доступно по адресу http://127.0.0.1:8000/.
-
Админ-панель: http://127.0.0.1:8000/admin/
- Логин/Пароль: Указанные вами в файле
.env.
- Логин/Пароль: Указанные вами в файле
-
API Документация (Swagger): http://127.0.0.1:8000/api/docs/
Все команды выполняются из корневой папки проекта.
-
Остановить все сервисы:
docker compose down
-
Посмотреть логи всех сервисов в реальном времени:
docker compose logs -f
-
Посмотреть логи конкретного сервиса (например,
webилиworker):docker compose logs -f web