Skip to content

Advanced C++ Fitness Tracker - Comprehensive semester project showcasing data structures, database management, and system architecture

License

Notifications You must be signed in to change notification settings

inventixcity/advanced-fitness-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‹οΈβ€β™‚οΈ Advanced Fitness Tracker

License: MIT C++ SQLite Platform

πŸ“‹ Table of Contents

Overview

An advanced C++ fitness tracking application designed as a comprehensive semester project showcasing sophisticated programming concepts, data structures, and database management. This console-based application provides complete fitness tracking capabilities with admin management, user authentication, and beautiful HTML report generation.

🎯 Project Level: Advanced

  • Data Structures: Custom linked lists, queues, stacks, unions, and advanced memory management
  • Database Design: Complex relational schema with foreign keys, transactions, and advanced SQL operations
  • Memory Management: Sophisticated dynamic memory allocation with proper cleanup and leak prevention
  • System Architecture: Multi-layered application with separation of concerns and modular design

πŸš€ Features

πŸ‘€ User Management

  • Secure Authentication System
    • User registration with comprehensive validation
    • Secure login with password hashing
    • Admin authentication with elevated privileges
    • Password reset functionality with admin approval

πŸƒβ€β™‚οΈ Fitness Tracking

  • Comprehensive Workout Logging
    • Cardio exercises (Running, Swimming, Walking, Cycling, etc.)
    • Strength training with sets, reps, and weight tracking
    • Automatic calorie calculation using MET values
    • Exercise duration and intensity tracking
    • Session-based workout organization

🍎 Nutrition Management

  • Advanced Food Logging
    • Searchable food database with nutritional information
    • Custom food item creation with macro tracking
    • Portion size and unit conversion
    • Daily nutrition summaries
    • Calorie balance calculations

πŸ“Š Health Metrics

  • Comprehensive Health Calculations
    • BMI (Body Mass Index) calculation and categorization
    • BMR (Basal Metabolic Rate) computation
    • TDEE (Total Daily Energy Expenditure) estimation
    • Ideal weight calculations
    • Goal-oriented calorie recommendations

🎯 Goal Setting & Tracking

  • Smart Goal Management
    • Weight goal setting with timeline estimation
    • Progress tracking with visual indicators
    • Calorie budget adjustments based on goals
    • Achievement monitoring

πŸ“… Daily Wellness Tracking

  • Comprehensive Checklist System
    • Water intake tracking (8 glasses daily)
    • Fruit and vegetable consumption (5 servings)
    • Sleep quality monitoring (7-8 hours)
    • Exercise completion tracking
    • Mindfulness/meditation practice
    • Daily weight logging

πŸ”§ Administrative Features

  • Advanced Admin Panel
    • User management and oversight
    • Password reset request processing
    • Public account approval system
    • User data analytics and sorting
    • Request queue management with FIFO processing

πŸ”„ Advanced System Features

  • Undo/Redo Functionality
    • Complete action history tracking
    • Reversible operations for all major actions
    • Session-based undo/redo stacks
    • Data integrity preservation

πŸ“ˆ Reporting & Analytics

  • Beautiful HTML Reports
    • Glassmorphism-styled responsive reports
    • Interactive charts and visualizations
    • Monthly checklist summaries
    • Food log analytics with macro breakdowns
    • Progress tracking with animated counters

πŸ—οΈ Architecture & Technical Highlights

🧠 Advanced Data Structures

  • Custom Linked Lists: Dynamic exercise and food entry management
  • Queue Implementation: FIFO admin request processing
  • Stack-based Undo/Redo: Complete action history management
  • Union Types: Memory-efficient exercise data storage
  • Tree-like Structures: Hierarchical user data organization

πŸ—„οΈ Database Architecture

  • Relational Database Design: Complex schema with 8+ interconnected tables
  • Transaction Management: ACID compliance with rollback capabilities
  • Foreign Key Relationships: Referential integrity maintenance
  • Advanced SQL Operations: JOINs, subqueries, and aggregate functions
  • Dynamic Schema Evolution: Runtime table modification support

🧩 Memory Management Excellence

  • Smart Pointer Usage: Automatic memory cleanup
  • Resource Acquisition Is Initialization (RAII): Proper resource management
  • Memory Leak Prevention: Comprehensive cleanup routines
  • Dynamic Memory Allocation: Efficient memory usage patterns
  • Stack vs Heap Optimization: Performance-conscious memory strategies

πŸ” Security Implementation

  • Password Hashing: Secure password storage with salt
  • Input Validation: Comprehensive sanitization and validation
  • SQL Injection Prevention: Parameterized queries
  • Session Management: Secure user session handling
  • Access Control: Role-based permission systems

πŸ”§ Installation

Prerequisites

  • Operating System: Linux (Ubuntu/Debian recommended)
  • Compiler: GCC 9.0+ with C++17 support
  • Database: SQLite 3.x development libraries
  • Build Tools: Make, CMake (optional)

Dependencies Installation

# Ubuntu/Debian
sudo apt update
sudo apt install build-essential sqlite3 libsqlite3-dev

# CentOS/RHEL
sudo yum install gcc-c++ sqlite-devel

# Arch Linux
sudo pacman -S gcc sqlite

Building the Project

# Clone the repository
git clone https://github.com/inventixcity/advanced-fitness-tracker.git
cd advanced-fitness-tracker

# Compile the project
g++ -std=c++17 -Wall -Wextra -O2 main.cpp -lsqlite3 -o fitness_tracker

# Run the application
./fitness_tracker

Alternative Build with Makefile

make clean
make
make run

🎯 Usage

First Launch

  1. Database Initialization: Automatic database creation and table setup
  2. Admin Setup: Use default admin credentials (admin@system.local / AdminPass123!)
  3. User Registration: Create user accounts with comprehensive validation

Main Features Navigation

Main Menu Options:
1. Sign Up (New User Registration)
2. User Login (Access Personal Dashboard)
3. Admin Login (Administrative Functions)
4. Forgot Password (Reset Request)
5. Exit Application

User Dashboard Features

  • Personal Statistics: BMI, BMR, TDEE, and health metrics
  • Goal Management: Set and track weight goals
  • Workout Logging: Record exercise sessions
  • Food Tracking: Log meals and nutrition
  • Daily Checklist: Track wellness activities
  • Report Generation: Export beautiful HTML reports

Admin Panel Capabilities

  • User Management: View and sort all users
  • Request Processing: Handle password resets and public account requests
  • Data Analytics: User statistics and sorting algorithms
  • System Monitoring: Queue management and oversight

πŸ“Š Database Schema

Core Tables

  • USERS: User profiles with authentication and health data
  • WORKOUT_SESSIONS: Exercise session records
  • WORKOUT_EXERCISES: Individual exercise details
  • FOOD_LOG_SESSIONS: Meal logging sessions
  • FOOD_LOG_ENTRIES: Individual food items
  • GLOBAL_FOOD_ITEMS: Master food database
  • USER_DAILY_RECORDS: Daily wellness tracking

Advanced Features

  • Foreign Key Relationships: Referential integrity across tables
  • Cascade Operations: Automatic cleanup on deletions
  • Indexing: Optimized query performance
  • Transaction Support: Data consistency guarantees

🧩 Data Structures

Custom Implementations

// Linked List for Exercise Management
struct WorkoutExerciseNode {
    LoggedExerciseType type;
    union {
        CardioLogData cardio;
        StrengthLogData strength;
    } details;
    WorkoutExerciseNode* next;
    long long dbExerciseID;
};

// Queue for Admin Requests
struct AdminRequestQueue {
    AdminRequestNode* front;
    AdminRequestNode* rear;
    int count;
};

// Stack for Undo/Redo Operations
struct ActionStack {
    ActionNode* top;
};

Memory Management Patterns

  • RAII Implementation: Automatic resource management
  • Smart Cleanup: Proper destructor chains
  • Memory Pool Usage: Efficient allocation strategies
  • Leak Prevention: Comprehensive cleanup routines

πŸ”„ Advanced Features

Undo/Redo System

  • Action History: Complete operation tracking
  • State Management: Before/after state preservation
  • Data Consistency: Integrity maintenance during reversals
  • Session-based: Per-user action stacks

Sorting Algorithms

  • Selection Sort: BMI-based user sorting
  • Merge Sort: Age-based user organization
  • Custom Comparators: Multi-criteria sorting

Report Generation

  • HTML5 + CSS3: Modern web technologies
  • Responsive Design: Mobile-friendly layouts
  • Interactive Charts: Chart.js integration
  • Glassmorphism UI: Modern design aesthetics

πŸ“ Project Structure

advanced-fitness-tracker/
β”œβ”€β”€ main.cpp                 # Main application source
β”œβ”€β”€ sqlite3.h               # SQLite header (if bundled)
β”œβ”€β”€ Makefile                # Build configuration
β”œβ”€β”€ README.md               # This file
β”œβ”€β”€ LICENSE                 # MIT License
β”œβ”€β”€ docs/                   # Documentation
β”‚   β”œβ”€β”€ ARCHITECTURE.md     # System architecture
β”‚   β”œβ”€β”€ DATABASE.md         # Database design
β”‚   └── API.md              # Function documentation
β”œβ”€β”€ examples/               # Usage examples
β”‚   β”œβ”€β”€ sample_data.sql     # Sample database
β”‚   └── screenshots/        # Application screenshots
└── tests/                  # Test files
    β”œβ”€β”€ test_data.cpp       # Data structure tests
    └── test_db.cpp         # Database tests

πŸ” Security Features

Authentication & Authorization

  • Password Hashing: Secure storage with custom hashing
  • Session Management: Secure user sessions
  • Role-based Access: Admin vs User permissions
  • Input Validation: Comprehensive sanitization

Data Protection

  • SQL Injection Prevention: Parameterized queries
  • Buffer Overflow Protection: Safe string operations
  • Memory Safety: Proper bounds checking
  • Access Control: Data privacy enforcement

🎨 User Interface

Console Interface

  • ANSI Color Coding: Beautiful terminal output
  • Interactive Menus: User-friendly navigation
  • Progress Indicators: Visual feedback systems
  • Error Handling: Graceful error messages

HTML Reports

  • Glassmorphism Design: Modern UI aesthetics
  • Responsive Layout: Mobile-friendly design
  • Interactive Elements: Animated charts and counters
  • Professional Styling: Publication-ready reports

πŸ“ˆ Reports & Analytics

Available Reports

  • Monthly Checklist Summary: Wellness tracking overview
  • Food Log Analytics: Nutrition analysis with charts
  • Progress Reports: Goal tracking visualization
  • Health Metrics: Comprehensive health analysis

Export Features

  • HTML Format: Professional, printable reports
  • Interactive Charts: Chart.js powered visualizations
  • Data Export: CSV-compatible data formats
  • Automated Generation: Scheduled report creation

🀝 Contributing

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Standards

  • C++17 Standard: Modern C++ practices
  • Code Documentation: Comprehensive comments
  • Memory Safety: RAII and smart pointers
  • Error Handling: Proper exception management

Testing

  • Unit Tests: Individual component testing
  • Integration Tests: System-wide testing
  • Memory Tests: Leak detection and prevention
  • Performance Tests: Optimization validation

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Umer Fraz Ahmed - Developer & Designer - Advanced C++ Fitness Tracker Project

πŸ“§ Contact


πŸ“œ Copyright

Β© 2025 Umer Fraz Ahmed. All rights reserved.

This project is the intellectual property of Umer Fraz Ahmed and is protected under copyright law. The source code is made available under the MIT License for educational and open-source purposes.


🌟 Key Achievements

  • Advanced Data Structures: Custom implementations with optimal performance
  • Memory Management Excellence: Zero-leak architecture with proper cleanup
  • Database Mastery: Complex relational design with advanced SQL operations
  • Security Implementation: Comprehensive protection against common vulnerabilities
  • User Experience: Beautiful interfaces with professional report generation
  • System Architecture: Modular design with separation of concerns

This project demonstrates mastery of advanced C++ programming concepts, data structures, database design, and system architecture suitable for advanced coursework or professional development portfolios.

About

Advanced C++ Fitness Tracker - Comprehensive semester project showcasing data structures, database management, and system architecture

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages