The FitLife project aims to create a web application where users can receive online fitness coaching services. This platform provides personalized guidance and support to help users achieve their fitness and healthy lifestyle goals.
The FitLife project is a web application designed to offer online fitness coaching services. It aims to assist users in achieving their fitness goals by providing personalized workout programs, nutrition plans, and direct communication with experienced trainers.
- Programming Languages: Java Spring, React
- Database: Cloud-based relational database service
- Web Development: HTML, CSS, JavaScript
The FitLife platform comprises several key features:
-
User Registration and Login:
- Users can register by providing basic personal information such as name, surname, date of birth, gender, email address, phone number, and profile photo.
- Users can log in using their email and securely stored password. Authentication processes should be implemented.
- A "forgot password" option is available for users to reset their passwords.
-
User Profiles:
- Users can edit their personal profile pages, add profile pictures, and update basic information.
-
User Roles:
- The application has three user roles: Admin, Trainer, and Trainee.
- Admins have comprehensive access rights for general application management, including managing user accounts and data.
- Trainers can edit their profile information, access information about assigned trainees, create and update exercise programs, and create and update nutrition plans.
- Trainees can view and edit their profiles, access exercise and nutrition plans, communicate with trainers, add and manage progress records, and view visual reports.
-
Trainer Profiles:
- Trainers can edit their profile information, including name, surname, specialization areas (weight gain, weight loss, weight maintenance, muscle gain), experiences, and contact details.
-
Trainer-Trainee Relationship:
- After trainees enter their personal information and goals, the system will systematically match trainers based on their expertise and the number of trainees they can handle.
- Each trainer can have a maximum of 5 trainees.
-
Database Design:
- Utilize a cloud-based relational database service
- Design tables such as 'User,' 'Trainer,' 'Workout Programs,' 'Nutrition Plans,' 'Messaging,' and 'User-Trainer Relationship.'
- Establish relationships between tables using keys, ensuring normalization.
-
Installation:
- Clone the repository:
git clone https://github.com/your-username/fitlife.git
- Navigate to the project directory:
cd fitlife
- Clone the repository:
-
Running the Application:
- Start the application using your preferred web development environment.
-
Accessing the Interface:
- The application should provide a user-friendly web interface for users, trainers, and admins.
- Visualize the dynamic aspects of the program, such as progress reports and interactive communication.
- Regularly update the documentation to reflect any changes or improvements in the project.