- Project Overview
- Technologies & Packages Used
- Key Features
- How to Install
- Challenges & Solutions
- Author
- Project Link
- Thank You
Excited to share my journey of developing a feature-rich full-stack web application airbnb. The project is built using MongoDB, Express.js, and Node.js.
- MongoDB: NoSQL database for flexible and scalable data storage.
- Express.js: Web application framework for Node.js, providing robust features for web and mobile applications.
- Node.js: JavaScript runtime for server-side development.
- Passport.js: Middleware for user authentication, supporting various strategies.
- Dotenv: Environment variable management for secure configuration.
- Cloudinary: Cloud-based image and video management solution.
- EJS: Embedded JavaScript templates for dynamic content rendering.
- Connect Flash: Middleware for flash messages.
- Connect Mongo: MongoDB session store for Express.js.
- Cookie Parser: Middleware for parsing cookies.
- Joi: Library for data validation.
- Mongoose: MongoDB object modeling for Node.js.
- Multer: Middleware for handling file uploads.
- Passport Local: Local authentication strategy.
- Passport Local Mongoose: Mongoose-specific authentication strategy. Authentication
- User Authentication: Login, Logout, and User Profile Section
- CRUD Operations: Add, Edit, and Delete Listings
- Review System: Add and Delete Reviews
- Account Management: Update User Account and Password
- User Data Security: Password Hashing and Encryption
- Login with Email: Traditional email login for user convenience
Follow these steps to set up and run the project locally:
-
Clone the Repository:
git clone https://github.com/Mohit-Rajak/AirbnbWebsite cd AirbnbWebsite -
Install Dependencies:
npm install
-
Set Up Environment Variables:
Configure the following environment variables by creating a .env file in the root of your project:
Example :-
#https://cloudinary.com/ (Cloudinary) (Change key) CLOUD_NAME=kjkdmckdhjks CLOUD_API_KEY=89340593499490394 CLOUD_API_SECRET=jdskLKJlklkdlsdfkKKdsdkkd #https://www.mongodb.com/ (MongoDb Atlas) (Change key) ATLASDB_URL=mongodb+srv://demo:kLKJFKOEMNDDOI9089dndd@cluster0.kkdnvkdkds.mongodb.net/?retryWrites=true&w=airbnb #Add Random Secret Key SECRET=ckcdenlksufoifafknddsoiddfkadsfafd
Replace the values with your specific configurations.
-
Run the Application:
node app.js
-
Open in Your Browser:
Open
http://localhost:8000/listingsin your web browser.
Encountered challenges, especially with data handling, but implemented efficient solutions. Overcame scalability issues with a well-architected backend. and Deployment
Mohit Rajak
Email: contact.mohitrajak022004@gmail.com
LinkedIn : https://www.linkedin.com/in/Mohit-Rajak/
Thank you for exploring Airbnb! Your feedback is valuable. If you have any suggestions or thoughts, feel free to share them with us. 😊