-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Aleksandr Gerasimov edited this page Apr 23, 2026
·
2 revisions
Добро пожаловать в Wiki проекта Calorie Counter.
Этот проект считает КБЖУ и часть микронутриентов блюда по текстовому описанию или по фотографии.
Снаружи это выглядит как Telegram-бот, а внутри всё устроено как отдельный backend на FastAPI, база данных PostgreSQL и LLM-слой для анализа еды.
Если совсем коротко, то схема такая:
Пользователь → Telegram Bot → FastAPI → LLM + PostgreSQL
- принимать текстовое описание блюда;
- принимать фотографию блюда;
- считать примерные калории, белки, жиры и углеводы;
- показывать последние записи пользователя;
- собирать сумму КБЖУ за текущий день;
- хранить историю отдельно для каждого Telegram-пользователя.
- Backend на FastAPI — принимает запросы, работает с БД и LLM;
- Telegram Bot на aiogram — интерфейс для пользователя;
- PostgreSQL — хранение пользователей и записей;
- Alembic — миграции базы данных;
- Docker / docker-compose — запуск сервисов;
- LLM — анализ текста и изображений с едой.
- Быстрый запуск — если хочется просто поднять проект
-
Переменные окружения — если непонятно, что писать в
.env - Архитектура — если хочется понять внутреннее устройство
- API — если нужно тестировать backend руками
- Telegram бот — если интересна логика команд и обработки сообщений
- База данных и миграции — если меняется схема БД
- Примеры работы — для визуалов
- FAQ — если что-то пошло не так
Идея в том чтобы объяснить, что где лежит, зачем оно нужно и как это всё вообще работает вместе.