Safe Airbnb NYC

Tech Stack: React, Node.js, Express, MySQL

Project Inspiration

As Airbnb is getting more and more popular these days, it has become one of the primary choices for vocational lodging and short-term rental. We are active Airbnb users ourselves. Airbnb's website and app are powerful enough to tell us all the information at the property and host levels, however, it often requires us to do more research outside of Airbnb in regards to the neighborhood of the property.

We have heard several stories from our friends and family when they had previously booked Airbnb stays, they booked the highly rated properties and hosts but ended up being surprised by how unsafe the neighborhoods were. Therefore, we decided to incorporate the official crime data with the Airbnb listings to inform users of the crime score of each neighborhood.

In addition to that, we also wanted to provide additional information for each Airbnb listing’s neighborhood such as how far/close this listing is from the popular museums, art galleries, or parks. In the future, we want to incorporate more recreational related data to provide the users with more useful information that can help users book and plan their trips more easily.

The web app we built is intended to be used by people who want to visit New York City (NYC) and decide to lodge with Airbnb. Compared to the Airbnb website, this application will not only provide all the listing information on the AirBnB (host, price, rooms, review, etc.), it will also provide more information about the neighborhood around the chosen listing by the user. The additional information includes nearby recreational facilities like museums and theaters, parks and playgrounds, the crime ratings, etc. The app provides a search bar and a list of filters for the users to formulate their requests. Once the user clicks the search button, the app will return well formatted information for the user.

How to Run Code

  • Download or clone this entire repository
  • Save everything in your local machine
  • From your terminal, navigate to the project folder
  • Go to the Client folder, and run "npm install"
  • You may also need to run "npm i leaflet" and "npm i @mui/material" in case the previous step doesn't install all the libraries needed
  • run "npm start"
  • Open a separate terminal window, navigate to the Server folder
  • run "npm install"
  • run "npm start"
  • You should be able to start exploring the app