Responsive and usable for all devices (modern desktop, tablet, and phone browsers)
Map by Google map API with Map-marker
Display locations by default when the page is loaded (at least 5 locations)
Implement a list view of locations and it can be filtered (the list view and the markers should update accordingly)
Location list and Map-marker are clickable, when we click it ten animate the marker (e.g. bouncing, color change) and popup the infoWindow with unique information about the location.
All data requests are retrieved in an asynchronous manner
Add unique functionality beyond the minimum requirements (i.e. the ability to “favorite” a location, etc)
Incorporate a build process allowing for production quality, minified code, to be delivered to the client
Data persists when the app is closed and reopened, either through localStorage (1 day cached) (e.g. localForage) or an external database (e.g. Firebase)
Style different markers in different (and functionally-useful) ways, depending on the data set
Implement additional optimizations that improve the performance and user experience of the filter functionality (keyboard shortcuts, autocomplete functionality, filtering of multiple fields, etc)
Integrate all application components into a cohesive and enjoyable user experience