This Workout Record-Keeping Application helps users track their workouts, including the exercise name, number of repetitions (reps), and the weight lifted. Built with the MERN stack (MongoDB, Express, React, and Node.js), this application allows users to log, view, and analyze their workout history to track progress over time.
- Workout Logging: Keep track of the workout name, reps, and weight for each session.
- History View: View past workout records and filter by specific exercises.
- Progress Tracking: Monitor changes in reps and weight over time for each workout.
- Responsive UI: Clean, responsive user interface built with React.
- MongoDB - For storing workout data (name, reps, weight) in a flexible, document-based database.
- Express.js - For building the backend API to handle CRUD operations for workouts.
- React.js - For creating a dynamic and interactive user interface.
- Node.js - For running the server and handling backend logic.
-
Clone the repository:
git clone https://github.com/mart-code/workout-app.git
-
Navigate to the project directory:
cd workout-app -
Install the dependencies for both frontend and backend:
cd backend npm install cd ../frontend npm install
-
Set up your MongoDB database and update the MongoDB connection string in the
backend/.envfile:MONGO_URI=mongodb+srv://your-mongo-credentials -
Start the backend server:
cd backend npm start -
Start the frontend application:
cd frontend npm start
The application should now be running on http://localhost:3000.
- GET /api/workouts - Retrieve all workout records.
- POST /api/workouts - Add a new workout record.
- PUT /api/workouts/:id - Update a specific workout record by ID.
- DELETE /api/workouts/:id - Delete a workout record by ID.
- Log Workout: Enter the workout name, the number of reps, and the weight lifted to log a session.
- View History: Browse your workout history, filter by exercise, and track your progress.
- Update or Delete: Modify or remove any workout entry as needed.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes and commit (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License.