calle-app
calle-app copied to clipboard
CalleApp: El ultimo SF food truck locator.
CalleApp
El ultimo SF food truck locator. Check it out!
About
CalleApp was built for a coding challenge, and works great and both desktop and mobile devices. On iOS, CalleApp works best when added to your homescreen.
Technologies
Backend
- Sinatra
- Geocoder rubygem
- Capistrano (deployment)
- JSON flat-file datastore
Frontend
- backbone
- require
- Google Maps
- jquery.pep
- jquery.cookie
- Compass & Sass
Spec
- Find food trucks nearby by rating & cuisine
- Search for trucks by keyword
- Allow user to locate themselves
- Get directions to said trucks (nixing for time's sake)
Starting in development
$ rake start
Icons
- Food Truck by Kyle Tezak, from The Noun Project
- Search by Alex S. Lakas, from The Noun Project
- Shuffle by Dmitry Baranovskiy, from The Noun Project
- Utensils by Dmitry Baranovskiy, from The Noun Project
- Right Arrow by Michael Zenaty, from The Noun Project
- Close Icon by Alex S. Lakas, from The Noun Project
- Building by Bram van Rijen, from The Noun Project
- Others from Font Awesome
Todo
- Turn SVG icons into icon fonts
- Modularize CSS
- Remove misplaced logic in Backbone models
- Make icons, colors, etc. more consistent
- Lint code and write tests
- Consolidate crowded map markers
- Add ability to get directions to truck, view tweets about truck, etc.
- Improve accessibility
- More rigid to vertical grid
- Use hashbang to anchor to trucks
- Make backend more RESTful
- Document source code better
- Add images for trucks
Notes
Why I chose these technologies?
Frontend
Backbone is fast and more flexible than most other MV* frontend frameworks. Using backbone also gives me the excuse of including underscore in my apps. I like requirejs for dependency management. I also used jquery.pep.js for the dragging of the left-hand sidebars.
Backend
Sinatra is trivially easy to setup, has a great commnunity (IRC, Google Groups, etc.), and uses a language I am already familiar with, Ruby. Sinatra also uses Rack middleware, which the community has buit a ton of extensions for. Using Sinatra also gives me access to a plethora of rubygems, like geocoder, which I used in building Calle.
Code Highlights
- 7 line search engine
- Geographical distance in javascript
- Homebrewed RPC!
- jquery.pep.js - glad I got to use my own plugin in a project!
About Me
You can read more about me on my website's about. There, you'll also find an updated (hopefully) résümé (sp?).