Kesätyön ennakkotehtävä ohjelmistokehittäjille

Ilmastonmuutos ja hiilidioksidipäästöt ovat tämän päivän suurimpia haasteita ihmiskunnan tulevaisuudelle. Maailman populaation lisääntyessä myös päästöt lisääntyvät. IPCC:n julkaiseman raportin mukaan tarvitaan nopeita ja laaja-alaisia muutoksia. Ihmisten aiheuttamia hiilidioksidipäästöja tulisi tiputtaa noin 45 prosenttia vuoden 2010 tasosta vuoteen 2030 mennessä. Vuoteen 2050 mennessä maapallon koko väestön hiilijalanjälki tulisi olla neutraali.

Tehtävänäsi on toteuttaa sovellus, jonka avulla käyttäjät pääsevät helposti perehtymään hiilidioksidipäästöjen kehittymiseen viimeisten vuosien aikana. Tarkemmat ohjeet esimerkiksi tehtävän ominaisuuksiin liittyen saat kohdista Tuoteomistajan terveiset ja Poimintoja käyttäjätutkimuksesta.

Tehtävässä käytettävä data

World Bank tarjoaa vuosittaista dataa muun muassa väkiluvun ja hiilidioksidipäästöjen kehittymisestä. Hyödynnä sovelluksessa alla olevia datalähteitä.

Väkiluku
CSV: http://api.worldbank.org/v2/en/indicator/SP.POP.TOTL?downloadformat=csv

tai XML: http://api.worldbank.org/v2/en/indicator/SP.POP.TOTL?downloadformat=xml

Hiilidioksidipäästöt
CSV: http://api.worldbank.org/v2/en/indicator/EN.ATM.CO2E.KT?downloadformat=csv

tai XML: http://api.worldbank.org/v2/en/indicator/EN.ATM.CO2E.KT?downloadformat=xml

Tuoteomistajan terveiset

Tuoteomistaja on lähettänyt projektitiimille (tässä tilanteessa sinulle) toiveita koskien toteutettavan sovelluksen ominaisuuksia, jotka sinun toivotaan ottavan huomioon sovelluksen toteutuksessa.

  • Käyttäjillämme on hallussaan yleensä sekä mobiililaite että läppäri. Sovellusta olisi tarpeen pystyä käyttämään näistä jommalla kummalla.
  • Oleellista on kuitenkin myös, että sovellukselle voitaisiin toteuttaa tulevaisuudessa lisäksi erilaisia käyttöliittymiä. Jotta tämä olisi mahdollista, on tärkeää, että sovelluksella on API tietojen kyselemiseen.
  • Meille on myös erittäin keskeistä, että sovellus vaatii mahdollisimman vähän ylläpitoa. Esimerkiksi datan tulisi olla aina ajan tasalla – pitkänkin ajan päästä.

Poimintoja käyttäjätutkimuksesta

Sovelluksen konseptointivaiheessa tehtiin myös pienimuotoinen käyttäjätutkimus. Konseptoijat ovat poimineet sen tuloksista muutaman merkittävän esille nousseen tarpeen, jotka tulisi huomioida myös valmiissa sovelluksessa.

  • Olisi todella kiinnostavaa tarkastella eri maiden hiilidioksidipäästöjä suhteutettuna väkilukuihin. Erityisesti olisi mielenkiintoista tietää, mitkä maat ovat päästöiltään suhteellisesti suurimpia.
  • Haluaisin tutustua oman elinympäristöni hiilidioksidipäästöihin. Olisi mielenkiintoista tietää, miten tilanne on muuttunut kotimaassani omana elinaikanani.
  • Mitenköhän iso rooli suurvalloilla on maailman hiilidioksidipäästöissä? Haluaisin tarkastella tilannetta niiden osalta. Haluaisin pystyä vertaamaan suurvaltojen hiilidioksidipäästöjä muiden maiden päästöihin.

Käyttöliittymäsuunnitelijan ensimmäinen luonnos

Projektissa mukana oleva käyttöliittymäsuunnittelija on tehnyt sovelluksen tulevasta käyttöliittymästä ensimmäisen luonnoksensa. Suunnittelijan mielestä käyttöliittymän keskeiset elementit voisivat olla haku, tulokset, ja mahdollisuus näyttää päästöt suhteutettuna maiden väestöön.

Luonnos on suuntaa antava ja on hyvin mahdollista, että käyttöliittymään löytyy ehdotettua parempi ratkaisu. Halutessasi voit siis lähteä toteuttamaan sovellusta annetun luonnoksen pohjalta, tai vaihtoehtoisesti luoda oman luonnoksesi ja rakentaa sovelluksen sen pohjalta.

Ohjeita tehtävän tekemiseen

  • Tehtävän ratkaisun on tarkoitus olla näyte koodaustaidoistasi, ei siis vain tehtävänannon täyttämistä. Keskity ratkaisussasi osiin, joissa taitosi pääsevät mielestäsi oikeuksiinsa
  • Voit olettaa, että käyttäjillä on käytössään tietokone ja puhelin, joissa molemmissa on käytössä moderni web-selain
  • Kiinnitä ratkaisussasi huomiota siihen, että koodisi on jaettu järkeviin ja helposti luettaviin kokonaisuuksiin
  • Lisäksi sovellusta tulee päästä myös testaamaan. Voit laittaa valmiin sovelluksen pyörimään esimerkiksi Herokuun
  • Mikäli sinulla herää kysymyksiä tehtävästä, voit lähettää niitä meille osoitteeseen summerjob@reaktor.com

Toimita kesätyötehtävän lähdekoodit meille hakemuksesi ja CV:si kanssa linkkinä esimerkiksi GitHub- tai GitLab-repositorioon kesätyöpaikkailmoituksen alta löytyvän lomakkeen avulla. Laita mukaan myös linkki toimivaan sovellukseen. Huomioi, että lomake mahdollistaa vain yhden liitteen lähettämisen, joten paketoi kaikki tiedostosi yhdeksi PDF:ksi tai lähetä ne meille .zip-muodossa.