# Dressed for Success - Интернет-магазин одежды ## О проекте Интернет-магазин модной одежды Dressed for Success, созданный с использованием современных технологий: - **Фронтенд**: Next.js, React, TypeScript, Tailwind CSS - **Бэкенд**: FastAPI, SQLAlchemy, PostgreSQL - **Развертывание**: Docker, Docker Compose ## Требования Для запуска проекта вам потребуются: - Docker - Docker Compose ## Запуск проекта ### 1. Клонирование репозитория ```bash git clone https://github.com/username/dressed_for_success_store.git cd dressed_for_success_store ``` ### 2. Запуск через Docker Compose ```bash docker-compose up -d ``` Это запустит: - Бэкенд на порту 8000 - Фронтенд на порту 3000 - PostgreSQL на порту 5432 ### 3. Доступ к приложению - **Фронтенд**: http://localhost:3000 - **API бэкенда**: http://localhost:8000/api - **Документация API**: http://localhost:8000/docs ## Остановка проекта ```bash docker-compose down ``` Для удаления томов (данных базы данных и загруженных файлов): ```bash 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 ``` ## Лицензия [MIT License](LICENSE) # Сначала получаем SSL-сертификат ./init-letsencrypt.sh ваш-домен.ru # Затем запускаем сервисы docker-compose -f docker-compose.prod.yml up -d