- Overview
- π Features
- ποΈ Architecture & Technical Highlights
- π§ Installation
- π― Usage
- π Database Schema
- π§© Data Structures
- π Advanced Features
- π Project Structure
- π Security Features
- π¨ User Interface
- π Reports & Analytics
- π€ Contributing
- π License
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.
- 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
- Secure Authentication System
- User registration with comprehensive validation
- Secure login with password hashing
- Admin authentication with elevated privileges
- Password reset functionality with admin approval
- 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
- 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
- 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
- Smart Goal Management
- Weight goal setting with timeline estimation
- Progress tracking with visual indicators
- Calorie budget adjustments based on goals
- Achievement monitoring
- 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
- 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
- Undo/Redo Functionality
- Complete action history tracking
- Reversible operations for all major actions
- Session-based undo/redo stacks
- Data integrity preservation
- 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
- 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
- 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
- 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
- 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
- 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)
# 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# 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_trackermake clean
make
make run- Database Initialization: Automatic database creation and table setup
- Admin Setup: Use default admin credentials (admin@system.local / AdminPass123!)
- User Registration: Create user accounts with comprehensive validation
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
- 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
- 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
- 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
- Foreign Key Relationships: Referential integrity across tables
- Cascade Operations: Automatic cleanup on deletions
- Indexing: Optimized query performance
- Transaction Support: Data consistency guarantees
// 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;
};- RAII Implementation: Automatic resource management
- Smart Cleanup: Proper destructor chains
- Memory Pool Usage: Efficient allocation strategies
- Leak Prevention: Comprehensive cleanup routines
- Action History: Complete operation tracking
- State Management: Before/after state preservation
- Data Consistency: Integrity maintenance during reversals
- Session-based: Per-user action stacks
- Selection Sort: BMI-based user sorting
- Merge Sort: Age-based user organization
- Custom Comparators: Multi-criteria sorting
- HTML5 + CSS3: Modern web technologies
- Responsive Design: Mobile-friendly layouts
- Interactive Charts: Chart.js integration
- Glassmorphism UI: Modern design aesthetics
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
- Password Hashing: Secure storage with custom hashing
- Session Management: Secure user sessions
- Role-based Access: Admin vs User permissions
- Input Validation: Comprehensive sanitization
- SQL Injection Prevention: Parameterized queries
- Buffer Overflow Protection: Safe string operations
- Memory Safety: Proper bounds checking
- Access Control: Data privacy enforcement
- ANSI Color Coding: Beautiful terminal output
- Interactive Menus: User-friendly navigation
- Progress Indicators: Visual feedback systems
- Error Handling: Graceful error messages
- Glassmorphism Design: Modern UI aesthetics
- Responsive Layout: Mobile-friendly design
- Interactive Elements: Animated charts and counters
- Professional Styling: Publication-ready reports
- Monthly Checklist Summary: Wellness tracking overview
- Food Log Analytics: Nutrition analysis with charts
- Progress Reports: Goal tracking visualization
- Health Metrics: Comprehensive health analysis
- HTML Format: Professional, printable reports
- Interactive Charts: Chart.js powered visualizations
- Data Export: CSV-compatible data formats
- Automated Generation: Scheduled report creation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- C++17 Standard: Modern C++ practices
- Code Documentation: Comprehensive comments
- Memory Safety: RAII and smart pointers
- Error Handling: Proper exception management
- Unit Tests: Individual component testing
- Integration Tests: System-wide testing
- Memory Tests: Leak detection and prevention
- Performance Tests: Optimization validation
This project is licensed under the MIT License - see the LICENSE file for details.
Umer Fraz Ahmed - Developer & Designer - Advanced C++ Fitness Tracker Project
- Email: inventixcui@gmail.com
- GitHub: UmerFrazAhmed
Β© 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.
- 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.