update readme
This commit is contained in:
99
README.md
99
README.md
@@ -0,0 +1,99 @@
|
||||
# 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 <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 схемы).
|
||||
|
||||
---
|
||||
|
||||
## 📄 Лицензия
|
||||
|
||||
Этот проект учебный.
|
||||
|
||||
Reference in New Issue
Block a user