| .cursor/rules | ||
| backend | ||
| certbot | ||
| frontend | ||
| land_comingsoon | ||
| Logo DRESSED FOR SUCCESS | ||
| nginx | ||
| php | ||
| .dockerignore | ||
| .DS_Store | ||
| .env.production | ||
| .gitignore | ||
| docker-compose.prod.yml | ||
| docker-compose.yml | ||
| Dockerfile.backend | ||
| Dockerfile.frontend | ||
| init-letsencrypt.sh | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Dressed for Success - Интернет-магазин одежды
О проекте
Интернет-магазин модной одежды Dressed for Success, созданный с использованием современных технологий:
- Фронтенд: Next.js, React, TypeScript, Tailwind CSS
- Бэкенд: FastAPI, SQLAlchemy, PostgreSQL
- Развертывание: Docker, Docker Compose
Требования
Для запуска проекта вам потребуются:
- Docker
- Docker Compose
Запуск проекта
1. Клонирование репозитория
git clone https://github.com/username/dressed_for_success_store.git
cd dressed_for_success_store
2. Запуск через Docker Compose
docker-compose up -d
Это запустит:
- Бэкенд на порту 8000
- Фронтенд на порту 3000
- PostgreSQL на порту 5432
3. Доступ к приложению
- Фронтенд: http://localhost:3000
- API бэкенда: http://localhost:8000/api
- Документация API: http://localhost:8000/docs
Остановка проекта
docker-compose down
Для удаления томов (данных базы данных и загруженных файлов):
docker-compose down -v
Разработка
Структура проекта
.
├── backend/ # Бэкенд на FastAPI
│ ├── app/ # Код приложения
│ ├── uploads/ # Загружаемые файлы
│ └── requirements.txt # Зависимости Python
│
├── frontend/ # Фронтенд на Next.js
│ ├── app/ # Код Next.js приложения
│ ├── components/ # React компоненты
│ ├── lib/ # Библиотеки и утилиты
│ └── public/ # Статические файлы
│
├── docker-compose.yml # Конфигурация Docker Compose
├── Dockerfile.backend # Dockerfile для бэкенда
└── Dockerfile.frontend # Dockerfile для фронтенда
Переменные окружения
Фронтенд
Основные переменные окружения для фронтенда (файл .env.local или .env.docker):
NEXT_PUBLIC_API_URL=http://localhost:8000/api
NEXT_PUBLIC_BASE_URL=http://localhost:8000
NEXT_PUBLIC_DEBUG=false
NEXT_PUBLIC_MOCK_API=false
Бэкенд
Основные переменные окружения для бэкенда (файл .env или .env.docker):
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/shop_db
SECRET_KEY=supersecretkey
DEBUG=0
UPLOAD_DIRECTORY=/app/uploads
Лицензия
Сначала получаем SSL-сертификат
./init-letsencrypt.sh ваш-домен.ru
Затем запускаем сервисы
docker-compose -f docker-compose.prod.yml up -d