-
Notifications
You must be signed in to change notification settings - Fork 8
Kansan muistin ohjelmointirajapinnan kehitys
Kansan muisti ry lähti kisaamaan Datademon ensimmäiselle kierrokselle ehdottamalla Kansan muisti -sivuston sisällön tuomista siistittyyn ja dokumentoituun REST-rajapintaan. 2000€ rahoituksen motivoimana rajapinta saatiinkin julkaisukuntoon. Tarjolla on ajantasaista dataa mm. kansanedustajista, puolueista, täysistunnoista, sosiaalisesta mediasta ja valiokunnista. Kansan muisti lisäksi jalostaa datasta arvioita kansanedustajien aktiivisuudesta ja mielenkiinnon aiheista eduskunnassa ja mediassa. Kaikkea tarjolla olevaa tietoa ei olekaan edes saatu vielä itse sivuston hyödynnettäväksi.
REST-rajapinnan toteutus on myös osa Kansan muisti -sivuston kakkosversion kehitystyötä. Uudessa versiossa sivusto pyöriikin pääasiassa rajapinnan päällä, eli syömme omaa lääkettämme. Rajallisista resursseista johtuen rajapinta oli kuitenkin osin puutteellinen ja paikoin hankala käyttää muihin kuin sivuston tarkoituksiin. Datademon ansiosta rajapinnasta saatiinkin aikaisempaa yleiskäyttöisempi.
Kansan muisti -sivusto on toteutettu Django-alustalla, ja REST-rajapinta tämän Tastypie-laajennoksella. Tastypien olemassa olevat dokumentointityökalut eivät kuitenkaan taipuneet kaikkiin tarpeisiimme, joten kirjoitimme oman kevyen dokumentointijärjestelmän hyödyntäen apidoc.js-työkalua. Tämä yhdistelmä mahdollistaa rajapinnan kaikkien kutsujen, parametrien ja palautuskenttien dokumentaation.
Koko projektin lähdekoodi on saatavilla avoimena lähdekoodina.