Explore Hut is a full-stack (MERN) web application inspired by Airbnb.
It allows users to explore travel listings, post their own stays, leave reviews, and manage bookings with all the secure authentication and a clean, responsive UI.
-
🔐 User Authentication & Authorization: Secure Sign Up, Login, and Logout functionality for managing listings and reviews.
-
✍️ CRUD Operations: Create, Read, Update, and Delete listings and reviews using RESTful APIs.
-
🛡️ Data Security: Passwords are hashed and salted using secure authentication practices.
-
🍪 Session & Cookie Management: Persistent login sessions for better user experience.
-
📷 Cloudinary Integration: Image uploads with cloud storage and automatic resizing.
-
💬 Flash Messages & Validation: Feedback alerts and form validation for better usability.
The application follows the MVC (Model-View-Controller) pattern:
- Models: Models handle data logic and database schemas via Mongoose.
- Views: Views are rendered using EJS templates.
- Controllers: Controllers manage routes and business logic for modularity.
- Node.js (JavaScript Runtime Environment)
- Express.js (Web Framework for Routing and Middleware)
- Mongoose (ODM for MongoDB)
- Passport.js (Authentication Middleware)
- MongoDB (NoSQL Document Database)
- MongoDB Atlas (Cloud Database Hosting)
- Cloudinary (Image Hosting and Management)
- Render (Full-stack App Deployment)
- Multer (File Upload Middleware)
- Multer-Storage-Cloudinary (Direct Cloudinary Integration)
- Connect-Flash (Flash Messaging for UX Feedback)
- Method-Override (Supports PUT/DELETE from Forms)
- Dotenv (Environment Variable Management)
- Joi (Schema Validation)
I made this project in the Full Stack Web Development (MERN Stack).
Special thanks to Shradha Khapra, who taught this course so wonderfully.