michaelck / unlockphilly

Elevating accessibility on and around mass transit

Home Page:http://www.unlockphilly.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unlock Philly

An interactive web application that was prototyped at Apps For Philly Transit Hackathon. The aim is provide better information about accessibility. E.g visualize accessibility of stations and services around the stations. The hope is that the app can be developed and extended significantly to help people of Philadelphia.

View it online at http://unlockphilly.com.

Contributors

See https://github.com/UnlockedLab/unlockphilly/wiki/Volunteer-contributors

Information for developers

UnlockPhilly is a great platform for learning multiple aspects of web development spanning front-end and back-end skills.

Contributing

Requirements/features/bugs are tracked here in GitHub under the issues tab. Here are some guidelines:

  1. An accessible website/app is our number one priority. We value all contributions that put user accessibility as the top consideration when creating or modifying user interface elements. See http://www.w3.org/WAI/intro/wcag and for information/examples about accessible forms/controls see http://webaim.org/techniques/forms/controls ; for details of the Evoxlabs accessibility project, see http://evoxlabs.org/
  2. If you see something broken on the site, please file an issue!
  3. If you'd like to contribute to the project,
  • Decide which issue you'd like to work on. Feel free to ask questions by making comments on the issue (or better still, join us at our weekly Code for Philly meetups.)
  • Fork the repo.
  • Follow our setup instructions below to ensure you have a running local version of the app (if you get stuck or anything is unclear, shout, and help us make the instructions even clearer!)
  • Create a branch locally (please name it based on the issue you're working on.)
  • Make your changes. Don't forget to write helpful commit messages!
  • Create a pull request against the unlockedlabs remote and we'll review it and merge the changes.
  • Happy coding! Come along to Code for Philly meetups to learn more and meet the team.

Client Technology / Concepts

Server Technology / Concepts

  • Ruby.
  • MongoDB (NoSQL database).
  • Sinatra: a simple Ruby DSL that receives client requests, calls 3rd party APIs/MongoDB and returns JSON responses and dynamic web pages.
  • ERB (embedded ruby) pages.
  • REST for API design.
  • Heroku for hosting the official website, although you can run everything locally as described below.

Setup instructions

Using your own machine
  • Make sure your machine is running Ruby 2.0.0 or better (and gem/bundler toolsets), latest MongoDB, and git.
  • Fork this repo and git clone to your local machine.
  • Copy the .env.sample file to .env, and edit the new .env file following the instructions inside. You will have to sign up with Mapbox, Yelp, and Mapquest to get the necessary API keys.
  • Run make install from the root of the project to install all of the necessary Gem dependencies.
  • Run make load-data to load all stations into MongoDB and give a result saying how many stations were loaded.
  • Run foreman start. This will start a local instance of the application running at http://localhost:5000.
Using a Vagrant VM

If you're not on a linux machine, you can use Vagrant and VirtualBox to run a virtual machine (VM) with all of the necessary dependencies (Mongo, Ruby, etc.) already set up. You may also choose to do this if you want to avoid potential conflicts with programs already running on your computer (other instances of Mongo, different versions of Ruby, etc.)

  • Install Vagrant and VirtualBox.
  • Fork this repo and git clone into your local machine.
  • Copy the .env.sample file to .env, and edit the new .env file following the instructions inside. You will have to sign up with Mapbox, Yelp, and Mapquest to get the necessary API keys.
  • Run the following commands to create the VM, log in, and start an instance of the website.
user@home-machine: ~/unlockphilly $ vagrant up
user@home-machine: ~/unlockphilly $ vagrant ssh
vagrant@vm: ~ $ cd /unlockphilly
vagrant@vm: ~ $ make install # Install Ruby dependencies
vagrant@vm: ~ $ make load-data # Copy station data into MongoDB, already running.
vagrant@vm: ~ $ foreman start # Visit http://localhost:5000 in your web browser.

About

Elevating accessibility on and around mass transit

http://www.unlockphilly.com


Languages

Language:JavaScript 38.6%Language:HTML 31.0%Language:Ruby 18.1%Language:CSS 11.8%Language:Shell 0.5%Language:Makefile 0.1%