https://github.com/sarveshdevrukhkar/explore-hut
It is a Airbnb inspired full stack project, it made during my delta: full stack development (MERN) course.
https://github.com/sarveshdevrukhkar/explore-hut
bootstrap css ejs express full-stack full-stack-project html javascript mongodb mongodb-atlas node
Last synced: 2 months ago
JSON representation
It is a Airbnb inspired full stack project, it made during my delta: full stack development (MERN) course.
- Host: GitHub
- URL: https://github.com/sarveshdevrukhkar/explore-hut
- Owner: sarveshdevrukhkar
- Created: 2025-02-23T12:49:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-02T11:05:11.000Z (9 months ago)
- Last Synced: 2025-07-02T02:38:37.899Z (8 months ago)
- Topics: bootstrap, css, ejs, express, full-stack, full-stack-project, html, javascript, mongodb, mongodb-atlas, node
- Language: EJS
- Homepage: https://explore-hut.onrender.com
- Size: 67.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://wakatime.com/badge/user/20baa14b-89a3-4e46-acd9-e4abaeefd2fe/project/755f1dd9-0776-4926-bfac-978a05c54187)
# ποΈ Explore Hut ποΈ
**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_.
## π Features
- π **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.
## π§± Project Architecture
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.
## π§° Tech Stack
### π₯οΈ Frontend:
- HTML
- CSS
- [Bootstrap](https://getbootstrap.com) (_Styling Framework_)
- JavaScript
- [EJS](https://ejs.co) (_Server-side Templating Engine_)
### π§ Backend:
- [Node.js](https://nodejs.org) (_JavaScript Runtime Environment_)
- [Express.js](https://expressjs.com) (_Web Framework for Routing and Middleware_)
- [Mongoose](https://mongoosejs.com) (_ODM for MongoDB_)
- [Passport.js](https://www.passportjs.org) (_Authentication Middleware_)
### πͺ£ Database:
- [MongoDB](https://www.mongodb.com) (_NoSQL Document Database_)
### βΎοΈ DevOps & Services:
- [MongoDB Atlas](https://www.mongodb.com/atlas/database) (_Cloud Database Hosting_)
- [Cloudinary](https://cloudinary.com) (_Image Hosting and Management_)
- [Render](https://render.com) (_Full-stack App Deployment_)
### βοΈ Utilities & Middleware:
- [Multer](https://github.com/expressjs/multer) (_File Upload Middleware_)
- [Multer-Storage-Cloudinary](https://github.com/affanshahid/multer-storage-cloudinary) (_Direct Cloudinary Integration_)
- [Connect-Flash](https://github.com/jaredhanson/connect-flash) (_Flash Messaging for UX Feedback_)
- [Method-Override](https://github.com/expressjs/method-override) (_Supports PUT/DELETE from Forms_)
- [Dotenv](https://github.com/motdotla/dotenv) (_Environment Variable Management_)
- [Joi](https://joi.dev) (_Schema Validation_)
# π€ Acknowledgments π€
I made this project in the **Full Stack Web Development (MERN Stack)**.
Special thanks to [Shradha Khapra](https://www.linkedin.com/in/shradha-khapra), who taught this course so wonderfully.βΊοΈ