Sykli
Esittely
Sykli on sovelluskokoelma, joka on tehty Jyväskylän kaupungin varhaiskasvatukselle auttamaan työnvuorosuunnittelua sekä tiedolla johtamista.
Rotaattorilla voi suunnitella työvuorokierron useita viikkoja eteenpäin. Tässä käytetään hyödyksi Titania-työvuoro-ohjelmiston työvuorokoodeja. Tapiomaatilla lain edellyttämät työvuorolistat on helppo generoida ja tulostaa. Nämä sovellukset olivat Lauri Laattalan ideoimia, mutta autoin rakentamaan luotettavamman pohjan paremmalla VBA-koodilla.
Hoitoajat, Tapiomaatti ja Rotaattori ovat Exceleitä, koodattu VBA:lla. Hoitoajat käyttää json kirjastoa, jonka avulla sain sen keskustelemaan Merikarhun kanssa.
Hoitoajat
Hoitoajat -työkalu on raporttityökalu, jolla voi luoda ja tulostaa erilaisia listoja lapsiryhmille tai niiden yhdistelmille. Ohjelmalla voi tehdä:
- viikkolistan, jossa lapset listattuna hoitoaikoineen viikon ajalta
- esitäytetyn ruokatilauslapun, johon on laskettu kaikki ruokailuun osallistuvat lapset + mahdolliset erityisruokavaliot

- aamu- ja iltalistat, joissa näkyvät ääriaikoina tulevat/lähtevät lapset

- päivälappuja, johon työntekijät merkkaavat tietoja lapsista
Motivaatio ja tavoitteet
Olin tehnyt Hoitoajat Exceliä jo vuosien mittaan. Työskentelin lapsiryhmässä ja ihmettelin miksi - vaikka käytämme sähköisiä järjestelmiä - lappumme ja tietomme ovat kovin vajaavaisia ja pelkistettyjä. Niinpä aloin rakentamaan sovellusta, joka luo helpotuksia työntekijöiden arkeen. Pian tulostelinkin koko päiväkodille laput joka tiistai, eikä ruokatilaustakaan tarvinnut enää laskea käsipelillä. Ajan myötä ohjelma levisi muihinkin päiväkoteihin, ja sain kohta pitää live- ja myöhemmin Teams -koulutuksia ohjelman käyttöönotosta.
Tajusin aikaisessa vaiheessa eriyttää datan omaan tiedostoonsa. Tällöin ohjelma on helppo päivittää, kun data voidaan aina hakea takaisin ohjelmaan. Seuraava ongelma oli taulukoiden muutokset, koska saatoin haluta lisätä taulukoihin otsikoita, nimetä niitä eri tavalla tai vaihdella niiden paikkaa. Eri käyttäjillä alkoi olemaan eri versioita tietokannasta. Ratkaisin ongelman rakentamalla migraatio-ominaisuuden. Nyt pystyin tallentamaan versiokohtaisesti sarakkeille äskeisten asioiden lisäksi myös omat tyypit ja validaation. En ollut enää naimisissa joskus aiemmin tehdyn taulukkorakenteen kanssa.
Merikarhusta innostuttiin
Merikarhusta tein ensin tekstiversion. Lauri meni ja esitteli sitä päiväkodin johtajille, jotka alkoivat pian kysellä milloin tämä saataisiin käyttöön. Niinpä istuin kohta palvelujohtajien kanssa ja alettiin suunnittelemaan minulle aikaa, jotta voisin kehittää tällaisen sovelluksen.
Merikarhu näyttää ryhmä- ja päiväkohtaisesti joka hetken tilanteen, kun lapsia tai työntekijöitä joko tulee tai lähtee. Se näyttää keitä lapsia/työntekijöitä mistäkin ryhmistä on paikalla, laskee kertoimet ja ilmoittaa värikoodeilla onko työntekiöitä sopivasti/liikaa/liian vähän. Merikarhu tarjoaa myös kuvaajan, josta voi nähdä missä kohtaa päivää on tarvetta lisäkäsille ja milloin on sen verran vähän lapsia, että ryhmästä joutaa työntekijä auttamaan toista ryhmää.
Valitut teknologiat
Merikarhun raportti on nettisivu, joka käyttää jinja-templatea. Olin aiemmin rakentanut sivustoja Flaskilla, joten jinja oli tuttu. Toki React olisi ollut luontevampi vaihtoehto interaktiiviselle sovellukselle. Sen käyttöönotto kaupungin koneissa olisi kuitenkin ollut vaikeaa. Helppoa julkaisua varten rakentelin setup-skriptin, joka arkistoi ja pakkaa uuden verison Merikarhusta. Helpottaakseni asentamista, tein batch-skriptin, joka siirtää tiedostot, hakee Pythonia käyttäjän koneelta ja lisää ikonin työpöydälle. Käytin Merikarhussa mm. Tkinter, Watchdog, Pandas ja Plotly -kirjastoja.
Nykytilanne
Tällä hetkellä ohjelmisto on pilottivaiheessa jatketun aukiolon päiväkodeissa. Esittelyjä on jo pidetty johtajille ja digiyhteyshenkilöille. Ensimmäinen varsinainen koulutus pidetään työvuorosuunnittelijoille parin viikon sisällä. Sykli-ohjausryhmän tahtotila on, että nämä työkalut - varsinkin Merikarhu - saadan pikaisesti päiväkodin johdon työkalupakkiin.