Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FitHub Logo

FitHub 🏋️‍♀️

FitHub is a fitness tracking platform built using the MERN stack, where users can manage their workout plans. It provides secure user authentication with JWT, password hashing using bcrypt with salt, and full CRUD functionality for workout management.


Features ✨

  • Authentication & Security:

    • User login and signup with JWT-based authentication.
    • Passwords are hashed using bcrypt with added salt for security.
  • Workout Management:

    • Create: Add new workouts to your fitness plan.
    • Read: View all workouts linked to your account.
    • Update: Modify existing workout details.
    • Delete: Remove workouts you no longer need.
  • Personalized: All workouts and data are securely linked to the authenticated user.


Technologies Used 🛠️

  • Frontend: React.js
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JSON Web Tokens (JWT), bcrypt
  • Styling: CSS

Screenshots 📸

Take a look at the key features of FitHub through these screenshots:


Authentication Screens

Authentication Screenshot


Workouts Added

Workouts Added


Edit Workout

Edit Workout


Different User

Another User's Screenshot


Installation & Setup 🚀

Follow the steps below to set up and run the project locally:

Prerequisites

Make sure you have the following installed on your machine:

Steps

  1. Clone the Repository:

    git clone https://github.com/your-username/FitHub.git
    cd FitHub
  2. Install Dependencies:

    • Navigate to the backend folder and install server dependencies:
      cd backend
      npm install
    • Navigate to the frontend folder and install client dependencies:
      cd ../frontend
      npm install
  3. Set Up Environment Variables:

    • Create a .env file in the backend folder with the following keys:
      PORT=5000
      MONGO_URI=your-mongodb-connection-string
      SECRET=your-secret-key
      
  4. Start the Application:

    • Start the backend server:
      cd backend
      npm start
    • Start the frontend:
      cd ../frontend
      npm start
  5. Access the Application:

    • Open your browser and navigate to http://localhost:3000.

API Endpoints 🐂

Authentication

  • POST /api/auth/signup: Register a new user.
  • POST /api/auth/login: Login and receive a token.

Workout Management

  • GET /api/workouts: Fetch all workouts of the authenticated user.
  • POST /api/workouts: Create a new workout.
  • PUT /api/workouts/:id: Update an existing workout.
  • DELETE /api/workouts/:id: Delete a workout.

Contribution 🛠️

We welcome contributions! Follow these steps to get started:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add feature').
  4. Push to your branch (git push origin feature-name).
  5. Open a pull request.

Feedback & Support 💬

We'd love to hear from you! If you come across any issues, or if you have any suggestions to make things better, don't hesitate to share your thoughts. Open an Issue or reach out directly via email at amitk70200@gmail.com. Your feedback helps us grow and improve!


Thank You for Checking Out FitHub! Let's stay fit and productive! 💪

About

Stay on track with your fitness goals! This workout reminder & to-do app helps you schedule workouts, set reminders, track progress, and stay motivated.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages