{"id":22990109,"url":"https://github.com/akashdeep023/airbnb_project","last_synced_at":"2025-08-01T15:33:53.298Z","repository":{"id":227169617,"uuid":"713612058","full_name":"akashdeep023/Airbnb_Project","owner":"akashdeep023","description":"Airbnb_Project: Full-Stack Web Application","archived":false,"fork":false,"pushed_at":"2024-11-06T20:04:26.000Z","size":924,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T06:23:38.997Z","etag":null,"topics":["cloudinary","cookie","dotenv","ejs","expressjs","flash","joi","mapbox","mongodb","multer","nodejs","parser","passport-facebook","passport-google-oauth20","passport-local","passportjs","profile","session"],"latest_commit_sha":null,"homepage":"https://airbnb-project-major-jack.onrender.com/","language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akashdeep023.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-02T22:01:30.000Z","updated_at":"2025-03-23T07:00:34.000Z","dependencies_parsed_at":"2024-03-12T01:31:08.070Z","dependency_job_id":"f054fb69-e80e-46e5-99b7-41a1a3a9857c","html_url":"https://github.com/akashdeep023/Airbnb_Project","commit_stats":null,"previous_names":["akashdeep023/airbnb_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akashdeep023/Airbnb_Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashdeep023%2FAirbnb_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashdeep023%2FAirbnb_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashdeep023%2FAirbnb_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashdeep023%2FAirbnb_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akashdeep023","download_url":"https://codeload.github.com/akashdeep023/Airbnb_Project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashdeep023%2FAirbnb_Project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268251313,"owners_count":24220098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudinary","cookie","dotenv","ejs","expressjs","flash","joi","mapbox","mongodb","multer","nodejs","parser","passport-facebook","passport-google-oauth20","passport-local","passportjs","profile","session"],"created_at":"2024-12-15T04:32:09.850Z","updated_at":"2025-08-01T15:33:53.268Z","avatar_url":"https://github.com/akashdeep023.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Airbnb-Inspired Full-Stack Web Application 🚀\n\n\u003cp align=\"center\"\u003e\n  \u003cb style=\"color: blue;  \"\u003eVisitor count\u003c/b\u003e\n  \u003cbr\u003e\n  \u003ca style=\"\" href=\"https://github.com/akashdeep023\"\u003e\n  \u003cimg src=\"https://profile-counter.glitch.me/airbnb-project/count.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca style=\"\" href=\"https://airbnb-project-major-jack.onrender.com/\"\u003e\n  \n![airbnb](https://github.com/user-attachments/assets/8644fc42-edc5-445c-93dd-ceb91c7d0d49)\n\n\u003c/a\u003e\n\n---\n\n## Table of Contents\n\n-   [Project Overview](#project-overview)\n-   [Technologies \u0026 Packages Used](#technologies--packages-used)\n-   [Key Features](#key-features)\n-   [How to Install](#how-to-install)\n-   [Challenges \u0026 Solutions](#challenges--solutions)\n-   [Special Thanks](#special-thanks)\n-   [Author](#author)\n-   [Project Link](#project-link)\n-   [Thank You](#thank-you)\n-   [Ex- Image](#ex--image)\n\n## Project Overview\n\nExcited to share my journey of developing a feature-rich full-stack web application inspired by Airbnb. The project is built using MongoDB, Express.js, and Node.js.\n\n## Technologies \u0026 Packages Used\n\n### Backend\n\n-   **MongoDB**: NoSQL database for flexible and scalable data storage.\n-   **Express.js**: Web application framework for Node.js, providing robust features for web and mobile applications.\n-   **Node.js**: JavaScript runtime for server-side development.\n\n### Authentication\n\n-   **Passport.js**: Middleware for user authentication, supporting various strategies.\n-   **Dotenv**: Environment variable management for secure configuration.\n\n### Image Storage\n\n-   **Cloudinary**: Cloud-based image and video management solution.\n\n### Maps\n\n-   **Mapbox**: Platform for custom maps and location-based experiences.\n\n### Frontend\n\n-   **EJS**: Embedded JavaScript templates for dynamic content rendering.\n\n### Session Management\n\n-   **Connect Flash**: Middleware for flash messages.\n-   **Connect Mongo**: MongoDB session store for Express.js.\n-   **Cookie Parser**: Middleware for parsing cookies.\n\n### Validation\n\n-   **Joi**: Library for data validation.\n\n### Object Modeling\n\n-   **Mongoose**: MongoDB object modeling for Node.js.\n\n### File Uploads\n\n-   **Multer**: Middleware for handling file uploads.\n\n### Social Authentication\n\n-   **Passport Local**: Local authentication strategy.\n-   **Passport Facebook**: Facebook authentication strategy.\n-   **Passport Google OAuth20**: Google OAuth2.0 authentication strategy.\n-   **Passport Local Mongoose**: Mongoose-specific authentication strategy.\n    Authentication\n\n## Key Features\n\n-   **User Authentication:** Login, Logout, and User Profile Section\n-   **CRUD Operations:** Add, Edit, and Delete Listings\n-   **Review System:** Add and Delete Reviews\n-   **Account Management:** Update User Account and Password\n-   **User Data Security:** Password Hashing and Encryption\n-   **Interactive Maps:** Leveraging Mapbox for Location Visualization\n-   **Login with Google:** Authenticate with your Google account for a seamless experience\n-   **Login with Facebook:** Easily log in using your Facebook credentials\n-   **Login with Email:** Traditional email login for user convenience\n\n## How to Install\n\nFollow these steps to set up and run the project locally:\n\n1.  **Clone the Repository:**\n\n    ```bash\n    git clone https://github.com/akashdeep023/Airbnb_Project.git\n    cd Airbnb_Project\n    ```\n\n2.  **Install Dependencies:**\n\n    ```bash\n    npm install\n    ```\n\n3.  **Set Up Environment Variables:**\n\n    Configure the following environment variables by creating a .env file in the root of your project:\n\n    Example :-\n\n    ```bash\n    #https://cloudinary.com/  (Cloudinary) (Change key)\n    CLOUD_NAME=kjkdmckdhjks\n    CLOUD_API_KEY=89340593499490394\n    CLOUD_API_SECRET=jdskLKJlklkdlsdfkKKdsdkkd\n\n    #https://www.mapbox.com/ (Mapbox)\n    MAP_TOKEN=pk.eyJ1IjoiZGVsdGEtc3R1ZHVlbnQiLCJhIjoiY2xvMDk0MTVhMTJ3ZDJrcGR5ZDFkaHl4ciJ9.Gj2VU1wvxc7rFVt5E4KLOQ\n\n    #https://www.mongodb.com/ (MongoDb Atlas) (Change key)\n    ATLASDB_URL=mongodb+srv://demo:kLKJFKOEMNDDOI9089dndd@cluster0.kkdnvkdkds.mongodb.net/?retryWrites=true\u0026w=majority\n\n    #Add Random Secret Key\n    SECRET=ckcdenlksufoifafknddsoiddfkadsfafd\n\n    #https://console.developers.google.com/ (Google Developer Console) (Change key)\n    GOOGLE_CLIENT_ID=89038948394-kjfdkcmckdmckdfsid94jkkknd9sd4.apps.googleusercontent.com\n    GOOGLE_CLIENT_SECRET=KDJKDF-4KJDF894NF-DFKEF9MN-NFKEJD\n\n    #https://developers.facebook.com/ (Facebook Developer Console) (Change key)\n    FACEBOOK_APP_ID=94383859383287\n    FACEBOOK_APP_SECRET=89diodfjd9r98ddfjsodwj9df8d\n\n    #Add redirect URL in Google Developer Console\n    GOOGLE_CALLBACK_URL=http://localhost:8080/auth/google/callback\n\n    #Add redirect URL in Facebook Developer Console\n    FACEBOOK_CALLBACK_URL=http://localhost:8080/auth/facebook/callback\n\n    ```\n\n    Replace the values with your specific configurations.\n\n4.  **Run the Application:**\n\n    ```bash\n    node app.js\n    ```\n\n5.  **Open in Your Browser:**\n\n    Open `http://localhost:8080/listings` in your web browser.\n\n## Challenges \u0026 Solutions\n\nEncountered challenges, especially with data handling, but implemented efficient solutions. Overcame scalability issues with a well-architected backend.\n\n## Special Thanks\n\nA heartfelt thank you to Shradha Khapra didi and AMAN DHATTARWAL bhaiya at #ApnaCollege for their invaluable support and collaboration. As mentors and teachers, your guidance has been instrumental in shaping the success of this project. Your dedication to fostering learning and innovation has made a lasting impact, and I'm grateful for the opportunity to learn and grow under your mentorship.\n\n## Author\n\nAkash Deep \\\nEmail: contact.akashdeep023@gmail.com \\\nLinkedIn : https://www.linkedin.com/in/akashdeep023/\n\n## Thank You\n\nThank you for exploring Airbnb! Your feedback is valuable. If you have any suggestions or thoughts, feel free to share them with us. 😊\n\n---\n\n## Ex- Image\n\n**Home Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/4277d539-f779-48db-92ca-222be5359baa)\n\n**Footer Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/84f6e124-91aa-4dd9-b14b-d67781effe33)\n\n**SignUp Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/d8753ac5-b237-4373-850c-99008137af5b)\n\n**LogIn Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/5bec0280-c4de-495d-93ac-1f9ae59df0c3)\n\n**Profile Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/747c25a5-d912-422d-bbc4-f7304228ef3c)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/3efc00d6-e108-4847-a058-4bb271485cff)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/5455b5ba-2796-4de1-aefe-187435f84219)\n\n**Update Prifile**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/b229e0e7-c276-48ba-897a-dd8900aafc35)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/db42e30d-a24c-4b2c-a3c5-c2338ee4d5d7)\n\n**Confirmation Box**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/d8717db4-dbd1-491c-aa6d-356f4bcf3f31)\n\n**Alert Msg**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/70b4f767-fba9-4bc2-b0f1-efb700cc1cc3)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/b6857746-bdb7-4655-91bc-58deebe5bffc)\n\n**Loader**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/fad03cbb-fac8-463a-a09d-d871e87ad474)\n\n**Create New Restaurant**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/bb3cc8be-5cf2-4902-8f34-948cda8a58e7)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/db343223-2996-489c-9089-d00238074970)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/00eb331a-74dc-4c77-bba3-35fa73b64c71)\n\n**Show Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/dc9b64d3-9348-4b6f-84c4-319b19df3aff)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/4d0ad659-0f7a-4189-919e-33274cbf95cc)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/a2c161da-cebd-4154-b26b-45f4da77c4cb)\n\n**Edit Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/0667a6ee-5136-460e-ae6f-c64bd9859388)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/60113611-b7ab-40df-a29a-75d32a49671c)\n\n**Filter Page**\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/6df98108-a1fc-462c-bda6-cf7563b6027e)\n![image](https://github.com/akashdeep023/Airbnb_Project/assets/126412088/c8ff9e97-739e-44c4-8303-ca96b1153eec)\n\n### Thanks for visit... 😊😊😊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakashdeep023%2Fairbnb_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakashdeep023%2Fairbnb_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakashdeep023%2Fairbnb_project/lists"}