Skip to content

Latest commit

 

History

History
147 lines (126 loc) · 5.13 KB

File metadata and controls

147 lines (126 loc) · 5.13 KB

FEATURES.md — Foodiary

Feature inventory: implemented, planned, and explicitly out of scope. Last updated: 2026-06-20

Implemented (MVP)

Profile & Calorie Calculation

  • Collect age, biological sex, height, weight, activity level, goal
  • Mifflin-St Jeor BMR calculation
  • Activity level multipliers (sedentary 1.2 → very active 1.725)
  • Goal adjustments (maintain 1.0, lose 0.90, gain 1.10)
  • Round final target to nearest 10 kcal
  • Profile editing with recalculation
  • Calorie disclaimer on result screen and profile
  • Profile data persisted locally as JSON

Meal Planning

  • Create daily meal plan with 4 default slots: Breakfast, Lunch, Snack, Dinner
  • Add food items manually (name, calories, optional note)
  • Edit food items (via delete + re-add pattern)
  • Delete food items with confirmation
  • Meal total calories computed automatically
  • Daily total calories computed automatically
  • Validation: food name required, calories must be whole number ≥ 0
  • Meal plans persisted locally as JSON

Today Dashboard

  • Daily target display (large coral number)
  • Planned calories vs remaining calories summary cards
  • Calorie progress bar (mint under target, coral over target)
  • Status badge: under target / at target / over target
  • Meal-by-meal summary cards with calorie totals
  • Empty state: "No meal plan for today — Create one"
  • Neutral language for over-target: "X kcal over your estimated target"

Navigation

  • 3-tab bottom bar: Today / Meal Plan / Profile
  • Onboarding flow: Welcome → Profile Setup → Goal Setup → Calorie Result
  • Meal Detail screen with food item list
  • Add Food Item sheet
  • Profile Edit sheet

Design System

  • Neubrutalist visual language — 3px black borders, hard offset shadows
  • Coral #FF6B4A primary, Mint #2DD4BF secondary, Yellow #FFD60A accent
  • Cream #FAFAF5 background
  • ALL CAPS labels with letter-spacing
  • SF Rounded Bold for display/metrics
  • Push-in button animation on press
  • Tab bar with black top border + coral active state
  • Custom navigation bar styling
  • Colored meal icon containers (orange, teal, pink, indigo)
  • Pill-shaped status badges with black borders

Data Persistence

  • User profile → profile.json
  • Calorie target → target.json
  • Daily meal plans → mealplan_YYYY-MM-DD.json
  • Reset all data action
  • Data survives app restarts

States Covered

  • First launch (no profile) → onboarding
  • Returning user (profile exists) → Today dashboard
  • No meal plan today → empty state with CTA
  • Meal plan exists, no food items → meal cards show "0 items, 0 kcal"
  • Meal plan with food → calorie totals display
  • Under target → green badge
  • At target → yellow badge
  • Over target → red-tinted badge with neutral language
  • Empty meal → "No food added yet"

Planned (Post-MVP)

High Priority

  • Unit tests — CalorieCalculator, StorageService, AppState
  • Food item editing — currently delete + re-add; add inline edit
  • Proper error handling — replace try? with do/catch + user-visible errors
  • Accessibility — VoiceOver labels, dynamic type support, reduced motion
  • App icon — replace solid coral placeholder with proper icon
  • Empty state for Dinner — currently cut off on smaller screens; fix scroll
  • Meal Plan for past/future dates — currently only today

Medium Priority

  • Copy yesterday's meal plan
  • Favorite food items (quick-add from history)
  • Weekly meal planning
  • Meal templates (predefined meal structures)
  • Swipe-to-delete on meal cards and food items
  • Haptic feedback on button presses and deletions
  • Dark mode support
  • iPad layout (max content width 680px)
  • Undo delete (toast: "Item removed. Undo?")

Low Priority

  • Macro tracking (protein, carbs, fat)
  • Weight tracking over time
  • Progress charts
  • Export meal plan (PDF, text)
  • Reminder notifications
  • Multiple profiles
  • Food database (offline)
  • Barcode scanner
  • AI meal suggestions

Explicitly Out of Scope (v1)

These are intentionally excluded from the MVP per the PRD:

  • ❌ Login / account system
  • ❌ Cloud sync / backend
  • ❌ Public food database
  • ❌ Barcode scanning
  • ❌ Food image recognition
  • ❌ AI meal generation
  • ❌ Social features / sharing
  • ❌ Subscription / payments
  • ❌ Exercise tracking
  • ❌ Water tracking
  • ❌ Recipe builder
  • ❌ Shopping list
  • ❌ Medical / nutrition diagnosis
  • ❌ Macro tracking
  • ❌ Weight progress charts

Feature Status Summary

Category Implemented Planned Out of Scope
Profile & Onboarding 8 0 0
Calorie Calculation 5 0 0
Meal Planning 9 3 0
Today Dashboard 7 0 0
Navigation 5 0 0
Design System 12 1 0
Data Persistence 5 0 0
Testing 0 1 0
Accessibility 0 1 0
Advanced Features 0 10 12
Total 51 16 12