FitForge 🏋️♀️💪
FitForge is an all-in-one fitness platform designed to connect users with professional trainers, book personalized training sessions, track progress, and engage with a vibrant fitness community. Whether you're a beginner or an experienced fitness enthusiast, FitForge provides an interactive experience with advanced booking, progress tracking, and community engagement..
🚀 Live Demo
Live Website
🌟 Key Features
🔒 User Authentication
- 🔑 Secure login and registration with Email/Password and Google Sign-In.
- 🔐 Authentication powered by Firebase for secure user access.
🏋️ Main Modules
- 🏠 Home: Overview of the platform and its features.
- 👨🏫 Trainers: Explore fitness trainers and their profiles.
- 📅 Classes: Explore fitness classes and book slots with specific trainers.
- ❤️ Community: Join the fitness community and read articles.
- 📊 Dashboard: User-based dashboards for Members, Trainers, and Admins.
📌 Dashboard Features
👑 Admin
- 🔍 Manage trainers, members, and classes.
- 📊 Financial analytics with pie/bar charts.
- 👥 User management (promote/revoke roles).
- 📝 Content moderation tools.
🏋️ Trainer
- 🕒 Slot management.
- 💬 Forum post creation with rich text.
👤 Member
- 🎯 Track their activity log.
- 📅 Handle booked training sessions.
- 🚀 Can apply to become a trainer.
- ⭐ Trainer rating system.
⚡ Advanced Features
- 🔍 Search functionality across all classes.
- 🗳️ Community forum with voting system.
- 📱 Mobile-first responsive design.
- 📨 Newsletter subscription service.
- 💸 Stripe Payment Integration for membership purchases.
🛡️ Protected Routes
- 🔑 Access personalized features only after login.
- 🚪 Automatic redirection to the login page for unauthorized users.
🎨 Enhanced User Experience
- 🚀 Smooth navigation with React Router.
- ✨ Animations:
- 🎥 Scroll animations with AOS.
- 🎭 Reveal effects with React Awesome Reveal.
- 🔎 Search Functionality: Find workouts easily.
⚙️ Technologies Used
Frontend
- ⚛️ React.js + Vite
- 🎨 Tailwind CSS + DaisyUI
- 🔄 Tanstack Query
- 🛣️ React Router
Backend and Authentication
- 🚀 Node.js + Express.js
- 🗃️ MongoDB
- 🔐 JWT Authentication
- 🔐 Firebase Authentication
- 🔥 Firebase Firestore (for user data storage)
Utilities and Libraries
@mui/material
: Modern UI components.
Swiper
: Interactive carousels.
Tanstack Query
: Data fetching and caching.
Stripe
: Payment gateway integration.
SweetAlert2
: Custom alerts.
Axios
: API requests.
React Toastify
: Notifications.
AOS
: Scroll animations.
React Select
: Custom dropdowns.
Firebase
: Authentication and hosting.
- 🖥️ Visual Studio Code
- 🛠️ GitHub
- 🚀 Vercel (Backend Deployment)
- 📦 Firebase (Frontend Deployment)
🎥 Screenshots
- 🏠 Home Page
- 🔑 Login Page
- 📝 Register Page
- 👨🏫 Trainers Page
- 📅 Classes Page
- ❤️ Community Page
- 📊 Dashboard Page
- 👑 Admin Dashboard Page
- 🏋️ Trainer Dashboard Page
- 👤 Member Dashboard Page
🤝 Contributing
Contributions are welcome! Follow these steps:
- 🍴 Fork the repository.
- 🌱 Create a new branch (
git checkout -b feature-name
).
- 🛠️ Make changes and commit (
git commit -m 'Add new feature'
).
- 🚀 Push to your forked repository (
git push origin feature-name
).
- 📩 Create a pull request.
Built with 💙 and curiosity for history by Sarafat Karim