Prensa Datoak Amankomunean – Ekaitz Zárraga – Egonaldiaren aldia: Uzktailak – Abenduak 2018

Hasiera, datuak amankomunean jartzen

Ba hori da nire eginkizuna erresidentzia honetan, izenburuan jartzen duena: Datuak amankomunean jartzeko aplikazio bat egitea. Prensa kontaktu datu base bat egiten ari naiz.

Google Docs-en gordeta dagoen prentsa-kontaktu datu base bat aplikazio konkretu batetara mugituko dugu, datu horiek gorde, bilatu eta editatzeko prestatuta dagoena.

Zergatik ez jarraitu Google Docs erabiltzen?

Honi buruz esateko gauza asko dago, baina pare bat bakarrik aipatuko ditugu oraingoan.

  1. Google-en don’t be evil leloa lelo bat baino ez da. #FuckOffGoogle
  2. Aplikazio espezifiko bat izatea gure prozesuak hobetu ditzake modu askotan. Kasu honetan, bilaketak erraztuz eta aukera emanez etorkizunean garapen berriak gehitzeko. Malgutasun eta optimizazio asunto bat da. Burujabetza teknologiko asunto bat ere.

Eta pertsonalki, zer?

Aurreko puntuak niretzat nahikoak dira, ez pentsa, baina batzutan guztia alineatu daiteke magia lortzeko.

Esandakoaz aparte, egindako aplikazioa Software Libre moduan argitaratuko da guztiok erabili edo eraldatu ahal izateko. Horrek poztasun eta betetasun totala ez badit ematen, zerk emango dit?

Ba gauza bat bururatzen zait: Bidean gauza berriak ikastea.

Hori egingo dugu beraz. Wikitokiren burujabetza teknologikoa hobetzen dugun bitartean gauzak ikasi eta guztientzako tresna berri bat eratuko dugu. Tratu hoberik ez dago.

Lana, etorkizuna eta iragana

Egin beharreko lana erreza da azaltzen: Prentsa kontaktu datu base bat egitea.

Noski, lan honek baldintza batzuk gehiago ditu, eta hauek lortzeko Gorka (Urbanbat) eta Paula-rekin (Sarea) batu nintzen hilabetearen hasieran. Hiruron artean analisi bat egin genuen eta zer egin erabaki genuen. Hemen laburpentxoa:

  1. Rol ezberdinak izango ditu: Editorea, Administradorea eta Irakurlea.
  2. Polita izango da, eta ez hortera. Minimalista. Puntu honek garrantzi handia dauka.
  3. Malgua izan behar da etorkizunean kontaktu mota gehiago sartu ahal izateko.

Hortik aurrera, nire lana egun hauetan nahiko independentea izan da teknologian murgildu behar nintzelako eta kodearen egitura definitu baino lehen ezin delako gehiegirik erakutsi.

Nahiz eta horrela izan, egindako lanaren analisitxo bat egin dezakegu.

Hasteko, teknologia stack bat erabaki behar da, eta helburu pertsonal bezala ikastea nahi dudanez, azken hilabeteetan aztertzen egon naizen Clojure lengoaian oinarritutako framework bat erabiltzea erabaki dut: Luminus. Noski, horren atzean arrazoi gehiago dago, aplikazioa mantentzeko eta instalatzeko erreza izango da, sinplea, etab. Alde txarra izango du ere: nahiz eta oso komunitate aktiboa izan, Clojure ez da oso lengoaia erabilia eta, nire aldetik, ez dut gehiegi dominatzen oraindik.

Erabakitako framework-a oso modularra denez eta aukera asko ematen dituenez bestelako erabakiak egin behar dira aldi berean.

Batetik, datu base bat aukeratu behar da. Aplikazio honetarako MongoDB edo CouchDB datu baseak aztertu ditut dokumentuetara bideratuta daudelako, egitura hori baita gure aplikazioarekin ondo datorrenetariko bat, baina azkenean, sinpletasuna bilatuz, SQLite-rekin geratu naiz. Framework honekin gainera, beharrezkoa balitz, beste SQL datu base batetara migratzea oso erreza izan daiteke. Hau ez da batere erabaki erreza izan, baina azkenean, proiektu honetan, erreztasuna eta simpletasuna garrantzi handiagoa zeukatela erabaki dut.

Beste aldetik, estilo bat aukeratu behar da. Ni, diseinatzailea ez naizenez, interfazeak egiteko framework bat erabiliko dut, kasu honetan. Diseinuan adituak ez diren ni bezalako pertsona teknikoek askotan Bootstrap frameworka erabiltzen dute. Nire ustez, Bootstrap-ek ez du lehen adierazitako bigarren baldintza guztiz betetzen, horregatik erabaki dut Semantic-UI erabiltzea.

Erabakiak hartuta programazioarekin hasteko momentua da, eta hori izan da egun hauetan gehien egin dudana. Datu basearen datu modeloa definitu, kontsultak definitu eta erabiltzaileen erregistroa kudeatu. Horretan sartuta ibili naiz.

Ez dauka interes gehiegirik baina behin hori bukatuta izanda, bestea askoz ere azkarrago joango da eta aplikazioaren itxura etab-etan kontzentratzeko aukera izango dugu.

Azkeneko egun hauetan rol ezberdinen kudeaketarekin ibili naiz. Hori bukatzerakoan zuzenean datuak bistaratzera joango naiz eta aplikazioa martxan jartzeko oinarri guztiak prest izango ditut. Hortik aurrera, aplikazioaren interfazearen plantillak egin eta funtzionalitateak eratzen joango naiz Wikitokiko lagunekin batera. Ikusiko dugu zelan ateratzen den.

Espero dut irakurritakoa interesgarria izatea.

Aplikazioaren kodea ikusi nahi baduzue, nire garapena gainbegiratu, galderak egin, edo nahi duzuena, nire repositorioa irekita dago guztiontzat (kodea development adarrean dago momentuz).

Agur bero bat,

Ekaitz Zárraga

Leave a Reply

Your email address will not be published. Required fields are marked *