A dynamic and full-featured property listing web app where users can register, list properties, upload images, and leave reviews. Built using the MERN stack with authentication, image uploads, form validation, and more.
- 🔐 User Authentication – Secure login/signup using Passport.js
- 🏡 Property Listings – Create, edit, and delete property listings
- 🖼️ Image Upload – Upload multiple images using Multer & Cloudinary
- 📝 Reviews – Users can leave reviews for properties
- 🛡️ Validation & Error Handling – Form validation with Joi & centralized error middleware
- Frontend: EJS, HTML5, CSS3, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB, Mongoose
- Auth: Passport.js
- Image Hosting: Cloudinary
- File Handling: Multer
git clone https://github.com/Prodipsen27/chillbase.git
cd chillbase
npm installCreate a .env file in the root with the following:
DATABASE_URL=your_mongo_uri
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_key
CLOUDINARY_API_SECRET=your_secret
SESSION_SECRET=your_session_secretnpm startVisit: http://localhost:8080
chillbase/
├── models/
├── routes/
├── views/
├── public/
├── utils/
├── app.js
└── package.jsonProdip Sengupta
