Lyhyesti
Suunnittelimme ja toteutimme Nuorten yrittäjyys ja talous ry:lle (NYT) yrityskylaan.fi-verkkosovelluksen, joka tarjoaa alustan innostavalle oppimiskokonaisuudelle taloudesta, työelämästä, yrittäjyydestä ja yhteiskunnasta.
Projektin avainkohdat
Upouusi verkkosovellus
Lopputulos on tuliterä verkkosovellus kymmenille tuhansille kutosluokkalaisille, joka toimii päätelaitteesta riippumatta.
Pelillinen käyttökokemus
Käyttökokemus suunniteltiin pelilliseksi hyödyntäen käyttäjille tuttuja käyttöliittymäratkaisuita.
Mikropalveluarkkitehtuuri
Sovelluksen käyttöliittymä, sisällönhallinta ja käyttäjänhallinta ovat kaikki erillisiä kokonaisuuksia.
Moderni käyttöliittymä
Käyttöliittymä on erittäin tyylikäs, viimeistelty ja moderni.
Mikä on Nuorten yrittäjyys ja talous?
Sovellus on osa kokonaisuutta, joka muodostuu Yrityskylä-oppituntien lisäksi opekoulutuksesta sekä elämyksellisestä koulupäivästä Yrityskylän pienoisyhteiskunnassa. Sovellus toimii osana kouluissa Yrityskylä-oppitunneilla suoritettavaa osuutta.
Nuorten yrittäjyys ja talous ry:n (NYT) työskentelee sen edistämiseksi, että lapset ja nuoret saavat koulussa valmiuksia muuttuvan työelämän tarpeisiin ja oman arkensa hallintaan. NYTin tavoite on, että nuoret uskaltavat innostua tulevaisuudesta. Käytännössä organisaatio tarjoaa oppilaitoksille palveluita ja koulutusta, jotta jokainen nuori lähtökohdistaan riippumatta saa mahdollisuuden oppia tulevaisuutensa kannalta keskeisiä taitoja. Yrityskylä Alakoulu tavoittaa yli 248 kunnan 6. luokkalaiset, mikä tarkoittaa vuosittain yli 58 000 oppilasta eli noin 90% kaikista Suomen kuudeluokkalaisista.
Yrityskylä Alakoulun oppimisympäristöt sijaitsevat Espoossa, Helsingissä, Jyväskylässä, Kuopiossa, Lahdessa, Lappeenrannassa, Oulussa, Tampereella, Turussa, Porissa ja Vaasassa.
”Lopputulos on tiivistetysti upea. Erityisesti olemme tyytyväisiä siihen, että käyttöönotto kouluissa on sujunut hyvin huomaamattomasti ja verrattain vähin avuntarpein.”
-Antti Ruohomäki, Kehityspäällikkö, NYT
Tavoitteet
Sovellukselle asetettiin tavoitteeksi tehdä oppimisesta elämyksellisempää, motivoida ja osallistaa oppilaita entistä enemmän, mahdollistaa aikaisempaa enemmän yritys- ja ammattikohtaisia sisältöjä sekä tarjota uusia ja havainnollistavia keinoja Yrityskylän sisältöjen esittelyyn.
Ratkaisut
”Huolellinen suunnitteluvaiheen panostaminen on auttanut ohittamaan yhden jos toisenkin sudenkuopan matkan varrella.”
Jesper Lempiäinen, NYT, palvelu- ja sisältökehityksen erityisasiantuntija
Tavoitteisiin pyrittiin vastaamaan seuraavilla sovelluksen päätoiminnoilla.
Sovelluksen sisältö muodostuu oppituntien ympärille, joita on yhteensä kymmenen. Jokainen oppitunti koostuu yhdestä tai useammasta tehtävästä, kun taas jokainen tehtävä sisältää yhden tai useamman tehtäväosion. Sovelluksessa on lukuisia eri tehtävätyyppejä.
Sovellusta käytetään oppitunneilla rinnakkain painetun oppikirjan kanssa. Skannaustoiminnolla helpotetaan oppilaan navigointia sovelluksessa. Oppilas voi skannata oppikirjaan painetun QR-koodin, joka toimii triggerinä tietylle sovelluksen näkymän, kuten tehtävän, avaamiselle.
Sovelluksessa voi keskustella Yrityskylän hahmojen (chattibottien) kanssa. Keskusteluja voi tarkastella ja aloittaa keskustelutoiminnosta. Myös osa oppitunneista sisältää keskustelumuotoisia tehtäviä.
Sovelluksessa on sen eri käytön vaiheissa erilaista tietoa liittyen Yrityskylän työpaikkoihin. Kaikki tämä päivittyvä tieto kootaan yhden toiminnon alle – alkuun työpaikoissa tarkastellaan avoimia työpaikkoja. Kun työpaikat on jaettu opettajan toimesta, tarjoaa toiminto käyttäjälle tietoa oppilaan omasta yrityksestä ja ammatista.
Oppilaan profiilissa näytetään oppilaan tunnukseen liittyvät perustiedot, sekä oppituntien tehtävien kautta kertyneet oppilasta koskevat tiedot, muistiinpanot ja edistyminen.
Sovelluksen pääasiallinen käyttäjäryhmä on oppilaat, mutta myös oppilaiden opettaja tarvitsee sovelluksen käyttöön tiettyjä toiminnallisuuksia. Näitä ovat muun muassa oppilaiden hallinta ja oppilaiden edistymisen seuranta.
Teknologiavalinnat
Verkkopalvelu on rakennettu mikropalveluarkkitehtuuria hyödyntämällä. Palvelun sisällönhallinta, käyttäjähallinta ja käyttöliittymä ovat kaikki toisistaan erillisiä kokonaisuuksiaan.
Sisällönhallinta on rakennettu WordPress-julkaisujärjestelmän päälle. Koska sisällönhallinta on täysin erillään varsinaisesta julkisesta verkkopalvelusta, sen taustalle riittää ihan tavallinen web-hotelli. Kun REST-rajapinnan kautta varsinaiseen verkkopalveluun kulkevat sisällöt välitetään CDN-palvelun kautta, sisällönhallinnan taustalla olevaa palvelinta ei kuormiteta juuri lainkaan.
Käyttöliittymä modernein web-teknologioin
Verkkopalvelun käyttöliittymä, eli varsinainen käyttäjille näkyvä toteutus on rakennettu NuxtJS-sovelluksena. NuxtJS on modernien web-sovellusten kehittämiseen loistavasti soveltuva JavaScript-pohjainen sovelluskehys. NuxtJS pohjautuu Vue.js-kirjastoon, joka on Reactin ohella yksi tämän hetken suosituimpia käyttöliittymän rakentamiseen käytettyjä JavaScript-kirjastoja.
”Lopputulos on tiivistetysti upea.”
Antti Ruohomäki, NYT, Kehityspäällikkö
Kävijämäärästä riippumaton palvelinratkaisu
Kun verkkopalvelun tulee varautua vaihteleviin kävijämääriin ja suuriin kävijäpiikkeihin, kannattaa palvelinalustaksi useimmiten valita skaalautuva pilvipalvelu. Verkkopalvelun alustaksi valikoitui Googlen Cloud Run -pilvipalvelu. Google Cloud Run on moderni saumattomasti skaalautuva Serverless-tyyppinen pilviympäristö, joka soveltuu hyvin esimerkiksi juuri NYTin tarpeen kaltaisten NuxtJS-sovellusten alustaksi. Pienenä bonuksena Cloud Runin osalta voidaan nostaa esille myös se, että sen europe-north1-lokaatio sijaitsee fyysisesti Suomessa.
Kun NuxtJS-sovelluksen paketointiin hyödynnettiin lisäksi Googlen Cloud Build -palvelua, sovelluksen muutokset siirtyvät automatisoitujen toimintojen avulla sekunneissa kehittäjän työpöydältä verkkopalvelun käyttäjien saataville – ilman käyttökatkoja.
Koska kyseessä on ’’verkkokurssi’’, palvelussa käsitellään paljon käyttäjäkohtaista dataa. Verkkokurssin käyttäjädatalle on lisäksi ominaista se, että datan tulee olla reaaliaikaista, ja että sitä sekä haetaan että tallennetaan toistuvasti. Tästä saattaa varsinkin suurilla käyttäjämäärillä muodostua palvelun kuormituksen ja suorituskyvyn kannalta pahin pullonkaula. Hankkeen osalta oli siis varsin loogista ja tärkeää, että myös käyttäjähallinta erotetaan omaksi kokonaisuudekseen. Palvelun käyttäjähallinnassa luotetaan Googlen Firebase -pilvipalveluun. Firebase tarjoaa valmiit taustatoiminnot oleellisimpiin käyttäjätoimintoihin, kuten esim. autentikointiin sekä salasanan palauttamiseen ja vaihtamiseen. Kun myös kaikki käyttäjäkohtainen data on tallennettuna Firebase-palvelun sisällä olevaan Cloud Firestore NoSQL-tietokantaan, käytössä on käyttäjämääristä ja muista järjestelmistä riippumaton skaalautuva käyttäjähallinnan kokonaisratkaisu.
Sisällönhallinta
Verkkosivuston sisältöjen hallinta tehdään helppokäyttöisellä sisällönhallintajärjestelmällä.
Suosituksemme sisällönhallintajärjestelmäksi oli avoimeen lähdekoodiin perustuva WordPress, joka soveltuu ominaisuuksiltaan erinomaisesti verkkosovelluksen sisällönhallintaan.
Integraatiot
Sovelluksiin toteutettiin lukuisia integraatioita:
- Toimintojen automaatio
- Rajapinta analytiikkadatan vientiin
- Opeportaali, luokkatietojen tuonti
- Pelinhallinta, yritystietojen tuonti
- Pelinhallinta, luokkadatan vienti
- Pelin lopputilanteen tuonti
”Ennen kaikkea projektitiimin rento ja hyvä henki ovat tukeneet työskentelyä ja keskusteluyhteyttä. Eikä huumoriltakaan olla vältytty.”
Antti Ruohomäki, NYT, Kehityspäällikkö
Miten meni, Antti ja Jesper?
Kysyimme yhteyshenkilöiltämme, NYTin kehityspäälliköltä Antti Ruohomäeltä ja palvelu- ja sisältökehityksen erityisasiantuntijalta Jesper Lempiäiseltä mielipiteitä yhteistyöstämme:
Miksi valitsitte meidät kumppaniksenne?
- ”Vakuuttava ja tarkkaan harkittu projektisuunnittelu”
- ”Meidän tarpeisiin sopiva asiantuntijaporukka niin suunnittelun kuin tekniikan puolella”
- ”Hyvä hinta-laatusuhde kokonaisuutena”
- ”Hyvä palvelun elinkaariratkaisujen tarjonta. Homma rokkaa sujuvasti kun kaikki on saman katon alla suunnittelusta päivittäiseen tuotantoon.”
Minkälaista oli työskennellä Inton ja Inton asiantuntijoiden kanssa?
”Yhteistyö sujui ja sujuu yhä edelleenkin hyvin. Uuden sovelluskehittäjän valinta tietysti aina jännittää, mutta kokemus Intosta on ollut pelkästään positiivinen. Keskustelu ja kommunikointi projektitiimin kanssa on ollut alusta asti helppoa ja luontevaa, ja olemme saaneet omien näkemystemme tueksi sopivissa määrin sekä tukea että haastamista. Huolellinen suunnitteluvaiheen panostaminen on auttanut ohittamaan yhden jos toisenkin sudenkuopan matkan varrella. Ennen kaikkea projektitiimin rento ja hyvä henki ovat tukeneet työskentelyä ja keskusteluyhteyttä. Eikä huumoriltakaan olla vältytty.”
Mitä olet mieltä lopputuloksesta ja mikä merkitys sillä on organisaatiollenne?
”Lopputulos on tiivistetysti upea. Erityisesti olemme tyytyväisiä siihen, että käyttöönotto kouluissa on sujunut hyvin huomaamattomasti ja verrattain vähin avuntarpein. Opettajien arjessa aika sovellusten käytön opetteluun on kortilla, ja siksi jouhevasti sujunut julkaisu kertoo mielestäni projektin onnistuneen erinomaisesti. Myös oppilailta saatu palaute ja kokemukset ovat olleet hyvin positiivisia, mikä tietysti on myös tärkeää. Kokonaisuuteen ei siis voi kuin olla tyytyväinen.”
”Juuri nyt sovellus tuo lisänsä 6.-luokkalaisille Yrityskylään, mutta pitkässä juoksussa se tulee tukemaan kaikkea NYTin alakoulun palvelutarjontaa. Joustavaksi kehitettyä sovellusta on tulevaisuudessa helppoa käyttää myös muiden vuosiluokkien palveluissa lisäämään oppimisen elämyksellisyyttä ja tukemaan oppimista. Uskomme, että sen avulla voimme tarjota entistäkin enemmän intoa, elämyksiä ja onnistumisia oppimiseen yhä suuremmalle joukolle lapsia ja nuoria.”
Ylläpito ja kehitys
Koska sovellus on kymmenien tuhansien oppilaiden ja satojen opettajien vuosittain käyttämä työkalu, on selvää, että ylläpidolla ja kehityksellä on tärkeä rooli. Elokuussa 2023 käyttöönotettuun sovellukseen on jo nyt suunnitteilla jos jonkinmoista upeaa jatkokehitystä.
Ernesti Niemi
Senior Digital Designer
Ella Killinen
Digital Designer
Mikko Hytönen
Head Developer
Jutta Kalli
Developer
Riko Valkonen
Developer