Skip to content

fredopoku/St-Marys-Fitness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

St Mary's Fitness Management System

A desktop application for managing gym members, appointments, attendance, and locations — built with Python and PyQt5.


Screenshots

Login

Login

Dashboard

Dashboard

Members

Members

Appointments

Appointments

Attendance

Attendance

Locations

Locations


Features

  • Secure Login — Role-based access for Administrator, Manager, and Staff
  • Dashboard — Live stats for total members, active members, today's check-ins, and locations, with recent activity and upcoming appointments
  • Member Management — Add, edit, activate/deactivate members with personal and health information
  • Appointment Scheduling — Book, track, and update appointments by type and status
  • Attendance Tracking — Log check-ins and check-outs, view full attendance history
  • Location Management — Add and manage gym locations with capacity and contact details

Tech Stack

Layer Technology
Language Python 3.10+
UI Framework PyQt5
Data Storage JSON files (file-based persistence)
Architecture Repository → Service → View (layered)

Project Structure

St-Marys-Fitness/
├── main.py                         # Application entry point
├── data/                           # JSON data files (auto-created)
│   ├── members.json
│   ├── appointments.json
│   ├── attendance.json
│   └── locations.json
├── screenshots/                    # UI screenshots
└── src/
    ├── models/                     # Data models
    │   ├── common.py               # BaseModel, Address
    │   ├── member.py               # Member, MembershipType
    │   ├── appointment.py          # Appointment, AppointmentType
    │   ├── attendance.py           # AttendanceRecord
    │   ├── location.py             # Location
    │   └── subscription.py        # Subscription
    ├── repositories/               # JSON persistence layer
    │   ├── base_repository.py
    │   ├── member_repository.py
    │   ├── appointment_repository.py
    │   ├── attendance_repository.py
    │   ├── location_repository.py
    │   └── subscription_repository.py
    ├── services/                   # Business logic layer
    │   ├── member_service.py
    │   ├── appointment_service.py
    │   ├── attendance_service.py
    │   └── location_service.py
    └── ui/                         # PyQt5 views
        ├── styles.py               # Global stylesheet
        ├── main_window.py          # App shell with sidebar navigation
        ├── login_view.py           # Login dialog
        ├── dashboard_view.py       # Dashboard with stats
        ├── member_view.py          # Member management
        ├── appointment_view.py     # Appointment scheduling
        ├── attendance_view.py      # Attendance tracking
        └── location_view.py        # Location management

Getting Started

Prerequisites

  • Python 3.10 or later
  • pip

Installation

# Clone the repository
git clone https://github.com/fredopoku/St-Marys-Fitness.git
cd St-Marys-Fitness

# Install dependencies
pip install PyQt5

Run

python3 main.py

Default Credentials

Username Password Role
admin admin123 Administrator
manager manager1 Manager
staff staff123 Staff

Author

Frederick Opoku Afriyie
St Mary's University

About

A desktop fitness management system built with Python and PyQt5 — manage members, appointments, attendance, and gym locations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages