Giter Club home page Giter Club logo

food-truck's Introduction

Food-trucks

Find food-trucks around you

###Problem Search for food truck around a particular location using freely available API.

###Libraries

  • AngularJs
  • AngularGoogleMap
  • Gulp.js (gulp-concat)

###Features

  • Search any location and find food-truck nearby
  • Filter food-truck according to type
  • Get selected food-trucks name address and items served
  • Highlight selected marker and bring it to center
  • Cluster up markers

###Why Angular? Angular is aptly suited for this project due to its two way data binding feature. Any change in map's bounds triggers API calls. And the gathered data is seamlessly reflected in ui, without any manual DOM manipulation. It also makes filtering data according to truck type easy as the filter preference is watched by angular and UI is automatically updated when filter is changed

###Why Angular-Google-Map? Angular-Google-Map provides convenient wrapper for common Google Map components. Markers directive is optimised for huge amount of data points and solves the issue to taxing DOM manipulation which would of occurred if the markers had been rendered with ng-repeat directive. This library also provides convenient wrapper for search box and clustering of markers, which were used in this project

###Challenges and issues

Default infowindow directive provided by angular-google-map had some issues like

  • Infowindow flickering after being clicked
  • Autoclose when map's center changed. (angular-google-map traces markers by idkey, so change in data should not re-render the marker until idkey is unique)

###Solutions and Workarounds Due to issues with default infowindow, custom infowindow was used.

Implementation with default infowindow can be found in another branch.

####TODO

  • Cluster only similar types of truck's markers
  • Position custom infowindow near the clicked marker

food-truck's People

Contributors

gmfun avatar

Stargazers

Chandra Singh Meena avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.