Skip to content

ChrisKeyin/JavaFinalSprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Documentation Gym Management System

-- ============================================

Overview of the Application

The Gym Management System is a simple, easy-to-use program designed to help gym owners and staff manage:

Users (Admins, Trainers, and Members)

Gym memberships

Workout classes

Gym merchandise (shirts, drinks, protein bars, etc.)

The program runs in a menu-based interface, meaning you simply choose numbered options to perform actions. You do not need any technical background — the program guides you step-by-step.

Each person who uses the system logs in with their username and password, and depending on who they are, they will see different options. This is known as role-based access, and it ensures users only see what they should see.

-- ============================================ 2. How the System Works 2.1 Logging In

When the program starts, you can:

Register a new account

Log in with an existing account

Passwords are securely stored using BCrypt hashing, which means your password is never shown or saved in plain text.

2.2 User Roles and What They Can Do

There are three types of users, each with their own menu: -- ============================================

Admin

Admins have full control over the system. They can:

View all users and their contact information

Delete users from the system

View all memberships

View the gym’s total membership revenue

Add new merchandise items

View all merchandise

View the total value of merchandise stock

Admins do not manage workout classes — that is reserved for Trainers.

-- ============================================

Trainer

Trainers can:

Create new workout classes

Update existing workout classes

Delete workout classes they created

View their own workout classes

Purchase a membership for themselves

View gym merchandise

Trainers cannot modify merchandise prices or delete users — that’s Admin-only.

-- ============================================

Member

Members can:

Browse available workout classes

View their total membership expenses

Purchase a new membership for themselves

View merchandise available at the gym

They do not manage classes or other users. -- ============================================

-- ============================================ 3. Explanation of All Classes and Their Interactions

Here is a simple explanation — no technical terminology required.

User (Main Person Class)

Every person in the system starts as a User. A User has:

A username

A password (securely stored)

An email, phone number, and address

A role: Admin, Trainer, or Member

Three special types of users inherit from User:

Admin

Trainer

Member

This means Admins, Trainers, and Members all share the same basic information, but each has access to different menu options.

-- ============================================

Membership

A Membership represents a gym membership purchased by a Member or Trainer. Each membership stores:

Type (e.g., Monthly, Annual)

Description

Cost

When it starts and ends

Who purchased it

Admins can view all memberships. Members and Trainers can purchase their own.

-- ============================================

WorkoutClass

A Workout Class is created and managed by a Trainer. It stores:

Type (Yoga, HIIT, Strength Training, etc.)

A description

Trainer who teaches the class

Schedule date and time

Max capacity

Members can browse classes, but only Trainers can create or modify them.

-- ============================================

GymMerch

Gym merchandise items available for purchase. Each item stores:

Name (e.g., Gym Shirt, Water Bottle)

Type (Gear, Drink, Food)

Price

Quantity in stock

Admins can add new merchandise and view stock value. Members and Trainers can view all merchandise.

-- ============================================

How These Classes Work Together

Users log into the system and interact with memberships, classes, and merchandise.

Memberships are linked to Members and Trainers.

Workout classes are linked to Trainers.

Merchandise exists separately but can be viewed or modified depending on the user’s role.

-- ============================================ 4. Class Diagram (Entity Relationships)

Below is a simple visual description.

     +----------------+
     |     User       |
     |----------------|
     | userId         |
     | username       |
     | passwordHash   |
     | email          |
     | phoneNumber    |
     | address        |
     | role           |
     +----------------+
     /       |        \
    /        |         \

+-----------+ | Admin | | Trainer | | Member | +-----------+

         Trainer 1 ----- * WorkoutClass
         
         Member 1  ----- * Membership
         
         (Admin manages Users & Merch)

GymMerch is standalone but accessed by all roles.

I can generate a PNG UML diagram for you if you'd like.

-- ============================================ 5. How to Start and Use the System 5.1 Starting the Program

Open IntelliJ IDEA.

Open the project folder.

In the Project panel, navigate to:

src/main/java/com/gymmanagement/app/GymManagementApp.java

Right-click → Run 'GymManagementApp.main()'.

The application will start and show the menu.

-- ============================================ 5.2 Registering a New User

Choose 1. Register from the main menu.

Enter your username, password, and contact information.

Choose your role (Admin, Trainer, Member).

You will receive your User ID once successful.

-- ============================================ 5.3 Logging In

Choose 2. Login.

Enter your username and password.

You will be taken to your role’s menu.

-- ============================================ 5.4 Using the Menus

Each menu shows numbered actions. Just type the number and press Enter.

Examples:

Admins can type 1 to view all users.

Trainers can type 1 to create a new workout class.

Members can type 3 to purchase a membership.

The program will clearly explain what to enter next.

-- ============================================ 5.5 Quitting the System

At any time, choose 0 to go back or log out. From the main menu, choose 0. Exit to close the program. -- ============================================

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages