Skip to content

Oussemasahbeni/Workout-Tracker-mern-project

Repository files navigation

Workout Tracker MERN Project

Owner Admin Open issues Analytics Views


Project 🌐 Overview:

1. Introduction:

  • This is a full-stack MERN project that allows users to track their workouts. Users can log exercises, view their workout history, and monitor their progress over time.

2. Problem Statement:

  • Traditional workout tracking methods lack cohesion and accessibility, leading to disjointed exercise monitoring and limited progress analysis for users..

3. Solution:

  • Introducing a comprehensive MERN-based platform, enabling seamless exercise logging, comprehensive workout history tracking, and personalized progress visualization, empowering users to optimize their fitness journey efficiently.

Project Features πŸš€:

Features

Authentication and Authorization:

  • Secure user registration and login.
  • Role-based access control for trainers, athletes, and administrators.

Profile Management:

  • Easy creation and maintenance of user profiles with essential details.
  • Trainers can input workout plans and progress updates.

Workout Tracking:

  • Detailed display of exercise routines and performance metrics.
  • Comprehensive tracking of workout history and progress.

Goal Setting:

  • Setting and monitoring fitness goals for better progress tracking.

Non-Functional Requirements:

  • Security: Implementing robust measures to protect user data.
  • User Experience: Providing a seamless and intuitive interface.
  • Performance: Ensuring swift response times and system efficiency for optimal user experience.

Technologies Used πŸ› οΈ:

Backend:

Tool Version Description Logo
Node.js (back) 1.0.0 Server-side JavaScript runtime Node.js
Express 4.18.2 Web application framework for Node.js Express
MongoDB 8.0.0 NoSQL database MongoDB
JWT 9.0.2 JSON Web Token for authentication JWT
Cypress 13.6.0 End-to-end testing framework Cypress
Bcrypt.js 2.4.3 Password hashing library -

Frontend:

Tool Version Description Logo
React (front) 18.2.0 Javascript web application framework react
PrimeReact 10.1.0 React UI component library PrimeReact
tailwindcss 3.3.5 CSS freamework tailwindcss
Cypress 13.6.0 End-to-end testing framework Cypress

Additional Libraries πŸ“š:

  • Cypress Slow Down: 1.3.1 - Middleware to slow down responses during testing.
  • PrimeFlex: 3.3.0 - A lightweight flexbox CSS utility library.
  • PrimeIcons: 6.0.1 - Icon library for PrimeNG.

Prerequisites

  • Node.js installed on your machine
  • MongoDB instance (local or remote)

Installation πŸ“₯ :

Follow these steps to set up and run the PharmaLab project locally:

Clone the Repository:

https://github.com/Oussemasahbeni/Workout-Tracker-mern-project.git

Install and Set Up the Backend:

  1. Navigate to the Backend Directory:
cd Workout-Tracker-mern-project/backend
  1. Install Backend Dependencies:
npm install
  1. Configure Environment Variables:
  • Create a .env file in the back directory.
  • Set up necessary variables such as database connection details, JWT secret, etc.
  1. Run the Express Backend:
npm start

The Express backend should be running at http://4000 or the port you set up in your .env file

Install and Set Up the Frontend:

  1. Navigate to the Frontend Directory:
cd Workout-Tracker-mern-project/frontend
  1. Install Frontend Dependencies:
npm install
  1. Configure React Environment::
  • Update configuration in the .env with backend API URL, etc.
  1. Run the React Frontend:
npm start

The react frontend should be running at http://localhost:3000.

Now, the project is cloned, and both the Express backend and react frontend are set up locally. Adjust the instructions based on your project structure and requirements.



Contributing 🀝:

We welcome contributions to PharmaLab! Follow these guidelines to get started:

Coding Standards:

Follow the coding standards and conventions outlined in the CONTRIBUTING.md file.
Maintain code readability and consistency.

Submitting Pull Requests:

  1. Create a New Branch:
git checkout -b feature/your-feature-name
  1. Make Changes and Commit:
  • Implement your changes and commit them.
git commit -m "Add feature: your-feature-name"
  1. Push Changes to Your Fork:
git push origin feature/your-feature-name
  1. Submit a Pull Request:
  1. Review and Merge:
    • The maintainers will review your pull request, provide feedback, and merge it once approved.

GitHub Issues:

If you find any issues or have feature requests, please open an issue on the Workout-Tracker GitHub Issues page.

Thank you for contributing to Workout-Tracker! Your efforts help make this project better.


License πŸ“„ :

This project is licensed under the MIT License.

πŸš€ Feel free to use, modify, and distribute the codebase. Contributions are welcome!

MIT License


Acknowledgments πŸ™ :

I extend my sincere appreciation to the following tools, libraries, and resources that have been instrumental in shaping and enhancing this project:

  • Node.js: The JavaScript runtime that powers the server-side of our application.
  • Express.js: The fast, unopinionated, minimalist web framework for Node.js.
  • Reactr: The framework empowering the development of our dynamic frontend.
  • MongoDB: The flexible and scalable NoSQL database that stores our data.
  • GitHub: The platform that facilitates collaborative coding and version control.
  • Cypress: The end-to-end testing framework ensuring the reliability of our application.
  • PrimeReact: The UI component library for react that enhances the aesthetics and functionality of our user interface.

These tools and resources have played a crucial role in bringing our vision to fruition. We express our gratitude to the dedicated individuals behind these projects and the broader open-source community. πŸ™Œ


Contact πŸ“§:

For any questions, issues, or collaboration inquiries related to PharmaLab, feel free to reach out to us:

Connect with me and be a part of enhancing Workout-Tracker! We appreciate your feedback and contributions.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published