A Django-based web application for managing a fitness club, including branches, members, trainers, classes, and equipment.
Peak Performance Club is an educational Django project that simulates a real-world gym management system. It demonstrates how to design scalable Django applications using models, views, templates, and advanced ORM features.
This project is part of a hands-on learning journey to understand how Django works in real-world scenarios, from database design to UI rendering.
I logged my steps in Project_Steps.md
- 🏢 Manage gym Branches
- 👤 Track Members and balances
- 🧑🏫 Manage Trainers and specializations
- 🧘 Organize Gym Classes with enrollments
- 🏋️ Monitor Equipment and maintenance status
- 🔥 Identify Trending Classes (based on members count)
- 💰 Apply Early Bird Discounts
- ⭐ Detect VIP Members
⚠️ Track Damaged Equipment using Proxy Models
-
Abstract Models (
BaseModel) -
Custom QuerySets & Managers
-
Model Properties (
@property) -
Proxy Models
-
Relationships:
- ForeignKey
- ManyToMany
-
Django Admin customization
-
Template inheritance
Peak-Performance-Club/
│
├── venv/
├── src/
│ ├── peak_performance_club/
│ ├── club_app/
│ ├── templates/
│ ├── generate_dummy_data.py
│ └── manage.py
│
└── README.md
git clone https://github.com/a7madmostafa/Peak-Performance-Club.git
cd Peak-Performance-Clubpython -m venv venv- Windows:
venv\Scripts\activate- Mac/Linux:
source venv/bin/activatepip install django==6.0.4cd src
python manage.py makemigrations
python manage.py migratepython manage.py shellThen, in the shell, run the following code:
from generate_dummy_data import run
run()python manage.py createsuperuserpython manage.py runserver| Page | URL |
|---|---|
| Home | / |
| Branches | /branches/ |
| Members | /members/ |
| Trainers | /trainers/ |
| Classes | /classes/ |
| Equipment | /equipments/ |
| Admin | /admin/ |
@property
def is_vip(self):
return self.balance > 1000GymClass.objects.trending()def early_bird_price(self):
if self.start_date > timezone.now() + timedelta(days=30):
return self.base_price * 0.8
return self.base_priceAhmad Mostafa
- GitHub: https://github.com/a7madmostafa
This project is for educational purposes.