项目作者: jojoee

项目描述 :
:tada: Neighborhood map project
高级语言: JavaScript
项目地址: git://github.com/jojoee/frontend-nanodegree-neighborhood-map.git
创建时间: 2016-04-27T11:13:05Z
项目社区:https://github.com/jojoee/frontend-nanodegree-neighborhood-map

开源协议:MIT License

下载


Frontend Nanodegree Neighborhood Map

Neighborhood Map project for Front-End Web Developer Nanodegre, and this is Project Rubric

Getting Started

Open index.html file in your browser or review online here

How it’s work

Upon clicking the location (either list or marker), then it’ll popup information on the marker and list the sushi near it on left-sidebar.

Setup task runner for devloper

  1. Go to project’s root directory
  2. Install npm
  3. Install gulp.js
  4. Run npm install for install all dependencies
  5. Run gulp for start task runner

Note

TODO

  • Using Knockout framework in a proper way
  • 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
  • Implement Foursquare API
  • Implement Yelp API
  • Implement Wikipedia
  • Implement Instagram
  • Check empty object before render it (on addSushiShopsFromResponse function)
  • List view toggle-able
  • Implement knockout “css” binding on li element (reference)
  • Store map-style data into localForage
  • Add loading screen (or message, animation) while loading sushi shop from Foursquare
  • Fix hover effect on li when google map can not be loaded
  • Implement browserify or webpack
  • Error Free
  • Tell the user (e.g. text or popup) when we can not connect 3rd-party or get error from it
  • Update README file
  • Add comments
  • Fix JSHint
  • Implement SweetAlert2
  • Implement template engine
  • Implement pace
  • Update Google map style by Midnight Commander
  • Add JSHint into task runner
  • Refactor
  • Implement query string builder 1, 2, 3
  • 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

Reference and other