Welcome to EasyRooms! 🏡🍽️ This project is a clone of Airbnb, focusing on "air bed and dinner" accommodations. It is created using the MERN stack with authentication using JWT, session management, state management with Recoil, and Material-UI for UI components. 🚀
EasyRooms is a clone of Airbnb with a twist - it focuses on providing "air bed and dinner" accommodations. Hosts can offer guests a cozy place to sleep and enjoy a home-cooked dinner. This project aims to replicate the core functionality and user experience of Airbnb while adding a unique dining experience for guests. 🍽️
- User authentication (login, registration) 🔐
- Property listings with details and photos 🏠📸
- Search and filtering functionality 🔍
- Booking and reservation management 📅
- User profiles with booking history 👤📚
- Integration with dining experiences (optional) 🍽️
- Responsive design for mobile and desktop 📱💻
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/csgaikwad/EasyRooms.git
-
Install dependencies:
cd EasyRooms/Client npm install
cd ../Server npm install
-
Set up environment variables:
- Create a
.env
file in theserver
directory. - Add environment variables such as MongoDB connection string, JWT secret, etc.
- Create a
-
Start the development servers:
// Start the client (React) server (cd into /Client) npm run dev
// Start the server (Node.js/Express) server (cd into /server) node index.js
- MongoDB 🍃
- Express.js 🚂
- React ⚛️
- Node.js 🖥️
- NextJs :📁
- JSON Web Tokens (JWT) for authentication 🔑
- Passport.js for session management 🛂
- Recoil for state management 🔧
- Material-UI (MUI) for UI components 🎨
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature
) - Make your changes
- Commit your changes (
git commit -am 'Add feature'
) - Push to the branch (
git push origin feature
) - Create a new Pull Request