# TODO: будущие улучшения Функционал, сознательно отложенный. Основные AI-фичи (рекомендации, распознавание, меню) реализуются через Gemini в итерациях 1–4. --- ## База данных рецептов и нутриентов ### Верифицированная база нутриентов Сейчас КБЖУ генерирует Gemini (приблизительно, помечается «≈» в UI). Для пользователей с медицинскими показаниями (диабет, ожирение) нужна точность: - **USDA FoodData Central** — государственная база США, бесплатно, 300K+ продуктов, верифицированы лабораторно - API: `api.nal.usda.gov/fdc/v1/` (ключ бесплатный) - Данные используются как reference при генерации Gemini - **Open Food Facts** — community база для упакованных продуктов со штрих-кодами ### Постоянная база рецептов с поиском Сейчас рецепты генерируются on-demand и хранятся только если сохранены. В будущем: - Постоянная база 5K–50K рецептов с FTS-поиском - Фильтрация, рейтинги, отзывы, история просмотров - Каталог с пагинацией - Возможные источники: Spoonacular (коммерческая лицензия), собственная редакция + Gemini --- ## Функциональность ### Поиск по рецептам Когда будет постоянная база — полноценный поиск: - Full-text search по названию и ингредиентам (PostgreSQL tsvector, индексы уже в схеме) - Фильтры: кухня, сложность, время, КБЖУ, диетические теги - "Что можно приготовить из этих продуктов" — SQL-запрос по mapping_id ### Дневник питания и статистика - Запись что съедено за день (из рецепта, из меню, вручную, фото) - Автоподсчёт КБЖУ за день, прогресс к норме - Графики за день / неделю / месяц - Быстрое добавление перекусов через поиск ### Рейтинги и отзывы рецептов - Оценка и отзыв после готовки - Поля `avg_rating` и `review_count` уже есть в схеме `recipes` - Реализовать когда появится постоянная база ### Шаблоны меню - Сохранить удачное меню как шаблон (например «Рабочая неделя») - Повторное применение с учётом текущих продуктов ### Пользовательские рецепты - Создать и сохранить собственный рецепт - Доступен в личном каталоге, не виден другим (или можно поделиться) --- ## Технический долг ### Кэширование - **Redis** для кэша Pexels image_url по query-строке (сейчас: новый Pexels-запрос при каждой генерации) - **Кэш рекомендаций** на 30 минут — не перегенерировать если продукты не изменились ### Оффлайн-режим - Кэшировать последние рекомендации и меню локально (Hive/SharedPreferences) - Сохранённые рецепты — полностью оффлайн ### Уведомления - Push-уведомления о продуктах, срок которых истекает завтра - Напоминание приготовить по плану меню ### Монетизация - **Free tier:** N рекомендаций/день, без меню на неделю - **Premium:** неограниченные рекомендации, планировщик меню, расширенная аналитика, приоритетная очередь Gemini ### Масштабирование Gemini при росте При 10 000 DAU × 5 AI-запросов/день = 50 000 запросов/день: - Gemini Flash: ~$0.0003/запрос → **$15/день = $450/мес** - Оптимизация: батчинг, кэширование, rate limiting по плану