Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SmartFit - Gym Management System

SmartFit is a modern, feature-rich desktop application designed to help users track their fitness journeys and manage workout programs. Built with C# and Windows Forms (.NET 8.0), it showcases a custom-rendered user interface that breaks away from traditional Windows desktop aesthetics, offering a sleek, responsive experience with built-in dark and light themes.

Features

  • Custom UI Engine: A fully custom-painted interface featuring rounded corners, drop shadows, hover effects, and a unified color token system.
  • Authentication: Secure user registration and login system with role-based access control (Admin and Member).
  • Dynamic Dashboard: A comprehensive overview of user statistics, volume trends over the last 30 days, progressive overload recommendations, and AI-driven insights.
  • Workout Logging: An intuitive interface for logging daily workouts, tracking sets, reps, weight, and Rate of Perceived Exertion (RPE).
  • Exercise Catalog: A searchable and filterable database of exercises. Administrators have full CRUD (Create, Read, Update, Delete) capabilities to manage the catalog.
  • Smart Program Generation: Automatically generates personalized 7-day workout splits based on the user's fitness goals, experience level, and available days.
  • Readiness Check-ins: A daily check-in system that assesses sleep quality, muscle soreness, and HRV to provide a daily readiness score and adjust workout intensity recommendations.
  • Theme Management: Seamless switching between Dark Mode and Light Mode, with live UI updates across all components.

Technical Stack

  • Language: C# 12.0
  • Framework: .NET 8.0 (Windows Forms)
  • Architecture: 6-Layer Architecture (Models, Data, Services, Forms, Controls, Themes)
  • Database: SQLite (Microsoft.Data.Sqlite)
  • UI Rendering: GDI+ (System.Drawing) for all custom controls and animations.

Getting Started

Follow these steps to get a local copy of SmartFit up and running on your machine.

Prerequisites

  • Visual Studio 2022 (with the ".NET desktop development" workload installed)
  • .NET 8.0 SDK

Installation

  1. Clone the repository git clone https://github.com/PrabashanaDev/SmartFit.git

  2. Open the project Open SmartFit.sln in Visual Studio 2022.

  3. Restore Dependencies Visual Studio should automatically restore the required NuGet packages (e.g., Microsoft.Data.Sqlite). If it does not, right-click the solution in the Solution Explorer and select "Restore NuGet Packages".

  4. Build and Run Press F5 or click the "Start" button in Visual Studio to build and launch the application.

Database Initialization

The application uses a local SQLite database (smartfit.db). You do not need to set up a database server. Upon running the application for the very first time, the database schema will be automatically created in your output directory (bin/Debug/net8.0-windows/), and initial tables will be seeded.

Default Admin Credentials:

  • Username: admin
  • Password: admin123

You can use these credentials to log in and explore the administrator features, such as adding new exercises to the catalog.

Contributing

This project serves primarily as an educational showcase of custom UI rendering and C# application architecture. Suggestions and improvements are always welcome.

License

This project is open-source and available for educational purposes.

About

SmartFit is a modern, feature-rich desktop application designed to help users track their fitness journeys and manage workout programs. Built with C# and Windows Forms (.NET 8.0)

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages