Skip to content

adithiv3/GymMembershipSystem-CS151-Spring-2026

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GymMembershipSystem-CS151-Spring-2026

Java-based Gym Membership Management System that replicates real-world gym operations using OOP. Developed for CS151 Spring 2026.

Team Members:

  • Julie Nguyen
  • Chelsea Pham
  • Alexandra Stankovich
  • Jhames Carigma

Proposed Specifications

Build

This application can be built using GNU Make. Application can be built as GymManagement.jar file.

To build this application, on command line in src directory run:

make

To run this application, on command line run:

make run

or

java -jar Main.jar

To remove all binary files and leave only source, on command line run:

make clean

Overview

  • The Gym Membership Application is a Java-based system which replicates the operations of a real-world gym through OOP. The system will support two main users with that being Members and Employees. Members can enroll in gym classes, handle billing information along with managing their memberships whereas Employees have privileges such as assigning roles, register new members and manage membership benefits.

Our Design The application stimulates a real-world gym through classes such as:

  • Membership - Represents membership tiers such as benefits to specific amenities, including payment options (monthly, annually)
  • Notification – Handles system notifications such as class enrollment confirmations or membership reminders.
  • Gym_Class - Contains class schedules, enrolled/pending members, capacity limits, fitness classes such as Yoga, Dance
  • Gym - GYM_ID, address, operating_hours, members, employees
  • Employee - Employees have privileges to assign roles, register new members, manage member’s gym membership tiers
  • Member - Representing individual gym members along with their personal information, membership tier, billing information and enrollments for classes and/or trainers

OOP Components These classes manage membership billing and payment processing.

  • Abstract Class: PaymentMethod
  • Subclasses: CreditCardPayment, PayPalPayment, BankTransferPayment

Design Considerations

  • For our application, we will include calculative logics for membership upgrades/downgrades along with cancellation fees, prevent class-over enrollment, and transitioning free-trial memberships into paid memberships if it is not cancelled before the processed payment due date.

Contributions

  • Alexandra Stankovich
    • src/gymmanagement/GymAbstractObject.java - Implemented abstract object used as the parent for various objects managed by the program.
    • src/gymmanagement/GymObject.java - Implemented parent class for most of objects used by the program. Provided unified handling of IDs, lists of objects, procedures for adding and removing objects. Implemented a text parser used for loading object data from CSV file.
    • src/gymmanagement/GymManagement.java - Implemented upper-level procedures for loading of objects (of subclasses of GymObject) from CSV file.
    • src/model/Employee.java - Implemented full functionality of Employee class, specific implementation of ManageMenu() method.
    • src/model/Coach.java - Implemented full functionality of Coach class as a subclass of Employee. Implemented references between GymClass and Coach, specific implementation of ManageMenu() method.
    • src/model/GymClass.java - Made some updates related to handling of Coach and Member classes, such as assignCoach() method.
    • src/model/Member.java - Some coordination with handling of enrolledClasses.
    • src/gymmanagement/Menu.java - Implemented menu and input system.
    • src/main/Main.java - Implemented part of menu system.

About

Java-based Gym Membership Management System that replicates real-world gym operations using OOP. Developed for CS151 Spring 2026.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 97.1%
  • Makefile 2.9%