Skip to content

dtcyganov/sf-movies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#SF Movies

Link to the service: SF Movies.

##Description The SF Movies service shows places where different movies have been filmed in San Francisco. The date for the service was taken from DataSF: Film Locations.

##Technologies ###Backend

  • AppEngine as a platform (no experience before):
    • Applications loaded there scale well
    • The platform has good management and monitoring tools
    • Google provides a good data storage system for AppEngine applications
  • Google Cloud Datastore as a storage for movies data (no experience before):
    • Distributed, scales well
    • Good availability
    • Supports indexes (it was very convenient to use an index for autocomplete feature)
  • Java as a backend language (a lot of experience):
    • I love Java :)
  • [The Google Maps Geocoding API] (https://developers.google.com/maps/documentation/geocoding) used for coding locations names to geo coordinates (was used at a data preparation step so it is not working in a cloud) (no experience before).

###Frontend

##Architecture features

  • Movies are stored in a denormalized format. So we need only one db request for search and get results.
  • How autocomplete works: a movie class has method onSave, which called on db store. Inside the method created an array which contains all prefixes of each word in the movie title. This array stored in the database in indexed field. When user request arrives, a search phrase split on words and these words searched in that indexed field. Datastore indexes are distributes, work fast and allows not to maintain reversed index manually.
  • Data storage layer reads/writes data from/to the cloud database. Http handlers uses data storage layer to work with entities (movies). So the service is stateless (scales as well as storage do and the storage do it well).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published