/AirBnB_clone_v4

AirBnB Clone v4: A dynamic web implementation enabling users to search and filter rental properties based on various criteria.

Primary LanguagePython

AirBnB Clone v4

This project is an implementation of the AirBnB clone with dynamic web features. It aims to provide a platform where users can search for rental properties and filter them based on various criteria.

Authors

  • Paschal Ugwu
  • Amarachi Nnanta

Learning Objectives

Upon completing this project, you should be able to explain the following concepts without external assistance:

  • Requesting your own API
  • Modifying HTML element styles and content
  • Manipulating the DOM
  • Making GET and POST requests with JQuery Ajax
  • Listening/binding to DOM and user events

Requirements

General

  • Allowed editors: vi, vim, emacs
  • Code interpreted on Chrome (version 57.0)
  • All files end with a new line
  • Semistandard compliant code (semistandard *.js --global $)
  • All JavaScript in the scripts folder
  • JQuery version 3.x must be used
  • Avoid using var
  • HTML should not reload for each action
  • A README.md file at the root of the project folder

GitHub

  • One project repository per group
  • Cloning/forking a repository with the same name before the second deadline results in a 0% score

Before Starting the Project

Ensure you have Flasgger installed locally:

$ sudo apt-get install -y python3-lxml
$ sudo pip3 install flask_cors
$ sudo pip3 install flasgger

Troubleshoot potential dependencies issues if the RestAPI is not starting.

Manual QA Review

Request a review from a peer before the project's deadline.

Tasks

  1. Last Clone!

    • Update the repository name to AirBnB_clone_v4
    • Update the README.md with new contributions
    • Fork the provided codebase or create a new repository called AirBnB_clone_v4
    • Install Flasgger if not done previously (sudo pip3 install flasgger)
  2. Cash only

    • Start a Flask web application
    • Update routes and file names as specified
    • Implement asset caching to avoid Flask's asset caching behavior
  3. API status

    • Update API entry point to handle CORS
    • Change routes and file names as specified
    • Implement API status indicator in the front end
  4. Fetch places

    • Update routes and file names as specified
    • Load places dynamically from the front end using a POST request
  5. Filter places by Amenity

    • Update routes and file names as specified
    • Implement filtering of places by Amenity
  6. States and Cities

    • Update routes and file names as specified
    • Implement filtering of places by State and City
  7. Reviews

    • Update routes and file names as specified
    • Implement a feature to show/hide reviews dynamically

Copyright

© 2024 ALX, All rights reserved. Plagiarism is strictly forbidden and will result in removal from the program.