# sqlalchemy‑fastapi‑pydentic‑pytest Изучительный пет‑проект для интеграции 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 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 схемы). --- ## 📄 Лицензия Этот проект учебный.