An Airbnb-style full-stack web app where users can list places, browse stays, search, view locations on a map, and leave reviews.
🔗 Live Demo: https://major-project-5tkc.onrender.com
- User authentication & authorization (signup, login, logout)
- Create, edit and delete listings (only by the owner)
- Add and delete reviews (only by the review author)
- Image upload with Cloudinary
- Search listings
- Interactive maps with Mapbox
- Server-side validation with Joi
- Frontend: EJS, Bootstrap, JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB Atlas, Mongoose
- Auth: Passport.js
- Other: Multer, Cloudinary, Mapbox, Joi
- Deployment: Render
- Clone the repo:
git clone https://github.com/Mak758/Major_Project.git - Install dependencies:
npm install - Create a
.envfile with your own keys (database URL, Cloudinary keys, Mapbox token, session secret) - Start the server:
node app.js