🚀 Fitverse is a full-stack MERN application designed to help users track their fitness activities, book trainers, and engage with a fitness community. Built with modern web technologies, this project includes role-based functionalities for admins, trainers, and members.
🌐 View Live Project (https://fitness-tracker-project-96f15.web.app/)
✅ User Authentication (JWT & Firebase Login)
✅ Role-Based Access Control (Admin, Trainer, Member)
✅ Trainer Booking System (Schedule & Payments via Stripe)
✅ Activity Tracking (Monitor workouts, progress, and reports)
✅ Community Forum (Post fitness discussions, upvote/downvote system)
✅ Responsive & Accessible UI (Built with Tailwind & DaisyUI)
✅ SEO Optimized (React Helmet for better visibility)
✅ Secure & Scalable (MongoDB Atlas, JWT Auth, Environment Variables)
| Role | Permissions |
|---|---|
| Admin | Manage users, approve trainers, oversee payments & bookings |
| Trainer | Create classes, manage bookings, interact with members |
| Member | Book trainers, track workouts, engage in the forum |
- Frontend: React, Tailwind CSS, DaisyUI, React Router, React Helmet
- Backend: Node.js, Express.js, MongoDB, JWT Authentication
- Database: MongoDB Atlas
- State Management: TanStack Query
- Payment Gateway: Stripe
- Authentication: Firebase, JWT
- Hosting & Deployment: Firebase (Frontend), Vercel (Backend)
To run the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/SumiyaRahman/fitness-tracker.git cd fitness-tracker - Set up environment variables
# For Backend: MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret STRIPE_SECRET_KEY=your_stripe_secret_key # For Frontend: REACT_APP_FIREBASE_API_KEY=your_firebase_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain REACT_APP_STRIPE_PUBLIC_KEY=your_stripe_public_key
- Install dependencies:
# For backend cd server npm install # For frontend cd client npm install
- Run the project:
# For backend cd server npm start # For frontend cd client npm start
💬 Found a bug or have a suggestion? Feel free to create an issue or contribute to the project.
📧 Contact: sumiyabintearahman24@gmail.com
This project is licensed under the MIT License - feel free to modify and use it as needed.
