Skip to content

Full-featured e-commerce backend handling product catalogs, shopping carts, user authentication, and order processing.

Notifications You must be signed in to change notification settings

Nicksok2413/online_store

Repository files navigation

Интернет-магазин на Django

Бэкенд для интернет-магазина. Проект полностью контейнеризирован с помощью 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/.

Доступ

Полезные команды Docker Compose

Все команды выполняются из корневой папки проекта.

  • Остановить все сервисы:

      docker compose down
  • Посмотреть логи всех сервисов в реальном времени:

      docker compose logs -f
  • Посмотреть логи конкретного сервиса (например, web или worker):

      docker compose logs -f web

About

Full-featured e-commerce backend handling product catalogs, shopping carts, user authentication, and order processing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published