Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Bringing public transport back to the public
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
features
lib
spec
.gitignore
.rbenv-version
CHANGELOG.md
Gemfile
Gemfile.lock
LICENSE
README.md
cucumber.yml

README.md

Bagatela - wyszukiwarka połączeń komunikacji miejskiej still maintained

Bagatela udostępnia interfejs programistyczny do wyszukiwania przystanków i optymalnych połączeń w sieci komunikacji miejskiej.

Zanim zaczniesz czytać dalej

To nie jest skończony projekt. Uruchom testy aby zobaczyć aktualny stan pracy.

Wykorzystywane technologie

Instalacja

Ustaw domyślny interpreter Ruby na JRuby (jeżeli korzystasz z rbenv stanie się to automatycznie gdy znajdziesz się w folderze projektu). Jeżeli korzystasz z Ruby Version Manager wykonaj:

$ rvm use jruby
Using jruby 1.6.3

Ustaw tryb kompatybilności z Ruby 1.9:

$ export JRUBY_OPTS=--1.9

Ściągnij repozytorium i zainstaluj niezbędne biblioteki (wymagany bundler) Gemnasium:

$ git clone git://github.com/Stanley/bagatela.git
$ cd bagatela
$ bundle install

Populacja bazy danych

  • Opcja 1:

    Replikuj jedną z oficjalnych baz danych. Np.:

      $ curl -X POST http://api.bagate.la/_replicate -d '{"source":"kr","target":"http://localhost:5984/kr"}'
    
  • Opcja 2:

    Importuj rozkłady bezpośrednio ze źródła (tj. strony przewoźnika). Zobacz projekt pigeons po więcej informacji.

  • Opcja 3:

    Przebiegnij po wszystkich przystankach w mieście, zapisując odjazdy w notesie. Przepisz do komputera.

Generacja grafu

Kolejnym krokiem przed uruchomieniem wyszukiwarki jest generacja grafu, połączonej struktury przystanków i relacji mnędzy nimi. Funkcjonalność jest w trakcie tworzenia. Może nie działać.

$ bundle exec irb -r lib/bagatela.rb
irb(main):001:0> Bagatela::Graph::Import.new("http://localhost:5984/kr", true).relationships!(Date.parse("23.09.2011")

Zobacz dokumentację wyjaśniającą agrumenty obu metod (wkrótce).

Uruchomienie

  • Testów:

    $ bundle exec cucumber features/
    

    Uwaga: domyślnie test przeprowadzony jest na http://localhost:8000. Z powodu braku praw do zapisu, zmiana tego parametru na http://api.bagate.la w pliku features/support/env.rb nie ma sensu (choć teoretycznie jest możliwa). W przyszłości w systemie produkcyjnym zostanie udostępniony jeden użytkownik i baza danych do celów testowych. Testy wymagają uruchomionej bazy CouchDB.

      $ bundle exec rspec spec/
    

    Uwaga: jeżeli chcesz przywrócić wyświetlanie backtrace, które domyślnie jest wyłączone, zakomentuj :raise_errors na początku deklaracji klasy Bagatela::RestApi w app/main.rb.

  • Aplikacji:

    $ PATH_TO_REXSTER/rexster.sh --start -c config/rexster.xml
    
  • Konsoli:

    $ bundle exec irb -r lib/bagatela.rb
    

Dokumentacja API

http://developer.bagate.la/GRAPH.1.html

Have fun!

Something went wrong with that request. Please try again.