______ _ (, / ) /) ___/__) , /) /---( __ ___(/_ _ __ (, / // _/_ _ ) / ____)/ (_(_) /(___(/_/ (_ / _(_ /(_ (__/_)_ (_/ ( (_____ /) )(/
- Public transport operators in Europe must ensure that mobility impaired people can use their service. That's why more and more lifts are installed at train and subway stations. Broken lifts severly restrict the freedom of those people. Being stuck at a train platform not only makes a journey much longer, it is also disrespectful to the individual.
- BrokenLifts was born at December 3/4, 2011 at Random Hacks of Kindness, Berlin. There are pictures taken at RHoK Berlin on Flickr. Of course BrokenLifts is on Twitter.
- The project idea was brought to RHoK by Raul Krauthausen from Sozialhelden e.V. The initial project definition can still be found online. The slides we used for the final presentation can be seen on online. Moreover, the project was advertised at the 28th Chaos Communication Congress (28C3) in Berlin at December 29, 2011. The slides of the 28C3 Lightning Talk and the video recording are available online.
- The current version of the website is online at: http://brokenlifts.org.
- The project was presented on the re:publica 2012.
The command line is your friend:
$ git clone email@example.com:sozialhelden/brokenlift.git $ cd brokenlift $ bundle install $ bundle exec rake db:create $ bundle exec rake db:migrate $ bundle exec rails s
After you have installed everything it's time to fill the database with some random data. Please
bundle exec rake db:populate.
We use Vagrant to setup a virtual machine which acts like our production system with all the dependencies. Once set, you check out the brokenlift repository on github, put it in the share folder between the virtual machine (guest system) and your machine (host machine). You can then use your favorite editor to make changes - they will be automatically deployed on the virtual machine. If you want to see your changes locally, you have to connect to the virtual machine with and start the rails project.
Enough of the theory, lets make this dream come true. Go through each step:
Install Oracle’s VirtualBox for your operating system.
Install vagrant gem:
$ gem install vagrant
Create a directory for your Virtual Machine:
$ mkdir $HOME/vagrant_brokenlifts/ $ cd $HOME/vagrant_brokenlifts/
Download the box (→ this will take a while, so grab a snickers):
$ vagrant box add brokenlifts_box http://wikimatze.de/package.box
Initialize and run the virtual machine:
$ vagrant init brokenlifts_box $ vagrant up
Make a test login in the box:
$ vagrant ssh Linux lucid32 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:09:46 UTC 2011 i686 GNU/Linux Ubuntu 10.04.3 LTS Welcome to Ubuntu! * Documentation: https://help.ubuntu.com/ Last login: Thu Jul 21 13:07:53 2011 from 10.0.2.2 vagrant@lucid32:~$
Install the guest edition for better handling and reload the VM (don't forget to terminate the
ssh session with
exit before doing the following steps on your host system):
$ gem install vagrant-vbguest $ vagrant reload
Check out the current code:
$ git clone firstname.lastname@example.org:sozialhelden/brokenlift.git
Change the database.yml this step is necessary because the socket location is different between the virtual machine and the production system:
$ vagrant ssh $ vagrant@lucid32:~$ cd /vagrant/brokenlift $ rm config/database.yml $ mv config/database_vm.yml config/database.yml
Create the database and start rails:
$ vagrant ssh vagrant@lucid32:~$ cd /vagrant/brokenlift vagrant@lucid32:~$ bundle exec rake db:create vagrant@lucid32:~$ bundle exec rake db:populate vagrant@lucid32:~$ bundle exec rails s
Check on your favorite browser on your host system the URL http://localhost:3000
/vagrant on your virtual machine you can find the same file you have under
$HOME/vagrant_brokenlifts/ - that's why it is called a shared folder. Any change you made under
the git repository
$HOME/vagrant_brokenlifts/brokenlift are influencing the folder on your virtual
/vagrant/brokenlift and you can the results directly in the browser of your host system.
If you want, you can use the Vagrantfile in this repository to create own virtual machine. Read vagrants getting started article, to understand how the systems works.
The following packages are installed on the virtual machine:
# git sudo apt-get install git-core # command-line git browser with vim-commands sudo apt-get install tig # mysql stuff sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev # nokogiri sudo apt-get install libxslt-dev libxml2-dev # need for gem rubyracer sudo apt-get install g++
The project features a RESTful API which can be used to extract the scraped data. The default response format is JSON but other formats are also supported.
You can find it int the wiki.
The screenshot shows the current version of the website.
- Christoph Bünte (@chris_can_do)
- Janosch Woschitz (@jwoschitz)
- Oliver Schmidt (@codejet)
- Matthias Günther (@wikimatze)
- Esther Masermann
- Andi Weiland (@ohrenflimmern)
- Raul Krauthausen (@RAULDe)
Brought to you by:
- Julia Benndorf
- Florian Brasch (Awesome logo of awesomeness)
- Holger Dieterich
- Stefan Dühring
- Nick Fisher
- Duc Ngo Viet
- Tobias Preuss
- Marco Stahl