Python 3.11 | FastAPI 0.109 | SQLAlchemy 2+ | AIOSQLite 0.20
FastAPI-приложение, получающее данные от пользователя с указанием устройства и возвращающее обработанную статистику.
Приложение было упаковано в Docker контейнер для простоты запуска.
Возвращает все данные записанные в БД.
URL: /data/
Метод: GET
Пример:
/data/
Возвращает конкретный объект данных по ID.
URL: /data/data_id/{data_id}/
Метод: GET
Пример:
/data/1/
Получаем все объекты данных по переданному в запросе устройству.
URL: /data/device/{device}
Метод: GET
Пример:
/data/device/IPhone/
Ожидает от пользователя JSON с указанием необходимых параметров.
URL: /data/
Метод: POST
Пример:
/data/
JSON:
{
"device": "string",
"x": 0,
"y": 0,
"z": 0
}
Высчитывает статистику за все время по указанному устройству.
URL: /data/statistics/{device}/
Метод: GET
Пример:
/data/statistics/IPhone/
Высчитывает статистику за указанное время по устройству.
URL: /data/statistics/
Метод: POST
Пример:
/data/statistics/
JSON:
{
"start_date": "2024-02-22",
"end_date": "2024-02-22",
"device": "IPhone"
}
git@github.com:Anstane/fastapi_app.git
cd fastapi_app
docker compose up --build
- Добавить модель, в которой будут храниться обработанные данные
- Сделать Celery-скрипт, который будет в фоновом формате подготавливать данные для модели со статистикой
- Реализовать автоматическое получение ID устройства через middleware
- Сделать нагрузочное тестирование на проект