Reserve is a sophisticated MERN (MongoDB Express.js React Node.js) stack project designed to revolutionize the bus reservation process. The platform caters to both travellers and bus operators offering a seamless experience for booking trips and listing buses.
- User authentication: Sign up, sign in, and secure access to features.
- Trip Booking: Users can browse and book trips.
- Bus/ Trip Listing: Owners can list their buses or trips.
- Filtering: Users can filter buses based on various criteria like time, date, location, amenities, and categories.
- Payment Integration: Integrated with Stripe for secure payment processing.
- Responsive Design: Optimized for various devices.
Frontend
- React: JavaScript library for building user interfaces.
- Redux: State management library for React.
- React Router: Declarative routing for React.js.
- Firebase: Authentication and cloud services.
- Stripe: Payment processing API.
- Axios: Promise-based HTTP client.
Backend
- Node.js: JavaScript runtime for server-side development.
- Express: Web application framework for Node.js.
- MongoDB: NoSQL database for storing data.
- Mongoose: ODM library for MongoDB and Node.js.
- Stripe: Payment processing API.
- Cors: Middleware for enabling CORS in Express.
- Dotenv: Environment variable management.
- Clone the repository
git clone https://github.com/lokeshkavisth/Reserve
cd frontend
- install dependencies
npm install
- Create a .env file in the backend directory and set the following environment variables
VITE_STRIPE_PUBLISHABLE_KEY
VITE_BASE_URL
- Run the development server
npm run dev
- In a new terminal navigate to the root directory of the project
cd backend
- Install dependencies
npm install
- Create a .env file in the backend directory and set the following environment variables
PORT
MONGODB_URI
STRIPE_SECRET_KEY
This project is licensed under the MIT License - see the LICENSE.md file for details.
Feel free to contribute or report issues!
Happy coding!