dressed_for_succes_store/README.md
2025-04-03 23:17:57 +07:00

3.1 KiB
Raw Permalink Blame History

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. Доступ к приложению

Остановка проекта

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

Лицензия

MIT License

Сначала получаем SSL-сертификат

./init-letsencrypt.sh ваш-домен.ru

Затем запускаем сервисы

docker-compose -f docker-compose.prod.yml up -d