112 lines
3.1 KiB
Markdown
112 lines
3.1 KiB
Markdown
# 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 |