Web sajtovi / PrevozNIK

Ne tako retko mi se dešavalo da budem u situaciji u kojoj mi je poznata adresa neke lokacije u Beogradu na koju treba da odem, ali ne i podataka koja linija gradskog prevoza bi mogla da me odvede tamo. A kako je zvanični sajt GSP-a uglavnom informativnog karaktera, bez mogućnosti za npr. pretragu linija gradskog prevoza, rešio sam da napravim aplikaciju koja će mi taj posao olakšati.

PrevozNIK (http://prevoznik.nikolaposa.in.rs) je web bazirana aplikacija, koja omogućava pretragu linija GSP-a, na osnovu naziva ulice u Beogradu, kroz koju prolazi neka linija gradskog prevoza. Kao što može da se nasluti iz uvodnog pasusa, rad ovog servisa se u potpunosti oslanja na informacije sa zvaničnog sajtu GSP-a, tako da PrevozNIK na neki način predstavlja nadogradnju funkcionalnosti tog sajta. Do potrebnih informacija se dolazi parsiranjem stranica tog sajta i preuzimanjem onih o linijama i trasama kroz koje one prolaze. Tako prikupljeni podaci se potom smeštaju u lokalnu bazu i jednom nedeljno se sinhronizuju sa onima koji se nalaze na GSP-ovom sajtu, kako bi bile ažuirane moguće izmene u saobraćanju neke linije.

Krajnji korisnik pretragu započinje tako što popunjava formu na početnoj stranici sajta, unoseći naziv neke Beogradske ulice, npr. "Kneza Miloša". Iako je preporučljivo da se nazivi ulica unose gramatički ispravno, uz pravilnu upotrebu velikih i malih slova, kao i korišćenje djiakritičkih znakova (č, ć, š, đ i ž) na mestima gde je to potrebno, pozadinska logika koja radi iza servisa PrevozNIK je kreirana tako da će npr. upit "kneza milosa", davati isti rezultat kao da je uneto "Kneza Miloša".
PrevozNIK po default-u omogućava pretragu po nazivu ulice, s obzirom na to da se u okviru informacija o trasi neke linije na GSP-ovom sajtu pojavljuju i nazivi objekata, pojmovi kao što su Glavna pošta ili Studentski trg, bi takođe mogli da vrate rezultat.

Kao rezultat, korisnik dobija listing naziva ulica/objekata za koje je pronađeno poklapanje sa poslatim upitom, zajedno sa linija GSP-a koje kroz njih prolaze. Za svaku liniju se prikazaju osnovne informacije, kao što su njen broj, režim rada (dnevna ili noćna), tip (autobus, trolejbus ili tramvaj), kao i link ka stranici te linije na GSP-ovom sajtu, na kojoj korisnik može da sazna sve dodatne informacije.

Da bi izašao u susret građanima Beograda kojima srpski jezik nije maternji, PrevozNIK je, baš kao i zvanični sajt Gradskog saobraćajnog preduzeća, kreiran u multi-jezičkom, tačnije dvo-jezičkom maniru, pa je pored podrazumevanog srpskog, dostupna varijanta sajta i na engleskom jeziku.

Pored toga što običnim korisnicima na raspolaganje stavlja GUI za pretragu linija GSP-a na osnovu naziva neke Beogradske ulice kroz koje one prolaze, PrevozNIK istu tu funkcionalnost nudi i programerima, u vidu javnog API-ja.

Kao i većinu, mojih projekata, PrevozNIK sam napisao koristeći Zend Framework-u, a pri odlučivanju koji DBMS da koristim za potrebe aplikacije, odluka je pala na SQLite, iz razloga što je baza krajnje jednostavna i sastoji se iz svega nekoliko tabela.

=> POSETITE SAJT <=

  1. Mihailo Joksimovic
    Svaka čast matori, odlična i pre svega vrlo vrlo vrlo korisna stvar. Ja sam nekada planirao da ovo pravim kao, ali nikad se nisam odlučio za taj poduhvat :-)) Opet -- svaka čast, i nadam se da ćeš uzeti opet neku nagradu sa ovim projektom :-)

    E sad, da ne bude da samo hvalim, imam jednu primedbu :-D Ukucao sam svoju ulicu (Kraljice Katarine) i naravno dobio 23, 53 i 57 (dnevne) i 56 (noćni). Sve odlično naravno, ali .... dobio sam i liniju br. 202, koja staje u Izvorskoj. Istina, izvorska je ulica iznad mene, ali, kako u dragom nam gradu imamo po 5 ulica sa istim imenima, na različitim krajevima grada, autobus 202 nema veze sa Izvorskom ulicom na Banovom Brdu :-))

    Istina, pojma nemam da li bi uopšte mogao to da rešiš jednostavno, bez da izgubiš godinu dana kategorišući ulice po naseljima, al eto, ne sumnjam da ćeš i to rešiti :-)

    Peace
  2. Nikola Poša

    Najpre, hvala na pohvalama. ;)

    Svestan sam te situacije koju si opisao, i to je jednostavno problem na koji ne mogu da utičem. Kao što ti je verovatno poznato, sve te informacije o linijama i ulicama kroz koje one prolaze uzimam sa GSP-ovog sajta, a pri tom nigde ne postoji podatak o opštini ili naselju u kojem se ta neka ulica nalazi. Tako da, kao što si i rekao jedino, rešenje bi bilo da ručno uzmem da razdvajam ulice po naseljima, al' za to zaista nemam vremena ni živaca. :) Jednostavno, smatram da to nije neki skandalozan propust, jer i sam korisnik će biti svestan o čemu se radi kad bude dobio takav neki rezultat nakon korišćenja mog servisa.

Pošaljite komentar: