GymBoard is a MERN stack-based gym class booking application that allows instructors to create and manage classes with available slots and images. Users can browse available classes, book their favorites, and cancel bookings as needed.
- Features
- Technologies Used
- Installation
- Environment Variables
- Usage
- API Endpoints
- Contributing
- License
- Instructor Dashboard: Instructors can create, edit, and delete classes.
- Class Management: Add class descriptions, set available slots, and upload images.
- User Booking: Users can browse available classes, book, and cancel their bookings.
- Responsive Design: Fully responsive, user-friendly interface.
- Authentication: Secure user authentication using JWT tokens.
- Admin Role: Admins can manage users and their roles.
- Frontend: React, Bootstrap, React-Bootstrap, React-Router, Axios
- Backend: Node.js, Express.js, MongoDB, Mongoose
- Authentication: JSON Web Tokens (JWT))
- Styling: CSS, Bootstrap
- Hosting: (e.g., Render, Heroku, Netlify, etc.)
- Node.js (>= 12.x)
- MongoDB
- Clone the repository:
git clone https://github.com/AchmetCh/gymboard.git
cd gymboard - Install server dependencies:
cd backend
npm install- Install client dependencies
cd ../client
npm installMONGDODB_URI=your_mongodb_connection_string
PRIVATE_KEY=your_jwt_secret
SALT_ROUNDS=salt_round
- Start the backend server:
cd backend
npm start
- Start the frontend development server:
cd client
npm start
- Open your browser and navigate to http://localhost:8000.
- Frontend: You can deploy the frontend to platforms like Netlify or Vercel.
- Backend: Deploy the backend to platforms like Render or Heroku.
- Make sure to update the environment variables in your deployment environment.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Make your changes.
- Commit your changes (git commit -m 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Developed by Achmet Chasankil.
Feel free to contact me at:
- Email: gigsakos@gmail.com
- Linkedin: Achmet Chasankil
