GYM MANAGEMENT SYSTEM

 admin 01

Simple Gym System

Description

A PHP Laravel web application that uses Laravel to build that gym system. The System is based on rules. Admin, City Manager, Gym Manager. All Crud operations run using data tables.

Content

System Rules

  • Admin: admin has access to everything in the system.

  • City Manager: can do what Gym Manager does with extra functionalities ...like he can see all gyms in his city and make CRUD on any gym or gym manager in his city.

  • Gym Manager: can CRUD training sessions and assign coaches to these sessions.

System Features

  • Buy Package for user throw stripe: any role can buy a package for the user throw his visa.

  • Statistics: The system provides statistics for the following:

    • pie chart that shows the percent males to females attendance.

    • basic line chart which shows how much money we got in 12 months for this year.

    • pie chart to show each city's name and how many attendances have been made in his city.

    • pie chart that shows the top 10 users with their bought training Sessions number.

    • All Charts support filtering by year.

User API endpoints

  • The system provides an API for users.

  • endpoint to register, he needs to enter his (name, email, gender, password, password confirmation, date of birth, and profile_image) all of these fields are required.

  • after user registration, an email verification link is sent to him.

  • After the user is verified a greeting message is sent to him using queue jobs.

  • endpoint to log in by sending him an access token after specifying his email & password

  • endpoint to update his profile info

  • endpoint to see his remaining training session for example

    {
        total_training_sessions:1000,
        remaining_training_sessions:300,
    }
  • endpoint to attend training sessions

  • endpoint to see his attendance history

Designs

Database ERD

ERD-Final EED drawio

Screen Shots

Web

Admin Dashboard

admin 01

Gyms Datatable

admin 02

Training Sessions Datatable

admin 03

Add Training Session

Session add

Session add with validation

Delete

Confirmation

delete

delete failed

Success Message

edit success

Purchase History

purchase history

API

Register

api_register

After Registeritaion Success Mail Verification send to the user

Mail Verification

mail_ver_1

Token Using Sanctum

token

Verify Mail

mail_ver_2

Welcome Mail After Verification

mail_welcome

Installation

1. clone the project

  • git clone https://github.com/ashrafeldawody/GYM-APP.git
  1. Run Composer install in the project folder
  • composer install
  1. Copy .env.example file in the project folder
  • cp .env.example .env
  1. install node pacakges
  • npm install
  • npm run dev
  1. install MySQL server

create database with any name then edit the following in your .env file

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=user_name
DB_PASSWORD=password
  1. Run the following command
php artisan key:generate; php artisan migrate --seed; php artisan serve;
  1. open your browser and open the following link