FITRACKER is a web-based fitness tracker that helps you log and track every detail of your workout sessions using the progressive overload method. Track exercises, sets, reps, weights, and create custom workout plans to meet your fitness goals.
- Frontend: https://fitracker-web.netlify.app/
- Backend API: https://fitracker-api.vercel.app/
- Log all details of workout sessions: exercises, sets, reps, and weights
- Track progress over time for each exercise
- Create and customize workout plans or use expert-recommended splits
- Secure authentication system to protect personal data
- Sync workout history and plans across devices
- User-friendly and responsive UI for both desktop and mobile
Frontend:
- React 18
- React Router DOM
- Tailwind CSS
- Axios for API requests
- React Cookie for session handling
- date-fns for date formatting
- react-loading-skeleton for loading states
- UUID & bson-objectid for unique identifiers
Backend:
- Node.js & Express
- MongoDB with Mongoose
- JWT authentication
- express-session & connect-mongodb-session for sessions
- bcrypt for password hashing
- express-validator for request validation
- dotenv & CORS for environment setup and API handling
Backend:
Create a .env file in the backend root with the following:
MONGODB_URI=your_mongodb_connection_string
PORT=your_server_port
SECRET_KEY=your_jwt_secret_key- Clone the repository:
git clone https://github.com/mark-ianz/fitracker.git- Navigate to the project folder:
cd fitracker- Navigate to the frontend folder:
cd frontend- Install dependencies:
npm install- Run the development server:
npm start
The frontend will be available at http://localhost:3000 (or as defined in your React setup).
- Navigate to the backend folder:
cd backend- Install dependencies:
npm install- Start the server (development mode):
npm run dev
The backend will run on http://localhost:PORT (defined in your .env).