Skip to content

⚡ Шаблон для создания backend приложений на фреймворке FastAPI в связке с Redis, Nginx и Mysql

License

Notifications You must be signed in to change notification settings

NeZorinEgor/FastAPI-Pattern

Repository files navigation

Шаблон FastPAI для быстрого старта

       

Шаблон создан для того, что бы можно было писать проект с бизнес-логики, без затрат времени на:

  1. подключения синхронного / асинхронного движка MySQL
  2. подключения Alembic миграций
  3. подключение прокси Nginx
  4. подключение кэша Redis
  5. установку 'портабельных' зависимостей через Dockerfile / docker-compose.yaml
# sample: session: AsyncSession = Depends(get_session)
async def get_session() -> AsyncSession:
    async with session_factory() as session:
        yield session
from src.database import Base
# Your models here ↓
from src.<your_service_name>.model imaport SomeModel

target_metadata = Base.metadata
upstream backend {
    server fastapi:5000;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
        }
}

Ревизии миграции:

  1. alembic revision --autogenerate -m "<migration message>"
    
  2. alembic upgrade head

Запуск

  1. git clone https://github.com/NeZorinEgor/FastAPI-Pattern.git
    
  2. cd  FastAPI-Pattern
    
  3. docker-compose up --build
    

About

⚡ Шаблон для создания backend приложений на фреймворке FastAPI в связке с Redis, Nginx и Mysql

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published