docs: add Iteration 5 — home screen dashboard
Describe GET /home/summary endpoint (plan, logged calories, expiring products, cached recommendations) and HomeScreen layout with calorie ring, today's meals, expiring banner, and quick actions. Update Summary.md to include iteration 5 and fix provider references from Gemini/Groq to OpenAI/GPT. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,10 +5,11 @@
|
||||
| # | Итерация | Цель | Зависит от |
|
||||
|---|----------|------|------------|
|
||||
| 0 | Фундамент | Go-проект, БД, авторизация, Flutter-каркас | — |
|
||||
| 1 | AI-рекомендации рецептов | Gemini генерирует рецепты, Pexels фото, сохранение рецептов | 0 |
|
||||
| 1 | AI-рекомендации рецептов | GPT генерирует рецепты, Pexels фото, сохранение рецептов | 0 |
|
||||
| 2 | Управление продуктами | CRUD продуктов, сроки хранения, ingredient_mappings | 0 |
|
||||
| 3 | Распознавание продуктов | OCR чека, фото продуктов, фото блюд (Gemini Vision) | 1, 2 |
|
||||
| 3 | Распознавание продуктов | OCR чека, фото продуктов, фото блюд (GPT-4o Vision) | 1, 2 |
|
||||
| 4 | Планирование меню | Меню на неделю, AI-генерация, список покупок, дневник | 1, 2 |
|
||||
| 5 | Главный экран | Дашборд: калории, план на сегодня, истекающие продукты, рекомендации | 1, 2, 4 |
|
||||
|
||||
Дальнейшие итерации определяются приоритетами после MVP. Функциональность из TODO.md (дневник статистики, режим готовки, полировка) — следующий горизонт.
|
||||
|
||||
@@ -36,11 +37,17 @@
|
||||
┌────────────────────┐ ┌─────────────────────┐
|
||||
│ 3. Распознавание │ │ 4. Планирование │
|
||||
│ продуктов │ │ меню │
|
||||
│ (Gemini Vision) │ │ (Gemini+Pexels) │
|
||||
└────────────────────┘ └─────────────────────┘
|
||||
│ (GPT-4o Vision) │ │ (GPT+Pexels) │
|
||||
└────────────────────┘ └──────────┬──────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────┐
|
||||
│ 5. Главный экран │
|
||||
│ (дашборд) │
|
||||
└─────────────────────┘
|
||||
```
|
||||
|
||||
**Параллельная разработка:** итерации 1 и 2 могут выполняться параллельно. Итерации 3 и 4 — тоже параллельно после завершения 1 и 2.
|
||||
**Параллельная разработка:** итерации 1 и 2 могут выполняться параллельно. Итерации 3 и 4 — тоже параллельно после завершения 1 и 2. Итерация 5 — после 4.
|
||||
|
||||
---
|
||||
|
||||
@@ -208,9 +215,9 @@
|
||||
|----|-------|----------|
|
||||
| 4.1 | Таблицы menu_plans, menu_items | Миграции. menu_items → saved_recipes |
|
||||
| 4.2 | Таблица meal_diary | Миграция. Записи приёмов пищи |
|
||||
| 4.3 | POST /ai/generate-menu | Gemini генерирует 21 рецепт, Pexels параллельно, сохранение в БД |
|
||||
| 4.3 | POST /ai/generate-menu | GPT генерирует 21 рецепт, Pexels параллельно, сохранение в БД |
|
||||
| 4.4 | Menu CRUD | GET /menu?week=, PUT /menu/items/{id}, DELETE /menu/items/{id} |
|
||||
| 4.5 | Shopping list | POST /shopping-list/generate (SQL-агрегация без Gemini), GET, PATCH check |
|
||||
| 4.5 | Shopping list | POST /shopping-list/generate (SQL-агрегация без AI), GET, PATCH check |
|
||||
|
||||
#### Flutter
|
||||
|
||||
@@ -222,22 +229,53 @@
|
||||
| 4.9 | DiaryScreen | Записи за день, «+ Добавить» |
|
||||
|
||||
### Результат итерации
|
||||
- Пользователь получает меню на неделю одним запросом к Gemini
|
||||
- Пользователь получает меню на неделю одним запросом к GPT
|
||||
- Все рецепты меню сохраняются в saved_recipes
|
||||
- Из меню автоматически формируется список покупок (то, чего нет в запасах)
|
||||
- Ведётся дневник питания
|
||||
|
||||
---
|
||||
|
||||
## Итерация 5: Главный экран
|
||||
|
||||
> **Детальный план:** [Iteration_5.md](./Iteration_5.md)
|
||||
|
||||
**Цель:** дашборд — сводка на сегодня, прогресс калорий, плановые приёмы пищи, предупреждение об истекающих продуктах, рекомендации рецептов.
|
||||
|
||||
**Зависимости:** итерации 1, 2, 4.
|
||||
|
||||
### User Stories
|
||||
|
||||
#### Backend
|
||||
|
||||
| ID | Story | Описание |
|
||||
|----|-------|----------|
|
||||
| 5.1 | GET /home/summary | Агрегирует: план на сегодня, калории дневника, истекающие продукты, последние рекомендации |
|
||||
|
||||
#### Flutter
|
||||
|
||||
| ID | Story | Описание |
|
||||
|----|-------|----------|
|
||||
| 5.2 | HomeScreen | Приветствие, кольцо калорий, план на сегодня, быстрые действия, баннер истекающих, блок рекомендаций |
|
||||
| 5.3 | homeProvider | StateNotifier, обновление после scan/menu-генерации |
|
||||
|
||||
### Результат итерации
|
||||
- Открываешь приложение — сразу видишь баланс калорий и план на день
|
||||
- Предупреждение если продукты скоро истекут
|
||||
- Рекомендации без нового AI-вызова (из ранее сохранённых)
|
||||
|
||||
---
|
||||
|
||||
## Итоги
|
||||
|
||||
| Итерация | Цель | Ключевые API |
|
||||
|----------|------|-------------|
|
||||
| 0. Фундамент | Auth, профиль, каркас | Firebase |
|
||||
| 1. AI-рекомендации | Рецепты + сохранение | Gemini, Pexels |
|
||||
| 1. AI-рекомендации | Рецепты + сохранение | GPT-4o-mini, Pexels |
|
||||
| 2. Продукты | CRUD запасов, ingredient_mappings | — |
|
||||
| 3. Распознавание | OCR чека, фото продуктов/блюда | Gemini Vision |
|
||||
| 4. Меню | Недельное меню, список покупок | Gemini, Pexels |
|
||||
| 3. Распознавание | OCR чека, фото продуктов/блюда | GPT-4o Vision |
|
||||
| 4. Меню | Недельное меню, список покупок | GPT-4o-mini, Pexels |
|
||||
| 5. Главный экран | Дашборд: калории, план, истекающие, рекомендации | — |
|
||||
|
||||
**MVP:** итерации 0–2 (авторизация + рекомендации + продукты) — пользователь получает персонализированные рецепты.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user