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!
No comments yet. Be the first!