storm-workout

byRaj kumar Dhiman

Create a Flutter mobile app called "Gym Buddy AI" that helps users workout without a trainer. Features: - Home screen with greeting and daily workout suggestion - Workout categories: Chest, Back, Legs, Arms, Abs - Each category shows exercises with: - Name - Image (placeholder) - Steps (how to do) - Reps & sets - Timer for workout (start/stop) - BMI calculator (height & weight input) - Simple diet suggestions (veg/non-veg toggle) UI Design: - Dark theme (black + neon green gym style) - Bottom navigation bar (Home, Workouts, Diet, Profile) - Cards for exercises Technical: - Use Flutter (latest stable version) - No paid API required - Use local JSON data for workouts - Clean folder structure (screens, widgets, models) Extra: - Add motivational quotes on home screen

HomeDietWorkouts
Home

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document (SRD)

Project Name: storm-workout

1. Introduction

The storm-workout project, branded as "Gym Buddy AI," is a mobile application designed to empower users to work out independently without the need for a personal trainer. The app provides users with personalized workout routines, timers, BMI calculations, diet suggestions, and motivational quotes, all within an intuitive and visually engaging interface.

This document outlines the system requirements for the storm-workout project, ensuring that all features are clearly defined, functional, and aligned with the needs of users in India (IN). The app will prioritize accessibility, simplicity, and motivation, making it an ideal companion for fitness enthusiasts.

Page 2 of 7

2. System Overview

The storm-workout app will be a Flutter-based mobile application targeting Android and iOS platforms. It will serve as a virtual gym assistant, offering:

  • Daily workout suggestions tailored to user preferences.
  • Categorized exercises with detailed instructions, images, and timers.
  • A BMI calculator for tracking fitness progress.
  • Simple diet suggestions with vegetarian and non-vegetarian options.
  • Motivational quotes to inspire users during their fitness journey.
  • A bottom navigation bar for seamless navigation between Home, Workouts, Diet, and Profile sections.

The app will utilize local JSON data for workouts and diet suggestions, ensuring offline functionality and cost-efficiency. A dark theme with neon green accents will create a modern, gym-inspired aesthetic.

3. Functional Requirements

Page 3 of 7

Core Functionalities:

  • As a User, I should be able to view a home screen with a greeting and daily workout suggestion.
  • As a User, I should be able to browse workout categories (Chest, Back, Legs, Arms, Abs).
  • As a User, I should be able to view exercises within each category, including:
    • Name
    • Placeholder image
    • Steps (how to perform the exercise)
    • Reps and sets
  • As a User, I should be able to use a timer to start and stop workouts.
  • As a User, I should be able to calculate my BMI by entering height and weight.
  • As a User, I should be able to toggle between vegetarian and non-vegetarian diet suggestions.
  • As a User, I should see motivational quotes displayed dynamically on the home screen.
  • As a User, I should be able to navigate between Home, Workouts, Diet, and Profile using a bottom navigation bar.
  • As a User, I should be able to enter my name, height, and weight during onboarding or update it later in the Profile section.
  • As a Developer, I should verify that all functions (timer, BMI calculator, navigation, etc.) are working correctly.

Verification Requirement:

  • As a Developer, I should ensure that all features are tested for functionality, including timers, BMI calculations, navigation, and data-driven components.

4. User Personas

1. Fitness Enthusiast (Primary User)

  • Description: Individuals who want to work out independently without a trainer.
  • Goals: Access structured workout routines, track progress, and stay motivated.
  • Pain Points: Lack of guidance, difficulty in maintaining consistency.
Page 4 of 7

2. Beginner (Secondary User)

  • Description: Newcomers to fitness who need simple, easy-to-follow instructions.
  • Goals: Learn basic exercises, calculate BMI, and get diet suggestions.
  • Pain Points: Overwhelmed by complex fitness apps or routines.

3. Casual User

  • Description: Users who work out occasionally and want quick access to simple exercises and diet tips.
  • Goals: Perform basic workouts and maintain general fitness.
  • Pain Points: Lack of time and motivation.

5. Visuals Colors and Theme

The storm-workout app will feature a unique, gym-inspired dark theme with neon accents. The color palette is designed to evoke energy, focus, and modernity.

  • Background: #0D0D0D (Deep Black)
  • Surface: #1A1A1A (Dark Charcoal)
  • Text: #F5F5F5 (Bright White)
  • Accent: #00FF7F (Neon Green)
  • Muted Tones: #606060 (Muted Gray)

This palette ensures high contrast and readability while maintaining a sleek, professional look.

6. Signature Design Concept

The storm-workout app will feature an Interactive Workout Dashboard as its signature design concept.

Page 5 of 7

Concept Details:

  • Home Screen: A dynamic, animated dashboard that greets users with their name (e.g., "Good Morning, Raj!") and displays the daily workout suggestion in a glowing neon card.
  • Workout Categories: Each category will be represented as a 3D rotating cube. Users can swipe to rotate the cube and select a category.
  • Exercise Cards: Cards will "flip" with a smooth animation to reveal exercise details (steps, reps, sets) when tapped.
  • Timer: A circular, glowing timer that visually counts down with a pulsating neon effect.
  • Motivational Quotes: Subtle animations will make quotes appear as if they are being written in real-time, adding an engaging touch.
  • Diet Section: A split-screen view with vegetarian options on one side and non-vegetarian options on the other, allowing users to toggle seamlessly.

This design will make the app visually striking and highly interactive, leaving a lasting impression on users.

7. Non-Functional Requirements

  • The app must load all screens within 2 seconds.
  • The app must function offline using local JSON data.
  • The app must adhere to accessibility standards, ensuring readability and usability for all users.
  • The app must be compatible with Android 8.0+ and iOS 12.0+.
  • The app must use minimal battery and memory resources.
  • The app must have a clean folder structure for scalability and maintainability.

8. Tech Stack

Frontend:

  • Flutter (latest stable version)
Page 6 of 7

Backend:

  • Python with FastAPI (for future scalability if needed)

Database:

  • Local JSON files (for workouts and diet suggestions)

AI Tools:

  • None required for the initial version.

Orchestration:

  • Docker (for local development and testing)

9. Assumptions and Constraints

Assumptions:

  • Users will have basic knowledge of fitness and exercise terminology.
  • Users will primarily access the app in offline mode.
  • Users will prefer a visually engaging and interactive interface.

Constraints:

  • The app must not rely on paid APIs or external data sources.
  • The app must maintain a clean folder structure for scalability.
Page 7 of 7

10. Glossary

  • BMI: Body Mass Index, a measure of body fat based on height and weight.
  • JSON: JavaScript Object Notation, a lightweight data-interchange format.
  • Reps: Repetitions, the number of times an exercise is performed.
  • Sets: Groups of repetitions performed without rest.
  • Veg/Non-Veg Toggle: A feature allowing users to switch between vegetarian and non-vegetarian diet suggestions.

This updated SRD incorporates additional requirements and ensures all functionalities are clearly defined and tested. Let me know if there’s anything else you’d like to add, Raj kumar!

Home design preview
Home: View Greeting
Home: Read Motivational Quote
Profile: Enter Height Weight
Profile: Calculate BMI
Workouts: Browse Categories
Exercises: View Steps
Diet: View Diet Suggestions