Files
sqlalchemy-fastapi-pydentic…/README.md
2025-09-16 02:31:52 +03:00

100 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# sqlalchemyfastapipydenticpytest
пет‑проект для интеграции FastAPI, SQLAlchemy, Pydantic и Pytest.
---
## 🔍 Описание
Проект демонстрирует, как:
- работать с **FastAPI**: REST API эндпоинты, маршруты, зависимости и схемы;
- использовать **SQLAlchemy** для работы с базой данных: модели, сессии, CRUDоперации;
- валидировать данные через **Pydantic**;
- тестировать всё через **Pytest**: модульные и интеграционные тесты.
Цель — собрать всё вместе и понять best practices.
---
## 📁 Структура проекта
```text
/
├── server/
│ ├── … # код FastAPI + SQLAlchemy + модели, схемы и маршруты
├── run.py # точка входа
├── requirements # зависимости
├── README.md # этот файл
├── .gitignore
└── Plan # план/заметки по проекту
```
---
## ⚙️ Установка и запуск
```bash
# клонировать репозиторий
git clone <URL репо>
cd sqlalchemy-fastapi-pydentic-pytest
# создать виртуальное окружение
python3 -m venv venv
source venv/bin/activate # в Linux/macOS
venv\Scripts\activate # в Windows
# установить зависимости
pip install -r requirements
# запустить приложение
python run.py
# по умолчанию запустится FastAPIсервер (напр. localhost:8000)
```
---
## 🧪 Тестирование
```bash
# запустить все тесты
pytest
```
Описание тестов:
- тесты на CRUD операции;
- тесты схем Pydantic;
- тесты ответов API (возможно с тестовым клиентом FastAPI).
---
## 🛠 Используемые технологии
| Компонент | Версия / Пример использования |
|-------------------|-------------------------------------|
| Python | ≥ 3.x |
| FastAPI | фреймворк для вебAPI |
| SQLAlchemy | ORM для работы с базой данных |
| Pydantic | валидация и сериализация данных |
| Pytest | тестирование |
---
## 🚧 Возможности для доработки / TODO
- добавление миграций (например, с Alembic);
- обработка ошибок и кастомные исключения;
- логирование;
- настройка CI/CD;
- защита маршрутов (аутентификация / авторизация);
- конфигурация через envпеременные;
- более подробная документация API (например, OpenAPI схемы).
---
## 📄 Лицензия
Этот проект учебный.