Skip to content

zwlego/mysfmovies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mysfmovies

###SF Moives### A service that shows on a map where movies have been filmed in San Francisco. The user can filter the view using autocompletion search.

![SF Movies v1.0] (https://github.com/zwlego/mysfmovies/blob/master/doc/layout.png)

It mashes up the following APIs to achieve its goal -Google Maps -Google GeoLocation -DataSF

###The Technology Stack and Architectures### The following technologies are used to implement SF Movies V1.0

  1. JavaScript | Jquery | CSS
  2. Java | Maven
  3. 3rd Party APIs

The Diagram below shows the Architectures of SF Movies V1.0

SF Movies v1.0

###Problems and Solutions### This application is fully functional with focus on back-end.

  1. Source Data Redirection

    Problem: The source data of SF Movies is from DataSF. Every query from a client will cause back-end server to retrieve source data from DataSF, a third party API. This redirection can slow down the response effectively.

    Solution: First to retrieve the Data from DataSF and store it in the back-end Server. Now the service will use the local data to compele a query, which will improve the response time. In addition, the service is implemented to retrieve data every desired time interval so that the data can be up to date. A little trade-off here is that the if a update has been made in DataSF, but the service has not retrieved it yet and at this time a user may get an complete result. However, the data of movies updated not often and the response time is of more importance. Another thing is the memory cost of storing source data locally, but the size of data is small. To sum up, the trade off is worthwhile.

  2. Not Standard Location Address

    Problem: The location information in the source data from DataSF is not standard, which will cause Google GeoLocation fail to get the coordinates of the location.

    Solution: If the service failed to get coordinates with the original location, the service will parse the location and try with the new location.

  3. Implementation of "search in results"

    Problem: "Search in results" require service to remember the results of the current thread.

    Solution: Instead of storing data in the back-end, service requires the front-end to send the original results back to back-end.

###Missing Out###

  1. Store all the coordinates information locally

    Query coordinates of all locations in the source Data once it is updated. This will make the response faster beacuse service will get the coordinates from local storage instead of redirecting to the Goecode API.

  2. Combine search portals

    Instead of letting user input query information according to different attributes, the combined search portal lets user input all the query information into a single search portal. The back-end of the service will recognise and parse the input automatically.

  3. Implement a on-map search tool

    Right now the service only allows users to type in address to complete the search. By on-map search tool, user can search filming locations fall in desired area on map.

  4. Redesign front-end Since this is the first time i implement a front-end, i code the front-end intuitively most of the time. If i was to spend more time on it, i can redesign the page and refator the code.

###Unit Tests### Under src/main/test a set of unit tests are included. SF Movies v1.0

###Link### Link to to this hosted application: http://hazel-envoy-816.appspot.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published