Skip to content

MohamedAliShosha/Athlio

Repository files navigation

Athlio – Fitness Tracking App 🦾

🌟Overview

  • Athlio is a Flutter app that helps users track workouts, browse exercises and explore different workout splits.

App Overview

✨Views

🖼️ Onboarding View:

  • Welcomes users to Athlio, the ultimate workout companion app
  • Includes the app logo
  • Motivational tagline — “Track your daily exercise & watch your progress!”
  • “Get Started” button navigates to the Login view

App Overview

🔐 Login View:

  • 📧 Allows registered users to sign in using Email and Password
  • 🆕 “Register now” navigation button for new users
  • ✅ On successful login, users are directed to the Workout View

App Overview

📝 Sign-Up View:

  • 📝 Enables new users to create an account by entering: Name, Email, Phone, Password, and Confirm Password
  • ✅ On successful sign-up, users are directed to the Workout View
  • ↩️ "Already have an account?" option
  • ➡️ "Sign In" navigation button

App Overview

🏠 Workout View:

  • 💪 Displays the list of workouts (e.g., Chest, Back, Arms, Shoulders, Legs)
  • 🗓️ Each workout card shows the date and muscle group
  • ➕ Users can add a new workout via the Floating Action Button (FAB)

App Overview

📂 Navigation Drawer:

  • 🧭 Provides quick access to main app sections: Profile and Workout Splits
  • 📲 Opens from the side menu icon for seamless navigation

App Overview

🏋️‍♀️ Exercises View:

  • 📋 Displays all exercises related to the selected workout (e.g., Bench Press, Cable Cross)
  • 🏷️ Each card includes exercise name, sets, reps, and weights
  • ✅ Completed exercises are highlighted in green
  • ➕ Users can easily add or delete exercises

App Overview

🧩 Workout Splits View:

  • 🧠 Displays available training programs such as: Pro Split, Push Pull Legs, Upper & Lower, Arnold Split, Full Body
  • 📖 Each split includes a short description of its focus and structure

App Overview

👤 Profile View:

  • 🪪 Displays user info, including Name and Email
  • 🚪 Includes a Logout button for secure sign-out

App Overview

🛠️ Tech Stack

📱 Frontend

  • Framework: Flutter
  • State Management: Bloc

🌐 Backend

  • API: [Rest API]

🏗️ Architecture

  • 🧩 MVVM pattern
  • 📡 REST API integration
  • 💽 Local storage
lib/                                                                                                                                               
│                                                                                                                                                  
├── core/                      # 🧩 Shared logic and reusable components                                                                            
│   ├── di/                    # Dependency injection (service locator, initialization)                                                            
│   ├── functions/             # Global helper functions                                                                                           
│   ├── networking/            # API services, models, and network configuration                                                                   
│   ├── routing/               # AppRouter and navigation logic                                                                                    
│   ├── utils/                 # Constants, colors, styles, and utility classes                                                                    
│   └── widgets/               # Common UI widgets (buttons, loaders, etc.)                                                                        
│                                                                                                                                                  
└── features/                  # 🧠 Feature-based structure (each module is independent)                                                            
    ├── home/                  # Displays list of workouts (e.g., Back, Chest, Legs)                                                               
    ├── exercises/             # Displays exercises for a selected workout                                                                         
    ├── login/                 # Handles user authentication (login flow)                                                                          
    ├── signup/                # Handles user registration (sign-up flow)                                                                          
    ├── onboarding/            # First-time app introduction screens                                                                               
    ├── profile/               # User profile and account management                                                                               
    └── workout_splits/        # User-defined workout programs or training splits                                                                  
                                                                                                                                                   
assets/                                                                                                                                            
├── fonts/           # Custom app fonts                                                                                                            
├── images/          # App icons, logos, and illustrations                                                                                         
└── screenShots/     # App preview screenshots for the README                                                                                      
                                                                                                                                                   

Key Points:

  • core/: Common utilities, local storage services, and shared widgets used across the app.
  • features/: Each feature (Onboarding, Home, Workout splits, Exercises, Profile) is isolated with its own data and presentation layers.
  • data/: Contains models and repository implementations for each feature.
  • presentation/manager/: State management (Cubit/BLoC) for each feature.
  • presentation/views/: Screens/pages for each feature.
  • presentation/widgets/: UI components and reusable widgets specific to each feature.
  • assets/: Static resources such as images and icons.
  • main.dart: App entry point.

This structure is scalable, modular, and easy to maintain as your app grows.

About

Athlio — A Flutter-based fitness tracker app that helps users plan, log, and track their workouts effortlessly. It features user authentication, customizable workout splits, progress tracking, and a clean, intuitive UI for an optimized gym experience. Stay consistent, track your progress, and achieve your fitness goals with Athlio!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors