Using open data, accessible visualizations and social media our mission is to make Philadelphia a more accessible city that welcomes and embraces people of all ages and abilities.
We are "building with, not for" and doing our best to ensure that our meetup spaces and tools are accessible. CityCoho is completely wheelchair accessible including the restrooms; Devnuts' entrance is wheelchair accessible and the restroom is large and on the same level, but there are no grab bars. The seating at both spaces is wheelchair friendly.
More details on Code for Philly project page
View it online at http://unlockphilly.com.
See https://github.com/UnlockedLab/unlockphilly/wiki/Volunteer-contributors
UnlockPhilly is a great platform for learning multiple aspects of web development spanning front-end and back-end skills.
Requirements/features/bugs are tracked here in GitHub under the issues tab. Here are some guidelines:
- 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/
- If you see something broken on the site, please file an issue!
- 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.
- HTML/CSS.
- Javascript (JQuery).
- Bootstrap framework for easy page layout and styling.
- LeafletJS/Mapbox for maps.
- D3.js for graphs and visualizations (example)
- AJAX requests to the server.
- Ruby.
- MongoDB (NoSQL database).
- Postmark For transactional email alerting.
- Twitter API For posting outage notifications to Twitter.
- Mapquest Open API for location Geocoding
- Google Analytics for website usage reporting.
- 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.
- 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.
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.
- Visit http://localhost:5000 in your web browser.