FitByte

byMr. Imthiyas

Create a simple React diet tracker app with a dashboard showing daily calories, macro tracking (protein, carbs, fat) with progress bars, and meal logging for breakfast, lunch, dinner. Use Tailwind CSS and localStorage.

ProgressFoodSearch
Progress

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

FitByte System Requirements Document

1. Introduction

FitByte is a React-based diet tracker application designed to help users monitor their daily caloric intake, track macronutrients, and log meals. The application aims to provide a comprehensive dashboard for users to manage their dietary goals effectively. This document outlines the system requirements for FitByte, focusing on its core functionalities, user personas, and design elements.

2. System Overview

FitByte is a web application that enables users to track their dietary habits and progress towards fitness goals. It features a dashboard that displays daily calorie intake, macronutrient progress, and meal logging capabilities. The application is designed to be mobile-friendly and utilizes a green color theme for its user interface. FitByte leverages React for the frontend, Tailwind CSS for styling, and localStorage for data persistence.

Page 2 of 5

3. Functional Requirements

  • As a User, I should be able to view a dashboard showing my daily calories remaining.
  • As a User, I should be able to see progress bars for macronutrients (protein, carbs, fat).
  • As a User, I should be able to track my water intake.
  • As a User, I should be able to log meals for breakfast, lunch, dinner, and snacks.
  • As a User, I should be able to search for foods to log in my meals.
  • As a User, I should be able to view and edit my profile, including age, height, weight, gender, activity level, and goal selection (loss/gain/maintenance).
  • As a User, I should be able to view progress charts for weight and calorie history.
  • As a User, I should be able to access a food database with nutrition info for 50+ common foods.
  • As a User, I should be able to navigate a mobile-friendly UI with a green color theme.
  • As a User, I should be able to participate in the Hydration Hero Challenge, setting a daily water goal and receiving reminders.
  • As a User, I should be able to take a live photo of a water bottle or glass for AI verification to unlock rewards.
  • As a User, I should be able to track my hydration progress and earn rewards like XP, badges, and leaderboard points.
  • As a User, I should be able to receive smart notifications for hydration reminders throughout the day.
  • As a User, I should be able to participate in gamified challenges and earn badges for hydration streaks.

4. User Personas

  • User: An individual looking to track their dietary intake and progress towards fitness goals. They require a user-friendly interface to log meals and view nutritional information.

5. Core User Flows

  • User logs into the application -> accesses the dashboard -> views daily calorie and macro progress -> logs meals for breakfast, lunch, dinner, and snacks -> updates profile information -> reviews progress charts.
  • User sets a daily water goal -> receives hydration reminders -> takes a photo for AI verification -> earns rewards and tracks hydration progress.
  • User participates in the Hydration Hero Challenge -> receives smart notifications -> completes daily water intake goals -> earns badges and XP.
Page 3 of 5

6. Visuals Colors and Theme

  • primary: #4CAF50 (Green)
  • primary_light: #81C784 (Light Green)
  • secondary: #FF9800 (Orange)
  • accent: #FF5722 (Deep Orange)
  • highlight: #FFC107 (Amber)
  • bg: #F5F5F5 (Light Gray)
  • surface: rgba(255, 255, 255, 0.8)
  • text: #212121 (Dark Gray)
  • text_muted: #757575 (Muted Gray)
  • border: rgba(0, 0, 0, 0.12)

7. Signature Design Concept

The FitByte homepage will feature an interactive "Nutritional Garden" concept. Users will see a digital garden where each plant represents a different aspect of their diet (calories, protein, carbs, fats, water intake). As users log their meals and progress, the plants will grow and change color, providing a visual representation of their dietary balance. Users can click on each plant to view detailed statistics and insights. This concept will be implemented using framer-motion for animations and gsap for scroll-triggered interactions.

Page 4 of 5

8. Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, creating a layered depth effect as users scroll. Decorative elements like the Nutritional Garden will move at different speeds, enhancing the storytelling aspect of the application. Internal pages, such as the dashboard and profile, will adopt a "static" interaction model to prioritize layout clarity and data readability.

9. Non-Functional Requirements

  • The application must be responsive and function seamlessly on mobile devices.
  • Data should be stored locally using localStorage for offline access.
  • The UI should be intuitive and easy to navigate, adhering to the green color theme.

10. Tech Stack

  • Frontend: React, Tailwind CSS
  • Backend: Not specified (localStorage for data persistence)
  • Database: Not applicable (localStorage used)
  • AI Models: Not applicable
  • AI Tools: Not applicable
  • Local Orchestration: Not applicable
  • Server-side Orchestration: Not applicable
Page 5 of 5

11. Assumptions and Constraints

  • The application is initially targeted for individual users and will be expanded to other platforms like Play Store upon successful implementation.
  • The application will use localStorage for data persistence, limiting data storage capabilities.
  • The design system will follow a glassmorphism pattern for consistency across the application.

12. Glossary

  • Dashboard: The main interface where users can view their dietary progress.
  • Macronutrients: Nutrients required in large amounts for energy and growth, including protein, carbohydrates, and fats.
  • LocalStorage: A web storage API that allows storing data locally within the user's browser.
  • Glassmorphism: A design style characterized by frosted-glass-like elements with a blur effect.
Landing: View Info
Dashboard: View Calories
Dashboard: Track Macros
Dashboard: Log Water
MealLog: Add Breakfast
FoodSearch: Search Foods
MealLog: Log Lunch
MealLog: Log Dinner
MealLog: Log Snacks
Profile: Edit Goals
Profile: Update Stats
Progress: View Charts
Progress: View History