Näyttötutkintojärjestelmän tutkintotoimikuntarekisteri. Rekisterisovelluksesta käytetään nimeä Aitu ja sen lähdekoodi löytyy tästä repositorysta. Tämän repositoryn sisällön käyttöön liittyvät lisenssiehdot on esitelty tiedostossa LICENSE.
- ttk sisältää varsinaisen sovelluksen
- ttk-db sovelluksen tietokannan hallintaan liittyvä apuohjelma
- dev-scripts kehitystyössä käytettäviä skriptejä
- vagrant virtuaalikoneiden konfiguraatio
- env virtuaalikoneisiin liittyvät alustusskriptit ja asennuspaketit
- amtu-e2e selainpohjaiset end-to-end testit
- aitu-common-e2e selaintestien pohjaksi kirjasto.
Sovellusta voi ajaa paikallisesti Vagrant ohjelman avulla. Virtuaalikoneiden ajamisesta huolehtii [https://www.virtualbox.org/](Oracle Virtualbox). Molemmat ovat ilmaisia ohjelmia. Virtuaalikoneissa ajetaan CentOS Linux-käyttöjärjestelmää ja palvelinohjelmistoina erilaisia avoimen lähdekoodin ilmaisia sovelluksia, kuten PostgreSQL.
Koneiden provisiointiskriptit edellyttävät myös Ansiblen asentamista koneelle, jotta autentikaatiopalvelin voidaan alustaa.
Ensin tietysti pitää ottaa lähdekoodi itselleen esimerkiksi näin:
git clone https://github.com/Opetushallitus/aitu
cd aitu
Varsinainen virtuaalikoneiden pystyttäminen vaatii vain kaksi komentoa
cd vagrant
vagrant up db
vagrant up aitu
Virtuaalikoneen alustaminen ensimmäisellä kerralla lataa huomattavan määrän Linux-paketteja internetistä, joten se voi kestää hitaalla verkkoyhteydellä melko pitkään. Seuraavilla kerroilla kaikkea ei enää ladata uudelleen vaan Virtualbox ja Vagrant osaavat pitää tavaraa välimuistissa.
Vagrantfile määrittelee privaatti-IP osoitteet koneille ja joitakin port-forwardeja isäntäkoneen ja virtuaalikoneen välisiä yhteyksiä varten. Jos nämä ovat jo käytössä voi tulla ongelmia. Asian joutuu ratkaisemaan paikallisesti.
Sovelluksella on kaksi asennuspakettia. Tietokannan päivityksestä vastaava apuohjelma ja varsinainen sovellus, joka on toteutettu upotetulla http-palvelimella. Asennuspaketit eivät ole käytännön syistä tällä hetkellä julkisesti jaossa valmiiksi käännettyinä binaaritiedostoina. Mikäli kiinnostusta ja tarvetta niille on, niitä voidaan laittaa jakoon.
Asennuspakettien luonnin ja sovelluksen koko asennuksen virtuaalikoneeseen voi tehdä yhdellä komennolla:
cd dev-scripts
./deploy.sh
Koodi on enimmäkseen Clojurea. Tarvitset Java-virtuaalikoneen ja leiningen työkalun.
Toteutuskoodilla on riippuvuus yleiskäyttöisiä kirjastofunktioita sisältävään clojure-utils repositoryyn siten että molemmat täytyy paikallisesti kloonata rinnakkaisiin hakemistoihin.
Lisäksi käyttöliittymätoteutuksessa on riippuvuutena aituaipaljs. Tätä repositorya ei tarvitse kloonata itselleen kehitystyötä varten.
Selaintesteissä käytettävä kirjasto löytyy valmiiksi paketoituna Clojars palvelusta.
Tiedostossa ttk/README.md on ohjeita kehitystyöhön enemmän.
Järjestelmän toimintaan ja arkkitehtuuriin liittyvä yleinen dokumentaatio löytyy Aitu wiki-sivulta CSC:n julkisesta palvelusta.
Tietokantadokumentaatio päivittyy automaattisesti tänne: Aitu tietokannan rakenne