An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

[![wakatime](https://wakatime.com/badge/user/20baa14b-89a3-4e46-acd9-e4abaeefd2fe/project/755f1dd9-0776-4926-bfac-978a05c54187.svg?style=for-the-badge)](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.☺️