Skip to content

EslamSalem/gym-coach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gym Coach favicon-32x32

A website for a gym to manage their clients or enroll new ones. It has all the information needed about the workouts and the nutrition plan. The Frontend was made by HTML - EJS Templates, CSS, and JavaScript - VueJS. The Backend was made by NodeJS - ExpressJS. And the data is stored in a MongoDB database.

HTML CSS Bootstrap JavaScript Vue.js Node.js Express mongoDB

Overview

This section provides a comprehensive overview for the website, outlining the methodology, the tools used, and the approach taken.

Authentication

Anyone visiting the website for the first time will land at the homepage. The homepage informs the user more about the gym and what they offer in terms of training and nutrition. If the user wants to join the gym, they create an account and buy a membership. The payment is handled with Stripe API.

New Incognito Tab - Google Chrome 12_9_2023 12_54_46 PM

New Incognito Tab - Google Chrome 12_9_2023 12_55_16 PM

New Incognito Tab - Google Chrome 12_9_2023 12_55_29 PM



The user fills and submits the signup form.

gym-coach-2-Made-with-Clipchamp



If the user already has an account, they can login instead.

gym-coach-3-Made-with-Clipchamp



Once the user is logged in, if they don't have a membership, they are redirected to buy one.
If the payment is successful, they are redirected to their program page where they can view their weekly routine and diet plan once they've been set. An expiry date of one month is then set and their access will be revoked automatically after that period.

gym-coach-4-Made-with-Clipchamp



If the payment failed for some reason, he is redirected back to the homepage.

gym-coach-5-Made-with-Clipchamp



The user can also edit their name and profile picture.

gym-coach-12-Made-with-Clipchamp



Administration

Some users are recognized as admins when they login and are given certain management privileges.

gym-coach-6-Made-with-Clipchamp



The admin can add workouts to the workouts collection, edit the name of the workout, or delete it from the collection entirely

gym-coach-7-Made-with-Clipchamp



The admin can create a workout log consisting of several workouts or delete an existing one.

gym-coach-8-Made-with-Clipchamp



After the admin had created the workout log, they can populate it with workouts from the existing workouts collection. They can choose the workout from a dropdown menu, set the number of sets and reps for the workout, and finally save the workout log with the chosen workouts. They can also remove a workout from the workout log after it's been set.

gym-coach-10-Made-with-Clipchamp



The admin can create a diet plan consisting of several meals or delete an existing one.

gym-coach-9-Made-with-Clipchamp



After the admin had created the diet plan, they can populate it with meals they specify for each individual plan. They can also remove a meal from the plan after it's been set.

gym-coach-11-Made-with-Clipchamp



The admin can set a user's weekly routine and diet plan. They can add the number of workout logs they desire to make a weekly routine for the user by choosing from a number of existing workout logs in a dropdown menu and adding it to the weekly routine. They can select the diet plan from the existing diet plans in another dropdown menu.

gym-coach-13-Made-with-Clipchamp



The user can view his weekly routine and diet plan from his program page.

gym-coach-14-Made-with-Clipchamp

gym-coach-15-Made-with-Clipchamp



The admin can ban a user's access to the site, or he can grant him access for one month.

gym-coach-16-Made-with-Clipchamp



The admin can edit his name and profile picture after an update. They will be displayed on all the management pages.

gym-coach-17-Made-with-Clipchamp



Responsive Design

This website is completely responsive to the size of the screen and optimized for a mobile or tablet view.

Screenshot 2023-12-09 181423 Screenshot 2023-12-09 181617 Screenshot 2023-12-09 181644 Screenshot 2023-12-09 182008 Screenshot 2023-12-09 182037 Screenshot 2023-12-09 182151 Screenshot 2023-12-09 181805 Screenshot 2023-12-09 182236 Screenshot 2023-12-09 183953 Screenshot 2023-12-09 183521 Screenshot 2023-12-09 182344 Screenshot 2023-12-09 183542

Database Design

The database consists of three main entities/collections. The User, the workout log for the weekly routine, the workout, and the nutrition plan.

The user collection includes the user's personal info, an expiry date for the membership, two booleans to check the user's access and whether or not he is an admin, an array of references to the workout logs collection, and a reference to a nutrition plan.

The workout log collection includes the log's name and an array of workout references.

The workout collection includes the workout's name.

The nutrition collection includes the plan's name and the meals.

Blank diagram

About

A Fullstack website for a gym to manage their clients or enroll new ones. It has all the information needed about the workouts and the nutrition plan.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors