Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nezorinegor/fastapi-pattern
⚡ Шаблон для создания backend приложений на фреймворке FastAPI в связке с Redis, Nginx и Mysql
https://github.com/nezorinegor/fastapi-pattern
alembic fastapi mysql nginx redis
Last synced: 7 days ago
JSON representation
⚡ Шаблон для создания backend приложений на фреймворке FastAPI в связке с Redis, Nginx и Mysql
- Host: GitHub
- URL: https://github.com/nezorinegor/fastapi-pattern
- Owner: NeZorinEgor
- License: mit
- Created: 2024-06-23T06:40:42.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-29T13:47:00.000Z (3 months ago)
- Last Synced: 2024-08-29T15:04:15.499Z (3 months ago)
- Topics: alembic, fastapi, mysql, nginx, redis
- Language: Python
- Homepage:
- Size: 15.6 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Шаблон FastPAI для быстрого старта
### Шаблон создан для того, что бы можно было писать проект с бизнес-логики, без затрат времени на:
1. подключения синхронного / асинхронного движка `MySQL`
2. подключения `Alembic` миграций
3. подключение прокси `Nginx`
4. подключение кэша `Redis`
5. установку 'портабельных' зависимостей через `Dockerfile` / `docker-compose.yaml`### [Зависимость для работы с базой данных](src/database.py)
```python
# sample: session: AsyncSession = Depends(get_session)
async def get_session() -> AsyncSession:
async with session_factory() as session:
yield session
```### [Установка моделей для миграций](alembic/env.py)
```python
from src.database import Base
# Your models here ↓
from src..model imaport SomeModeltarget_metadata = Base.metadata
```### [Проксирование fastapi контейнера](nginx/conf.d/default.conf)
```bash
upstream backend {
server fastapi:5000;
}server {
listen 80;
location / {
proxy_pass http://backend;
}
}
```
### Ревизии миграции:
1. ```
alembic revision --autogenerate -m ""
```
2. ```python
alembic upgrade head
```### Запуск
1. ```
git clone https://github.com/NeZorinEgor/FastAPI-Pattern.git
```
2. ```
cd FastAPI-Pattern
```
3. ```
docker-compose up --build
```