GymManagementSystem is a comprehensive Gym Management System designed for administrators to manage Members, Trainers, Plans, Memberships, Sessions, and Schedules.
This system focuses on role-based access, membership management, session tracking, and trainer management.
- Full control over the system.
- Can manage:
- Members (Add, Update, Delete, View)
- Trainers (Add, Update, Delete, View)
- Sessions & Schedules
- Membership Plans
- Admins (Add, Update, Delete)
- Can activate/deactivate any entity.
- Limited control:
- Manage Sessions, Plans, Memberships, Schedules
- Cannot manage other Admins
- Responsible for daily gym operations.
- Stores personal and health information:
- Name, Email, Gender, Date of Birth, Phone, Address
- Health: Height, Weight, Blood Type
- Operations:
- Add, Update, Delete, View
- Track membership history and attendance
- Stores trainer information:
- Name, Email, Phone, Specialties, Address, Date of Birth
- Operations:
- Add, Update, Delete, View
- Types: Basic, Standard, Premium, Annual
- Features:
- Activate / Deactivate / Edit
- Assign members to one plan only
- Assign members to plans
- Prevent duplicate memberships
- Track status: Active, Expired, Cancelled
- Status: Upcoming, Ongoing, Completed
- Categories: Yoga, CrossFit, General Fitness, Boxing
- Operations:
- Book (Upcoming sessions)
- Take Attendance (Ongoing sessions)
- Complete (Completed sessions)
- Schedule Upcoming & Ongoing sessions
- Automatic status updates based on time
- Integrates members, trainers, and attendance
- Frontend: HTML5, CSS3, Bootstrap 5, JavaScript
- Backend: ASP.NET Core MVC (.NET 9)
- Authentication & Authorization: ASP.NET Core Identity
- Database: SQL Server
- ORM: Entity Framework Core
- Mapping: AutoMapper
- Pattern: Repository + Unit of Work
- SuperAdmin sets up Admins, Trainers, Plans.
- Admin manages Members, Sessions, and Schedules.
- Members join plans and book sessions.
- Trainers conduct sessions and record attendance.
- System tracks membership, session status, and updates automatically.
- Role-based access control ensures data security.
- Single-plan restriction avoids membership conflicts.
- Automatic session tracking reduces manual errors.
- System designed for scalability and maintainability.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add YourFeature') - Push to the branch (
git push origin feature/YourFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.