Welcome to Body Build House, Body Build House is a comprehensive fitness platform that connects users with professional trainers to achieve their fitness goals. Users can book trainers, apply for training, track sessions, and leave reviews. Trainers can manage slots, post content, and engage with the community. Admins oversee trainers, classes, and payments. With a seamless experience for both users and trainers, Body Build House makes personal fitness accessible, interactive, and efficient. 🚀
- Email: rana@gmail.com
- Password: 123Mnb
- Client Repo: This repository serves as the main
Body Build Houseplatform and includes thefrontendsetup. - Live Site: Body Build House.com
- Components
- Hooks:
useState,useEffect,useContext - React Router:
useParams,useLocation,useNavigate - Conditional Rendering
- Context API for global state management
- React Hook Form for form handling and validation
- React
- Firebase
- Tailwind CSS
- DaisyUI
- React Router
- React Icons
- React Hot Toast
- React Hook Form
- JWT-based Authentication
- Node.js
- Express.js
- MongoDB
- Trainer Selection & Booking: Users can book trainers of their choice based on experience and expertise.
- Training Management: Users can apply for training and view all their booked sessions on their dashboard.
- Trainer Functionality: Trainers can manage multiple slots, update/delete schedules, and share content within the community.
- Reviews & Community Engagement: Users can review trainers, while trainers and admins can post various content.
- Admin Control: Admins can add new classes, manage trainers, moderate content, and monitor payment history.
- Personalized Training Plans: Users receive tailored fitness plans based on their goals and preferences.
- Real-Time Progress Tracking: Track workout and performance data in real-time for better goal management.
- Payment Integration: Secure online payment system for booking training sessions and class payments.
- Live Classes & Sessions: Trainers can host live training sessions for users to join in real time.
- "@stripe/react-stripe-js": "^3.1.1",
- "@stripe/stripe-js": "^5.5.0",
- "@tanstack/react-query": "^5.64.1",
- "animate.css": "^4.1.1",
- "aos": "^2.3.4",
- "axios": "^1.7.9",
- "firebase": "^11.1.0",
- "localforage": "^1.10.0",
- "lottie-react": "^2.4.0",
- "match-sorter": "^8.0.0",
- "motion": "^12.0.0",
- "react": "^18.3.1",
- "react-awesome-slider": "^4.1.0",
- "react-dom": "^18.3.1",
- "react-helmet-async": "^2.0.5",
- "react-hook-form": "^7.54.2",
- "react-icons": "^5.4.0",
- "react-id-swiper": "^4.0.0",
- "react-router-dom": "^7.1.1",
- "react-select": "^5.9.0",
- "react-toastify": "^11.0.2",
- "react-tooltip": "^5.28.0",
- "recharts": "^2.15.0",
- "sort-by": "^1.2.0",
- "sweetalert2": "^11.15.10",
- "swiper": "^11.2.1"
- Node.js and npm installed
- MongoDB connection string
-
Clone the client-side repository:
git clone https://github.com/shorifulbd1st/Body-Build-House.git cd Body-Build-House -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open the project in a code editor:
code . -
Add the
.envfile in the root directory and include the following environment variables:VITE_apiKey=................................ VITE_authDomain=................................ VITE_projectId=................................ VITE_storageBucket=................................ VITE_messagingSenderId=................................ VITE_appId=................................ VITE_IMAGE_HOSTING_KEY=................................ VITE_Payment_Gateway_PK=................................
Note: Replace the
VITE_API_KEYandVITE_AUTH_DOMAIN, along with other placeholders, with actual values.
-
Clone the server-side repository:
git clone https://github.com/shorifulbd1st/Body-Build-Sever.git cd Body-Build-Sever -
Install dependencies:
npm install
-
Start the server:
node index.js
--- OR ---
nodemon index.js
-
Open the project in a code editor:
code . -
Add the
.envfile in the root directory and include the following environment variables:DB_USER=.......................................... DB_PASS=.......................................... ACCESS_TOKEN_SECRET=.......................................... STRIPE_SECRET_KEY=..........................................
Note: Replace the
index.jsfile'smongo_uriand the.envfile'sDB_USER,DB_PASS,ACCESS_TOKEN_SECRETandSTRIPE_SECRET_KEYwith actual values.