Skip to content

A data-driven microservice scaled to handle 1000 RPS and query a postgreSQL database with 10M+ records

License

Notifications You must be signed in to change notification settings

FangNYC/Neighborhood

 
 

Repository files navigation

Neighborhood

This module displays information about the neighborhood of a rental listing. For this project, I was responsible for vertically and horizontally scaling the service to handle up to 1000 RPS with an average latency of under 500ms.

Related Projects

Development

To run the application in non-development mode from within the root directory:

npm run build
npm start

Then access the application at (http://localhost:3001).

To run in developer mode:

npm run react-dev
npm run start-dev
npm test

Installing Dependencies

From within the root directory:

npm install

Data Schema

This module's data is stored in a SQL database. There are three tables:

  • Listings: each record corresponds to one listing on Staybnb, and includes location information (lat/long) and host-inputted descriptions.
  • Neighborhoods: each record corresponds to one of 15 neighborhoods in which all listings are located, and includes identifying names for different geographic levels related to the neighborhood as well as seven features of the neighborhood.
  • Landmarks: each record corresponds to a well-known landmark in London, along with its location (lat/long). This data will be used to display to the client the five nearest landmarks to a given listing.

The schema is shown below.

database schema

About

A data-driven microservice scaled to handle 1000 RPS and query a postgreSQL database with 10M+ records

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.1%
  • HTML 1.3%
  • Other 1.6%