docs: add Iteration 6 — profile screen
Describe ProfileService, profileProvider, ProfileScreen sections (avatar, body params, goal/activity, daily calories, logout), EditProfileSheet, and HomeScreen name integration. No new backend endpoints needed — GET/PUT /profile already exist. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
| 3 | Распознавание продуктов | OCR чека, фото продуктов, фото блюд (GPT-4o Vision) | 1, 2 |
|
||||
| 4 | Планирование меню | Меню на неделю, AI-генерация, список покупок, дневник | 1, 2 |
|
||||
| 5 | Главный экран | Дашборд: калории, план на сегодня, истекающие продукты, рекомендации | 1, 2, 4 |
|
||||
| 6 | Профиль | Просмотр и редактирование профиля, норма калорий, выход из аккаунта | 0 |
|
||||
|
||||
Дальнейшие итерации определяются приоритетами после MVP. Функциональность из TODO.md (дневник статистики, режим готовки, полировка) — следующий горизонт.
|
||||
|
||||
@@ -45,6 +46,12 @@
|
||||
│ 5. Главный экран │
|
||||
│ (дашборд) │
|
||||
└─────────────────────┘
|
||||
|
||||
┌─────────────────────┐
|
||||
│ 6. Профиль │ (зависит только от 0)
|
||||
│ (просмотр + │
|
||||
│ редактирование) │
|
||||
└─────────────────────┘
|
||||
```
|
||||
|
||||
**Параллельная разработка:** итерации 1 и 2 могут выполняться параллельно. Итерации 3 и 4 — тоже параллельно после завершения 1 и 2. Итерация 5 — после 4.
|
||||
@@ -266,6 +273,38 @@
|
||||
|
||||
---
|
||||
|
||||
## Итерация 6: Профиль
|
||||
|
||||
> **Детальный план:** [Iteration_6.md](./Iteration_6.md)
|
||||
|
||||
**Цель:** заменить заглушку вкладки «Профиль» полноценным экраном — просмотр данных, редактирование параметров тела и целей, отображение расчётной нормы калорий, выход из аккаунта.
|
||||
|
||||
**Зависимости:** итерация 0.
|
||||
|
||||
### User Stories
|
||||
|
||||
#### Backend
|
||||
|
||||
Новых эндпоинтов не требуется — `GET /profile` и `PUT /profile` реализованы в итерации 0.
|
||||
|
||||
#### Flutter
|
||||
|
||||
| ID | Story | Описание |
|
||||
|----|-------|----------|
|
||||
| 6.1 | ProfileService | `getProfile()` → `GET /profile`, `updateProfile()` → `PUT /profile` |
|
||||
| 6.2 | profileProvider | `StateNotifier<AsyncValue<User>>`, методы `load()` и `update()` |
|
||||
| 6.3 | ProfileScreen | Секции: аватар+имя, параметры тела, цель+активность, норма калорий, кнопка выхода |
|
||||
| 6.4 | EditProfileSheet | Modal bottom sheet с формой редактирования всех параметров |
|
||||
| 6.5 | HomeScreen — имя | Приветствие берёт имя из `profileProvider` вместо захардкоженного |
|
||||
|
||||
### Результат итерации
|
||||
- Пользователь видит своё имя, email, параметры тела и цели
|
||||
- Может обновить параметры — норма калорий пересчитывается автоматически сервером
|
||||
- Может выйти из аккаунта с подтверждением
|
||||
- Приветствие на главном экране показывает реальное имя пользователя
|
||||
|
||||
---
|
||||
|
||||
## Итоги
|
||||
|
||||
| Итерация | Цель | Ключевые API |
|
||||
@@ -276,6 +315,7 @@
|
||||
| 3. Распознавание | OCR чека, фото продуктов/блюда | GPT-4o Vision |
|
||||
| 4. Меню | Недельное меню, список покупок | GPT-4o-mini, Pexels |
|
||||
| 5. Главный экран | Дашборд: калории, план, истекающие, рекомендации | — |
|
||||
| 6. Профиль | Параметры тела, цель, норма калорий, выход | — |
|
||||
|
||||
**MVP:** итерации 0–2 (авторизация + рекомендации + продукты) — пользователь получает персонализированные рецепты.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user