BFit is a comprehensive fitness tracking web application built using the MERN (MongoDB, Express.js, React, Node.js) stack. It allows users to log workouts, set fitness goals, and access a library of exercises.
-
Workout Tracking
- Log workouts with exercise types, sets, reps, weights, and durations
- View workout history and progress
-
Goal Setting and Achievement Tracking
- Set personal fitness goals (e.g., target weights, distances)
- Track progress towards goals
- Receive notifications on goal achievements
-
Exercise Library
- Access a comprehensive library of exercises
- Search for exercises by name, muscle group, or equipment
- View detailed exercise descriptions, images, and proper form guidelines
-
User Authentication
- Secure user registration and login
- Personalized dashboard for each user
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- State Management: Redux (optional, if used)
- Styling: CSS3, Sass, or a UI library like Material-UI or Bootstrap
-
Clone the repository
git clone https://github.com/your-username/bfit.git cd bfit -
Install dependencies for backend and frontend
cd backend npm install cd ../frontend npm install -
Set up environment variables
- Create a
.envfile in the backend directory - Add necessary variables (e.g., MongoDB URI, JWT secret)
- Create a
-
Run the application
# In the backend directory npm start # In the frontend directory npm start -
Access the application at
http://localhost:3000
POST /api/workouts: Log a new workoutGET /api/workouts: Retrieve workout historyPOST /api/goals: Set a new fitness goalGET /api/goals: Retrieve user goalsGET /api/exercises: Fetch exercise libraryGET /api/exercises/:id: Fetch details of a specific exercise
- Integration with fitness wearables for automatic workout tracking
- Social features for connecting with friends and sharing achievements
- Customizable workout plans based on user goals
- Nutrition tracking and meal planning
Contributions to improve BFit are welcome. Please feel free to submit a pull request or open an issue for discussion.
Ahmed Abd-ur-Rahman - i210404@nu.edu.pk
Project Link: https://github.com/Asquarer02/BFit-MERN-Stack