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.
- 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.
- 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.
Follow these steps to get a local copy of SmartFit up and running on your machine.
- Visual Studio 2022 (with the ".NET desktop development" workload installed)
- .NET 8.0 SDK
-
Clone the repository git clone https://github.com/PrabashanaDev/SmartFit.git
-
Open the project Open
SmartFit.slnin Visual Studio 2022. -
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".
-
Build and Run Press
F5or click the "Start" button in Visual Studio to build and launch the application.
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.
This project serves primarily as an educational showcase of custom UI rendering and C# application architecture. Suggestions and improvements are always welcome.
This project is open-source and available for educational purposes.