feat: implement Iteration 5 — home screen dashboard
Backend: - internal/home: GET /home/summary endpoint - Today's meal plan from menu_plans/menu_items - Logged calories sum from meal_diary - Daily goal from user profile (default 2000) - Expiring products within 3 days - Last 3 saved recommendations (no AI call on home load) - Wire homeHandler in server.go and main.go Flutter: - shared/models/home_summary.dart: HomeSummary, TodaySummary, TodayMealPlan, ExpiringSoon, HomeRecipe - features/home/home_service.dart + home_provider.dart - features/home/home_screen.dart: greeting, calorie progress bar, today's meals card, expiring banner, quick actions row, recommendations horizontal list Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,7 @@ import (
|
||||
"github.com/food-ai/backend/internal/database"
|
||||
"github.com/food-ai/backend/internal/diary"
|
||||
"github.com/food-ai/backend/internal/gemini"
|
||||
"github.com/food-ai/backend/internal/home"
|
||||
"github.com/food-ai/backend/internal/ingredient"
|
||||
"github.com/food-ai/backend/internal/menu"
|
||||
"github.com/food-ai/backend/internal/middleware"
|
||||
@@ -122,6 +123,9 @@ func run() error {
|
||||
diaryRepo := diary.NewRepository(pool)
|
||||
diaryHandler := diary.NewHandler(diaryRepo)
|
||||
|
||||
// Home domain
|
||||
homeHandler := home.NewHandler(pool)
|
||||
|
||||
// Router
|
||||
router := server.NewRouter(
|
||||
pool,
|
||||
@@ -134,6 +138,7 @@ func run() error {
|
||||
recognitionHandler,
|
||||
menuHandler,
|
||||
diaryHandler,
|
||||
homeHandler,
|
||||
authMW,
|
||||
cfg.AllowedOrigins,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user