Wanderlust is an e-commerce website built with the complete MERN stack (MongoDB, Express, React, Node.js). It functions as a platform similar to Airbnb, allowing users to list properties, browse, and interact with listings. The website has several features aimed at improving the user experience and data security.
- User Authentication & Authorization: Ensures only authorized users can create and edit listings, with complete restrictions on accessing other users' data.
- Image Upload & URL Generation: Implemented image upload functionality with URL generation using Cloudinary.
- Map Integration: Each listing has a map showing its location using the Mapbox platform.
- Responsive Design: The website is fully responsive and adapts to different screen sizes.
- MVC Architecture: The project is structured using the Model-View-Controller (MVC) design pattern for better maintainability and scalability.
- User Profile Section: Integrated a user profile view and edit section to allow users to update their information.
- Search & Filters: The homepage includes a search box and filters to find listings more easily.
- Error Handling: Implemented global error handling to handle issues smoothly across the website.
- Frontend:
- HTML, CSS, JavaScript, React.js, BootStrap
- NPM Packages: Axios, React Router DOM, EJS
- Backend:
- Node.js, Express.js, MongoDB, Mongoose
- NPM Packages: bcryptjs, express-session, passport.js
- Cloud Services:
- Image Upload: Cloudinary
- Map Integration: Mapbox
- Others:
- Git, GitHub for version control
- Deployed on Render for hosting
- Enhance the features on the User Page (such as reviews, ratings, etc.).
- Improve the responsiveness of the website across more device sizes.
- Implement a payment gateway for seamless transactions.
- Add real-time chat functionality for users to communicate with property owners.
To run this project locally:
-
Clone the repository:
git clone https://github.com/YashPandey1405/wanderlust.git
-
Navigate to the project directory:
cd wanderlust
-
Install dependencies:
npm install
-
Create a
.env
file for environment variables:- Add the necessary variables (e.g., database URI, Cloudinary credentials, etc.).
-
Run the project:
npm start
Feel free to fork the repository, create a branch, and submit a pull request with any improvements, fixes, or features you’d like to contribute to this project.
MIT License.