Pet-проект по созданию полнофункционального Backend'а интернет-магазина одежды с использованием современного стека технологий.
- ✅ Полноценный REST API для интернет-магазина
- ✅ Система управления товарами и категориями
- ✅ Управление заказами и корзиной
- ✅ Аутентификация и авторизация пользователей
- ✅ Redis кэширование для повышения производительности
- ✅ Контейнеризация с Docker
- ✅ Готов к production развертыванию
- Backend: Django + Django REST Framework
- База данных: PostgreSQL
- Кэширование: Redis
- Контейнеризация: Docker & Docker Compose
- Code Quality: Flake8
- Production: VDS Selectel + .ru домен
Django-Store-Backend/
├── common/ # Общие компоненты и утилиты
├── products/ # Управление товарами и категориями
├── orders/ # Система заказов и корзины
├── users/ # Пользователи и аутентификация
├── store/ # Основные настройки Django
├── media/ # Загружаемые файлы (изображения товаров)
├── static/ # Статические файлы
├── redisdata/ # Данные Redis
├── docker-compose.yaml # Конфигурация Docker
├── requirements.txt # Python зависимости
└── .flake8 # Настройки линтера
- Docker и Docker Compose
- Python 3.8+
- Git
- Клонируйте репозиторий:
git clone https://github.com/ChayannFamali/Django-Store-Backend.git
cd Django-Store-Backend
docker-compose up -d
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
docker-compose exec web python manage.py collectstatic --noinput
Проект использует Docker Compose со следующими сервисами:
- web - Django приложение
- db - PostgreSQL база данных
- redis - Redis для кэширования
GET /api/products/
- Список всех товаровGET /api/products/{id}/
- Детали товараPOST /api/products/
- Создание товара (admin)PUT /api/products/{id}/
- Обновление товара (admin)DELETE /api/products/{id}/
- Удаление товара (admin)
GET /api/orders/
- Список заказов пользователяPOST /api/orders/
- Создание заказаGET /api/orders/{id}/
- Детали заказа
POST /api/users/register/
- РегистрацияPOST /api/users/login/
- АвторизацияGET /api/users/profile/
- Профиль пользователяPUT /api/users/profile/
- Обновление профиля
Проект был успешно развернут в production с использованием:
- VDS: Selectel
- Домен: .ru домен
- Веб-сервер: Nginx
- WSGI: Gunicorn
- SSL: Let's Encrypt
- Настройка VDS сервера
- Установка Docker и Docker Compose
- Конфигурация Nginx как reverse proxy
- Настройка SSL сертификатов
- Настройка автоматических бэкапов БД