ZenFit is a modern fitness tracking application designed to monitor workouts, track progress, and visualize fitness goals. The app features an intuitive user interface, robust backend integration, and provides insightful analytics which helps to stay motivated and achieve fitness milestones.
- Responsive Design: Mobile-first design for a seamless experience on any device.
- User Authentication: Secure user authentication using JWT tokens.
- Workout Tracking: Log and track workouts with ease.
- Progress Visualization: Visualize progress over time with graphs and analytics.
- Data Analytics: Get detailed statistics on workout frequency, intensity, and more.
- Date Picker: Enhanced workout logging with MUI Date Pickers.
- Frontend: ReactJS, Redux, Axios.
- Backend: NodeJS, ExpressJS.
- Database: MongoDB Atlas.
- Authentication: JWT (JSON Web Tokens).
- State Management: Redux.
- Styling: Material-UI.
- Package Manager: npm.
To get a local copy up and running, follow these simple steps:
- Node.js installed (v20.9.0 recommended).
- MongoDB installed locally or accessible via cloud (e.g., MongoDB Atlas).
git clone https://github.com/Raj-Dusane/ZenFit.git
cd ZenFit
- Navigate to the server directory:
cd server
- Install the dependencies:
npm install
- Set up environment variables. Create a
.env
file in the/server
directory with the following content: (refer to.envExample
file)PORT=5000 MONGO_URI=<your_mongodb_connection_string> JWT_SECRET=<your_jwt_secret>
- Start the server:
npm run start
- Navigate to the client directory::
cd client
- Install the dependencies:
npm install
- Set up environment variables. Create a
.env
file in/client
directory with the following content: (refer to .envExample file)REACT_APP_BASE_URL=http://localhost:8080/api/
- Start the React development server:
npm run start
User Sign Up:
POST /user/signup
User Sign In:
POST /user/signin
Get Dashboard Details:
GET /user/dashboard
Get Workouts:
GET /user/workout/:date
Add Workout:
POST /user/workout