Features - NateEaton/mind-pwa GitHub Wiki
Understanding the MIND Diet Tracker
The MIND Diet Tracker is designed to make tracking your adherence to the MIND Diet simple and effective. This page outlines the key features and functionality of the application.
Deployment Types: The app supports two deployment types:
- Client-Only Deployment: Perfect for personal use with local data storage and import/export capabilities (like the hosted demo)
- Server-Enabled Deployment: Includes all client-only features plus cloud synchronization across devices
Features marked with 🌐 require server-enabled deployment and are not available in client-only deployments or the demo version.
Core Features
The app provides everything you need to track your MIND Diet progress:
- Setup Wizard: First-time guided configuration for week start preference, theme selection, and cloud sync options 🌐
- Daily Tracking: Record your daily servings of each MIND Diet food group for any day in the current week
- Weekly Summary: Monitor your progress toward targets with visual indicators and color coding
- Historical Data: Review past weeks to track long-term adherence patterns and see your progress over time
- Food Information: Access serving size guidelines and examples for each food group with a simple tap
- Offline Capability: Use all features without an internet connection - perfect for meal prep or dining out
- Week Start Customization: Choose whether your week starts on Sunday or Monday to match your lifestyle
- Material Design Icons: Clean, modern interface that's easy to navigate
Daily Usage Features
Date Navigation and Tracking
How it works: A horizontal navigation bar at the top of the Daily view allows you to select any date within the current week. This makes it easy to log yesterday's meals or plan ahead for tomorrow.
Why it matters: Life doesn't always happen in real-time. You might forget to log your breakfast until dinner, or want to plan your meals for the week ahead.
Edit Functionality
Current Week: Use the + and - buttons to adjust your daily food counts as you eat throughout the day.
Past Weeks: Access the History view to modify daily entries for previous weeks. Click the "Edit" button next to any past week to open the daily editor.
Why it matters: Mistakes happen, and sometimes you remember that extra handful of nuts you had after you've already moved on to the next week.
Automatic Sync 🌐: All saved edits are automatically synchronized across your devices if you have cloud sync enabled (server-enabled deployments only).
Color Coding System
The app uses intuitive color coding to help you quickly assess your progress:
Daily Tracker View
Each food group displays a weekly count badge (small circular badge) showing your current progress:
| Status | Badge Color | Target/Limit | What it means |
|---|---|---|---|
| In Progress | Light Green | ✅ 🚫 | You're on track but haven't reached your target yet |
| Target Met | Dark Green | ✅ | Congratulations! You've met or exceeded your weekly target |
| Near Limit | Yellow/Orange | 🚫 | Careful - you're close to your recommended weekly limit |
| Limit Exceeded | Red | 🚫 | You've exceeded the recommended limit for this food group |
Why it matters: You can see at a glance whether you need more leafy greens this week or if you should ease up on the red meat, without doing any mental math.
History View (Completed Weeks)
For past weeks, the color coding shows your final results:
✅ For Beneficial Foods (foods to eat more of)
- Green: You met your target - great job!
- Red: You didn't reach your target - room for improvement
🚫 For Foods to Limit (foods to eat less of)
- Green: You stayed below the limit - excellent restraint!
- Yellow: You got close to the limit but didn't exceed it
- Red: You exceeded the recommended limit
Advanced Features
Week Start Customization
Choose your weekly rhythm: Configure whether your week starts on Sunday or Monday:
- Sunday Start: Traditional week start, common in North America - weekly tracking resets Sunday at midnight
- Monday Start: ISO standard week start, common in Europe and many other regions - weekly tracking resets Monday at midnight
Why it matters: Your weekly nutrition goals should align with how you think about your week. If you meal prep on Sundays and think of Monday as a "fresh start," set Monday as your week start. If your weekend feels like the end of your week, Sunday start might feel more natural.
Important: If you use the app on multiple devices, ensure this setting matches across all devices for consistent data interpretation.
Theme Selection
Choose your preferred appearance:
- Light Theme: Clean, bright interface perfect for daytime use
- Dark Theme: Easy on the eyes for evening tracking or low-light environments
- Auto Mode: Automatically switches between light and dark based on your device's system settings
Why it matters: Whether you're logging your morning smoothie in bright sunlight or tracking your evening meal in bed, the app adapts to your environment and preferences.
Automatic Resets and Archiving
Daily Reset: The app automatically advances to the next day at midnight local time:
- Daily food counts remain preserved in history
- The current date advances to the next day
- Date navigation updates to show the new current day
- Weekly totals continue to accumulate until the week ends
Weekly Archiving: At the start of each week (midnight Saturday night/Sunday morning by default):
- Weekly data from the previous week is automatically archived
- A new week begins with zeroed counters
- Previous week becomes accessible in the History view
Why it matters: You never have to worry about manually resetting anything or losing your progress. The app handles all the housekeeping so you can focus on your nutrition goals.
Data Management
Local Storage (Always Available)
Your data is stored securely on your device by default:
- Daily and weekly progress: Stored in your browser's local storage for quick access
- Historical data: Stored in your device's database for long-term tracking
- No account required: Start tracking immediately without any registration
Import/Export Tools
Perfect for client-only deployments: These tools provide data portability when cloud sync isn't available:
Export your data: Creates a complete backup file (JSON format) that you can:
- Save to your device for safekeeping
- Transfer to a new device or browser
- Keep as a personal archive of your nutrition journey
Import data: Restore from a backup file with intelligent merging:
- Same day: Replaces your current day's data with the imported data
- Same week: Updates your current week while preserving other daily values
- Past weeks: Adds historical data without affecting your current tracking
Why it matters: Your nutrition data is valuable personal information. You should always have control over it and the ability to back it up or move it between devices. For client-only deployments, this is your primary method for data portability.
Connectivity Features
Offline Functionality
Complete offline capability: As a Progressive Web App (PWA), the tracker works perfectly without an internet connection:
- After your first visit, the app is cached locally on your device
- All tracking features remain available offline
- Data syncs automatically when your connection resumes
- Perfect for travel, commuting, or areas with poor cell service
Why it matters: Your nutrition tracking shouldn't depend on having a good internet connection. Whether you're meal prepping on a flight or dining out in a basement restaurant, you can always log your food.
Cloud Synchronization 🌐 (Server-Enabled Deployment Only)
Cross-device access: Keep your data consistent across multiple devices (phone, tablet, computer):
Note: Cloud sync features are only available in server-enabled deployments. Client-only deployments (including the demo) use import/export for data portability instead.
Supported providers:
- Google Drive: Data stored privately in your Google Drive (not visible in your regular Drive files)
- Dropbox: Data stored in a dedicated app folder in your Dropbox account
How sync works:
- Automatic sync: Happens when you open the app, go online after being offline, and periodically in the background
- Manual sync: Available through the menu when you want to force an immediate sync
- Smart conflict resolution: If you make changes on multiple devices while offline, the app uses intelligent rules to merge your data without losing anything important
Network-friendly options:
- Wi-Fi only mode: Conserve your mobile data by syncing only when connected to Wi-Fi
- Background sync: Syncs quietly without interrupting your experience
Why it matters: Modern life happens across multiple devices. You might start logging breakfast on your phone, check your weekly progress on your tablet, and review your history on your computer. Cloud sync makes this seamless.
Privacy note: Cloud sync is entirely optional and user-controlled. The app works perfectly without it, and you can enable or disable it at any time.