wiki:suunnitelma_jorajala
Last modified 3 years ago Last modified on 2014-06-24 21:58:44

TIEA218 Harjoitustyö

Tekijä: Joonas Rajala
Arvosanatavoite: ?

Kuvaus

Muutamilla käyttämilläni IRC-kanavilla on ollut pitkään tarvetta jollekkin tavalle pistää talteen usein (mutta ei niin usein etteikö etsimiseen kuluisi aina viittä minuuttia kun tarve ilmenee) käytettyjä linkkejä artikkeleihin, kuviin, youtubevideoihin ynnä muuhun. Alkuperäisenä ideana oli simppeli botti jota voisi komentaa tallentamaan tietyn tagin alle tekstiä, mikä toimisi varmasti hyvin siihen asti, kun tavaraa alkaisi olemaan useamman sadan eri sanan alla joista ei muistaisi puoliakaan.

Tarkoituksena olisi siis tehdä websovellus, josta kanavien asukkaat voisivat selata, hakea, ja muokata botin kautta tallennettuja asioita. Samasta ohjelmasta voisi myös hallinoida botteja. Ja miksei siinä sivussa tarjota kyseinen data sivistyneellä API:lla myös muiden ohjelmien käyttöön, ei sitä ikinä tiedä mitä kaverit keksii sillä tehdä.

Osat

IRC-botti

Kanavan käyttäjät voivat tallentaa & hakea botin kautta tietokannasta tagien avulla esim. tekstinpätkiä, linkkejä kuviin ja youtubevideoihin yms. Voidaan komentaa RESTillä webappista. Toteutus Python + https://twistedmatrix.com/trac/

Tietokanta

Pythonilla ja SQLitellä toteutettu ohjelma joka tarjoaa REST-rajapinnan tavaran hakuun & tallennukseen. Jonkinlainen http://en.wikipedia.org/wiki/Approximate_string_matching ettei tarvi muistaa tagien nimiä niin millintarkkaan.

Webapp

Perusnäkymässä galleria tagien alle tallennetuista asioista. Tekee sisällön mukaan esim. kuvista ja videoista thumbnailit tai kaivaa vaikka sivuston ikonin jos ei muuta löydy. Mahdollisuus kopioida sisältö leikepöydälle tai käskeä bottia linkkaamaan se irkkikanavalle.

Toinen sovelluksen vastuista on IRC-bottien hallinta:

  • verkot, kanavat, nimimerkit
  • ketkä käyttäjistä saavat tallentaa/poistaa sen kautta asioita

Käyttäjä rekisteröityy esim. OpenID:n kautta ja adminin hyväksynnän jälkeen app generoi hänelle avaimen joka lähetetään botille yksityisviestinä mikä liittää irkissä käytetyn hostnamen tiliin. Tämän jälkeen tilillä on oikeudet käyttää bottia ja selata galleriaa.

Toteutus Python + http://flask.pocoo.org/

Aikataulu

Töiden ja muiden kurssien vuoksi arvioisin, että kerkeän tekemään tätä noin 6-8h per viikko, mikä tarkoittaa että krussin vaatima 140h tulisi täyteen 17-23 viikossa. Todennäköisesti syyskuusta lähtien ehdin panostamaan tähän hieman enemmän, joten asetan tavoitteeksi että koko homma valmis Syyskuun loppuun mennessä. Tarkemmin:

Heinäkuun loppu

Botin ja tietokannan perusversiot valmiit. Botti osaa kuunnella yhtä kanavaa ja viedä/noutaa RESTillä tavaraa. Kanta osaa tarjota botille tallenuksen/noutamisen mutta ei vielä yllämainittua hakua.

Elokuun loppu

Tietokannan haku toiminnassa. Webapp pystyssä ja osaa hakea & listata tietokannasta tavarat galleriaan, jossa vähintäänkin kuvien thumbnailit toimii.

Syyskuun puoliväli

Webappin OpenID-rekkaus ja botille rekisteröityminen toiminnassa. Asioiden jakaminen botille galleriasta käsin.

Syyskuun loppu

Viimeisenä botin RESTipinta sekä hallintapaneeli ja gallerian hiominen loppuun.