Backend: Основной API

Основной API реализован на Python 3.10 на асинхронном фреймворке FastAPI. Рабочая папка - ./sarah.

.
├── sarah/
│   ├── anomaly/
│   │   ├── api.py
│   │   ├── db.py
│   │   └── filters.py
│   ├── applications/       --> Основной API
│   │   └── api.py3 минуты
│   ├── api.py              --> Роутер FastAPI
│   ├── config.py           --> Конфигурация приложения
│   ├── conftest.py
│   ├── db.py               --> Управление сессиями базы данных
│   └── main.py             --> Корневой файл приложения
└── gunicorn_conf.py

Работа с базой данных осуществляется с помощью SQLAlchemy Core, использую асинхронный движок asyncpg.

Основной путь запросов на backend - функция get_applications (./sarah/applications/api.py, путь GET .../api/applications/). Путь принимает в качестве query параметров текстовые и временные фильтры описанные в документации а также параметр текстового поиска.

В качестве рабочего ASGI сервера используется Uvicorn.



Next: Наша философия решения