Liikennetieto botin tekeminen

16.7.2012 KLO 13:10

Ajattelin aukaista teille hieman tekniikkaa ja koodia tuon @Liikennetieto botin takaa. Tässä postauksessa on siis aimo annos nörtti-puhetta.

Käytetyt tekniikat

Liikennetieto botin takana on paljon muutakin, kuin pelkkä Twitter-tili johon ilmestyy automaattisesti päivityksiä. Kerron tässä kappaleessa seikkaperäisesti eri tekniikoista ja miten niitä käytetään tämän botin kanssa.

TwitterOAuth on PHP-kirjasto, jonka avulla voidaan käyttää Twitterin APIa suhteellisen helposti. Tämän kirjaston avulla saadaan Twitteriin uusi päivitys.

Cronilla taas saadaan koodinpätkä katsomaan 5 minuutin välein onko tullut uusia liikennetiedotteita ja päivittämään ne Twitteriin ja tietokantaan automaattisesti.

Google Maps APIlla toteutin kartan botin kotisivuille ja sitä on muutenkin käytetty hyödyksi esim. staattisissa karttakuvissa, 24h kartassa sekä liikennetiedotteen infoissa.

Bootstrap sai tälläkin kertaa toimia ulkoasun frameworkkinä. Suosittelen lämpimästi tätä täysin ilmaista ”koodikasaa”.

Fancyboxilla saatiin aikaan se kiva efekti, jossa kuva pomppaa nokkasi eteen.

Htaccess -tiedostolla saatiin aikaan ”siistit” urlit tuonne sivuille. Tällöin esimerkiksi osoite http://liikenne.kaartinen.eu/arkisto/kunta/Kuopio onkin muotoa http://liikenne.kaartinen.eu/index.php?p=arkisto&do=kunta&kunta=Kuopio – ei liene vaikeaa päätellä kumpi on luettavampi muoto?

GIT on erittäin pätevä versionhallintaohjelmisto, jota itse käytän työssäni päivittäin ja käytän sitä myös omissa koodausprojekteissani. Tässä projektissa sille muodostui kuitenkin omanlainen rooli sillä sen avulla päivitän myös tuotannon. Ohjelmoin ensin muutokset ja korjaukset localhostiin ja sen jälkeen pushaan ne GIT repositoryyn. Tämän jälkeen pullaan muutokset tuotannossa ja tadaa – muutokset ovat toiminnassa.

Käytetyt ohjelmointikielet

PHP on se kieli mitä itse tulee käytettyä lähes päivittäin, teen tällä kielellä työkseni sovelluksia joten valinta oli itselleni luonteva.

Javascript ja jQuery kulkee itsellä nykyään käsikädessä ja aika monessa tekemässäni sovelluksessa on mukana näitä kieliä jollain tapaa.

Yleistä

Tämän botin koodaaminen oli sinällään erittäin hauska haaste, sillä en ole Twitterin APIn kanssa puljannut ja sitä kautta kun löysi tuon TwitterOAuth kirjaston niin homma vaan helpottui. Tämän myötä kynnys tehdä Twitter yhteensopivia koodinpätkiä madaltui ja voin luottavaisin mielin sanoa pystyväni tekemään Twitter botin joka toimii!

Botti on nyt ollut toiminnassa noin 10 päivää ja en ole huomannut sen toiminnassa mitään ongelmia. Jokusen bugin olen liiskannut verkkosivun puolelta ja siellä taitaa joitain vielä lymytä. Tulen myös kehittämään tuota verkkosivun puolta mm. tilastoilla ja päiväkohtaisella arkistolla. Tietty te voitte ehdottaa jos haluatte jotain lisäominaisuuksia tuohon!

Keskustelu

Tämä artikkeli on tuotu vanhasta blogista ja niiden artikkelien kommentointi on uudistettu. Vanhaan artikkeliin voi kommentoida vain blogin kautta, kun taas uudemmissa näytetään myös Mastodonin kautta tulleet kommentit.

Kommentoi

Voit kommentoida artikkelia alla olevan lomakkeen avulla. Roskapostin välttämiseksi kysymme sähköpostin, mutta emme julkaise sitä. Tekstikenttä ottaa vastaan vain tekstiä ja kaikki muu siivotaan pois.

Mastodon
GitHub
RSS
1
1
6
0
3