nolybom / TrailFinder

App for finding the closest park/towpath trail head to a users location :bike:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Documentation

About Trail Finder v0.4

Trail Finder is an application that uses geolocation (a users current GPS location) and gives them feedback, telling them the closest trail heads* to them at that location. This project was derived out of a personal need to locate various towpath trails in the NE Ohio area.

*Trail heads can be found most often at parks and towpaths and are typically for walking or riding a bicycle.

Version Information (v0.4)

What it can do so far:

  1. Find a users location using GPS, return and pinpoint the 3 closest locations to them
  2. Return the correct 3 closest locations to the table
  3. Write out a list of 3 locations (not sorted yet)
  4. Give them an info window with location info

To Do:

  1. Return the correct 3 closest locations to the table (already works on the map)
  2. All locations listed should have the exact distance (miles) from the users current location a. The above works, it just doesn't display the output in the correct DIV, yet.
  3. Add more data (currently there is only about 20 pieces of sample data in Fusion Tables),
  4. More Results should show '50' more of the closest locations. a. Need to create directive to update map plugins queryLimit to 50 b. Reload page to show updated locations c. On reload it will obviously need to persist that queryLimit of 50
  5. Create favorites UI and workflow. Should be able to add/remove/sort favs.
  6. Create search functionality
  7. Add ability to swipe a row to show other options (or buttons to show options).
  8. Integrate with Phonegap in order for above to work (swipe gestures).

Libraries Used

Trail Finder uses many open source libraries to do cool stuff...

  1. jQuery
  2. Google Maps API
  3. Google Fusion Tables API
  4. Bootstrap 3.0
  5. Phonegap

Phonegap Information

The /Trailhead folder (poor naming convention, I will fix that later) contains a working copy of the Trailfinder app within the Phonegap framework (currently working on iOS). This is the ultimate goal of Trailfinder is to "port" it to iOS and Android for use on mobile devices. So far, Trailfinder compiles and runs in Xcode and the iOS simulator, in which it is able to find the users location and give them the appropriate feedback. Development using Phonegap will be ongoing and will eventually be the main focus once all features have been implemented in a desktop browser.

Code Information

The index.html file contains all of the code being used (or links to it). For testing, use these coordinates (41.0731, 81.5178) -- which is Akron, Ohio.

Currently, Trail Finder uses very basic technologies. It is written in AngularJS, JavaScript, HTML5, and CSS3. It queries data from Google Fusion Tables to populate the map and list of locations. ~There is a Legacy folder that contains old code that either didn't work or was deprecated. The main folder structure contains the root (i.e. index.html) and three folders: CSS, JS, & img. ~

THere is also a folder named "Trailfinder" which contains the Phonegap code/framework with a working version of Trailfinder int it.

Running localhost

Trailfinder now uses Grunt to run tasks (and server).

  1. Fire up your terminal or command prompt! And change directory to Trailfinder folder, for example: cd Sites/Trailfinder
  2. Install necessary Grunt/Node packages via npm install from within the root folder (not inside app)
  3. cd to the app folder, then install the Bower packages via bower install.
  4. Once all packages are installed, you ready to run the project/server.
  5. You can run the server via the simple command: grunt which will compile all sass and also offers live reload if files change.
  6. Once you are done, you can terminate the server by pressing CTRL+C

Please let me know if you have issues running!

Google Fusion Table setup

The API can call any number of fields from the Fusion Table and place those fields at a specified location. The most basic setup is "Name" and "Location". "Location" is a set of coordinates (i.e. 41.0731, 81.5178).

Contributing Authors

Currently the only developer working on this project is me, James Mosier. Anyone who wants to contribute ideas, code, or help, just shoot me a message or request.

Contact

James D. Mosier - james@jamesdmosier.com - www.jamesdmosier.com

Copyright & Licensing

Original work Copyright (c) 2013 James D. Mosier

Please read the LICENSE.txt for all copyright and licensing information.

Also note that I do not take credit for any of the libraries, frameworks, or resources used within this application that I have specified above in the Libraries Used section. They the sole work of their authors and I am using them as intended by the licenses specified by those owners.

About

App for finding the closest park/towpath trail head to a users location :bike:

License:GNU General Public License v3.0


Languages

Language:CSS 53.6%Language:JavaScript 38.6%Language:HTML 7.8%