# Sprint 6: US-08 Detailed Nutritional Information — Technical Decisions ## Overview Sprint 6 (User Story #08 / US-08) enhances the food search results by providing a structured, in-depth nutritional breakdown for every food item. It builds upon the macro dashboard by adding vitamins, minerals, and extended macronutrient data. --- ## Task #41: Structured Food Detail API ### What we chose - **Granular endpoint:** `GET /api/food/{food_id}` - *Reasoning:* Instead of sending all detailed data for every search result (which would bloat the search payload), we fetch the full profile only when the user specifically requests it. - **Categorized JSON Structure:** - Nutrients are grouped into `macros`, `extended`, `vitamins`, and `minerals`. - *Reasoning:* Makes it easier for the frontend to render distinct "sections" of a nutrition label rather than a flat list of 15+ keys. - **Data Integrity Fix:** - Expanded the `NUTRIENT_MAP` in `mega_seed_usda.py` to include Calcium (301), Iron (303), Potassium (306), Vitamin A (318), Vitamin C (401), and Cholesterol (601). - Re-seeded the database with 7,793 items to ensure all micronutrient columns are populated correctly. - **Backend security:** The endpoint requires a valid JWT Bearer token, ensuring food data is only accessible to authenticated users. --- ## Task #40: Expandable Detail View UI ### What we chose - **On-demand rendering:** The detailed panel is empty by default and populated via the API only on the first "Details" click. - **Visual Feedback:** A loading state is shown during the API fetch to ensure a responsive feel. - **Grid-based Layout:** Used a CSS Grid (`grid-template-columns: repeat(2, 1fr)`) for the nutrient lists. - *Reasoning:* Maximizes vertical space and mimics the look of a traditional nutrition facts panel while remaining readable on mobile. - **Independent Click Targets:** - Click Name/Header -> Auto-fill chat (Fast Action). - Click "Details" -> Expand/Collapse (Investigation Action). - *Reasoning:* Preserves the fast "Add to Meal" workflow while allowing deep-dives. - **Smooth Transition:** `max-height` transitions combined with glassmorphism effects maintain the premium aesthetic.