Перейти к содержанию

Backend

FastAPI-приложение с модульной архитектурой, кастомным ORM и автогенерацией CRUD API.

Ключевые концепции

Environment — центральный объект приложения. Содержит models, apps, settings и управляет жизненным циклом сервисов.

Service — базовый класс модулей. Каждый модуль (chat, security, users...) — это Service с методами startup(), shutdown(), post_init().

DotORM — асинхронный ORM с декларативными моделями, автогенерацией DDL и CRUD API.

Entry Points

backend/main.py
from contextlib import asynccontextmanager
from fastapi import FastAPI

@asynccontextmanager
async def lifespan(application: FastAPI):
    """Application lifecycle — запуск и остановка сервисов."""
    env = Environment(Settings, Models, Apps)
    application.state.env = env

    await env.setup_services()
    await env.start_services_before(application)
    await env.load_routers(application)
    await env.start_services_after(application)
    await env.start_post_init(application)

    yield

    await env.stop_services(application)

app = FastAPI(lifespan=lifespan)

Разделы

Раздел Описание
Архитектура Environment, Service, жизненный цикл
DotORM Модели, поля, запросы, связи
Модули Чат, Security и другие CRM-модули
Тестирование pytest, fixtures, integration tests