update readme

This commit is contained in:
Meor
2025-09-16 02:29:51 +03:00
parent fac5f36fc3
commit 13cc326a32

View File

@@ -0,0 +1,99 @@
# 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 схемы).
---
## 📄 Лицензия
Этот проект учебный.