dressed_for_succes_store/backend/docs
ilya_zahvatkin 41c1385546 for deploy
2025-05-01 18:29:38 +07:00
..
api_documentation.md for deploy 2025-05-01 18:29:38 +07:00
cdek_integration.md Обновлены зависимости в файле requirements.txt, включая FastAPI и Alembic. Добавлены новые настройки для CDEK API в конфигурацию приложения. Обновлены компоненты фронтенда, включая стили и структуру, для улучшения пользовательского интерфейса. Удалены устаревшие файлы и исправлены ошибки в обработке изображений. 2025-04-01 17:47:23 +07:00
database_structure.md for deploy 2025-05-01 18:29:38 +07:00
orders_api.md for deploy 2025-05-01 18:29:38 +07:00
README.md for deploy 2025-05-01 18:29:38 +07:00

Документация бэкенда интернет-магазина одежды

Содержание

  1. API документация - Подробное описание всех API эндпоинтов
  2. API заказов - Подробное описание API заказов
  3. Структура базы данных - Описание таблиц и связей в базе данных

Технологический стек

  • Язык программирования: Python 3.10+
  • Фреймворк: FastAPI
  • ORM: SQLAlchemy 2.0
  • База данных: PostgreSQL
  • Аутентификация: JWT (JSON Web Tokens)

Архитектура приложения

Приложение построено по принципу многослойной архитектуры:

  1. Роутеры (Routers) - Обрабатывают HTTP-запросы и ответы
  2. Сервисы (Services) - Содержат бизнес-логику приложения
  3. Репозитории (Repositories) - Отвечают за взаимодействие с базой данных
  4. Модели (Models) - Описывают структуру таблиц базы данных
  5. Схемы (Schemas) - Описывают структуру данных для API (Pydantic модели)

Структура проекта

backend/
├── app/
│   ├── __init__.py
│   ├── main.py           # Точка входа в приложение
│   ├── config.py         # Конфигурация приложения
│   ├── core.py           # Основные функции и зависимости
│   ├── models/           # SQLAlchemy модели
│   │   ├── __init__.py
│   │   ├── user_models.py
│   │   ├── catalog_models.py
│   │   ├── order_models.py
│   │   ├── review_models.py
│   │   └── content_models.py
│   ├── schemas/          # Pydantic схемы
│   │   ├── __init__.py
│   │   ├── user_schemas.py
│   │   ├── catalog_schemas.py
│   │   ├── order_schemas.py
│   │   ├── review_schemas.py
│   │   └── content_schemas.py
│   ├── repositories/     # Репозитории для работы с БД
│   │   ├── __init__.py
│   │   ├── user_repo.py
│   │   ├── catalog_repo.py
│   │   ├── order_repo.py
│   │   ├── review_repo.py
│   │   └── content_repo.py
│   ├── services/         # Бизнес-логика
│   │   ├── __init__.py
│   │   ├── user_service.py
│   │   ├── catalog_service.py
│   │   ├── order_service.py
│   │   ├── review_service.py
│   │   └── content_service.py
│   └── routers/          # API эндпоинты
│       ├── __init__.py
│       ├── auth_router.py
│       ├── user_router.py
│       ├── catalog_router.py
│       ├── cart_router.py
│       ├── order_router.py
│       ├── review_router.py
│       ├── content_router.py
│       └── analytics_router.py
├── alembic/              # Миграции базы данных
├── tests/                # Тесты
└── docs/                 # Документация
    ├── README.md
    ├── api_documentation.md
    └── database_structure.md

Запуск приложения

Установка зависимостей

pip install -r requirements.txt

Настройка переменных окружения

Создайте файл .env в корне проекта со следующими переменными:

DATABASE_URL=postgresql://user:password@localhost:5432/db_name
SECRET_KEY=your_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

Запуск сервера разработки

uvicorn app.main:app --reload

Запуск миграций

alembic upgrade head

Документация API

После запуска приложения, документация API доступна по адресу: