# VIIKKOBLOGI ## Viikko 1 ### Yleiskatsaus Ryhmien jaon jälkeen ruvettiin pohtimaan mistä aiheesta teemme harjoitustyön. Valitsimme aiheeksi prosessorin lämpötilat ja käyttöasteet. Kun aihe oli valittu, rupesimme pohtimaan millä välineillä tulisimme tekemään projektin. Tällä hetkellä suunnitelmana tehdä työ käyttäen ReactJS, D3.js, MariaDB, ja REST API-tyyliä backendinä. Pidimme myös ensimmäisen viikkopalaverin. #### Clockify ![](https://i.imgur.com/IHazTO3.png) ## Viikko 2 ### Yleiskatsaus Toisella viikolla emme tehneet mitään kovin kummoista, pidimme viikkopalaverin, jaoimme Scrum-roolit, puhuimme yleisesti projektista ja sen teosta. Sovimme myös ajan ens viikolle viikkopalaveriin, jolloin pistäisimme DevOpsin kuntoon. #### Clockify ![](https://i.imgur.com/eoBzsTa.png) ## Viikko 3 ### Yleiskatsaus Pidimme viikkopalaverin, jonka yhteydessä pistimme DevOpsin kuntoon. Teimme backlogiin itemeitä, ja niihin taskeja. Teimme sprintit viikottain, ja pistimme eri taskeja tekoon. Sovimme vähän että mitä kukakin tekisi tällä viikolla projektin eteen. Itse otin vastuulleni ns. login-toiminnon perustamisen, eli kuinka tehdään tietokantaan käyttäjätunnukset, ja salasanat hashataan. #### Clockify ![](https://i.imgur.com/PinH81q.png) ## Viikko 4 ### Yleiskatsaus Viikolla 4 päätimme että rupeaisimme opettelemaan porukalla Gatsbya, sekä GraphQL:ää. Tässä vaiheessa projekti on muuttunut jo sen verran, että tietokantana on MongoDB, ja tarkemmin MongoDB Atlas, eli siis tietokantamme on pilvessä olevalla servulla. Tämä mahdollistaa yhdenaikaisen saman tietokannan käytön. Eli siis MariaDB tiputettu käytöstä. Myös Gatsby ja GraphQL on tullut uutena. Pidimme viikkopalaverin alkuviikosta, jolloin päätimme siis opiskelevamme itseksemme, ja keskiviikkona pitäisimme uuden palaverin, jolloin pohtisimme toteutustapaa lisää. Opettelin YouTuben avulla perusteet Gatsbysta ja GraphQL. Keskiviikkona pistettiin pilvi tietokanta kuntoon siten, että lisäsin projektiin muut ja lisäsin heidän IP:t white-listalle, testasimme myös että pääseekö kaikki käyttämään tietokantaa Compassilla, se toimi. Sinne lisättiin 24h CPU dataa, jota voimme sitten ruveta käyttämään kun testaamme projektimme toimintoja #### Clockify ![](https://i.imgur.com/hqVkFpZ.png) ## Viikko 5 ja 6 (tuli tehtyä viikolla viisi aika pienesti ennen kuin vasta loppuviikosta, yhdistän näitten viikkojen tiedot.) ### Yleiskatsaus Projekti on taas päässyt muuttumaan hieman, otin vastuulleni siis kirjautumisen, rekisteröitymisen, hashaamisen ja tokeneitten luonnin backendin ja frontendin. Tein kirjautumisen RestAPI:lla, koska oletin että tulimme siihen lopputulokseen että gatsby ja graphql eivät ehkä ole meille se suotuisin vaihtoehto projektin tekoon. Käytin projektissa myös ejs-kieltä tehdessäni sivuille layoutteja ja sivujen fronttia. Joni sai tässä vaiheessa graafit kuntoon, ja antoi omat tiedostonsa minulle, jotta voisin ruveta yhdistelemään niitä. Huomasin että tiedostot olivat käyttäneet GraphQL:ää, ja muotoiluun ja fronttiin perus HTML ja CSS. Tämä toi pieniä mutkia matkaan, sillä oman kirjautumisen/rekisteröimisen importtaaminen ja yhdistely Jonin graafien kanssa ilmeni hankalaksi. Päätin lopulta luovuttaa, ja aloitin koko homman käytännössä alusta. Toisaalta, pääsin tekemään lisää työtä, josta ei ollut haittaa koska samalla oppi GraphQL paremmin, ja myöskin perus HTML ja CSS, sekä vähän kaikkea muutakin. Tässä vaiheessa otin JWT-käyttöön vasta kunnolla, ja käytin myös Contextia tilanhallintaa varten. Opin mielestäni aika paljon turvallisuus ja tilanhallinta-asioista tätä vaihetta tehdessäni. Käytännössä päivä ennen esitystä olin saanut projektin koottua loppuun asti niistä palasista mitä meillä oli, ja lopputulos oli ihan tyydyttävä. Harmitti hieman että aikaisempi kirjautumis-sivu jonka tein meni hukkaan, koska se oli huomattavasti tyylitellympi. Mutta mennään näillä, olen ihan tyytyväinen ![](https://i.imgur.com/mHg7hDj.png) ## Yhteenveto Kaiken kaikkiaan ihan ok tasolla suoritettu projekti. Olisin ehkä yrittänyt saada pari toiminnallisuutta lisää, jos olisi vain ollut aikaa ja ehkä ymmärrystäkin tehdä enemmän. Esimerkiksi valinta sille miltä ajalta dataa halutaan nähdä, ja ehkä kaunistella sivuja hieman enemmän. Mutta olen ihan tyytyväinen siihen nähden mitä teimme. Kehitettävää jäi myös ehkä osittain meidän kommunikoinnissa, kommunikaatio oli kyllä hyvää, pidimme viikkopalavereita, ja joskus useammankin viikossa, mutta esimerkiksi hieman harmitti tehdä turhaan ensimmäinen kirjautumisversio, kun joutui käytännösssä hylkäämään sen kokonaan. Eli ehkä olisi pitänyt pitää toisiamme ajan tasalla omien projektiemme kulusta, ei niinkään vain perustasolla mitä tehdään. Lisäys: Lopulliseksi työkaluiksi siis päätyikin MongoDB, React, NodeJS, GraphQL, ja kirjaistoina toimi mm. Express, Bcrypt, JWT. Eli aika paljon muuttuvuutta oli koko kurssin aikana, mutta onneksi pystyi sopeutumaan hyvin. ### Työtehtävät Erik: Tein siis MongoDB Atlakseen tietokannan pilviserverille, ja lisäsin sinne meidän käyttäjät ja IP:t. Tämän jälkeen rupesin tekemään projektille backendia ja frontendiä kirjautumiselle ja rekisteröitymiselle, sekä tilanhallinnalle ja turvallisuudelle. Kasasin myös projektin loppuun kun graafit olivat valmistuneet. Joni: Joni teki backend-työtä prosessorin datalle, ja teki charteille backendin ja frontendin. Jon Topi: Topi antoi alussa projektille "pohjan", josta pystyi katsomaan hieman jotain osia sitten kun rupeaisimme tekemään omaa projektia, ja oli aktiivisesti pitämässä huolta että kaikki valmistuu ajallaan. Topilla oli ilmeisesti ongelmia tietokantaan yhdistämisen kanssa, niin hän ei voinut oikein auttaa loppuvaiheissa koodauspuolella, mutta hän korvasi sen käymällä luennoilla ja pitämässä ajantasalla projektin kulusta. Kaikki huolehdimme myös sprinttien teosta, ja blogien kirjoittamisesta sekä ajankäytön talteenotosta. Ajankäytön talteenotosta pieni lisäys, välillä sattui unohtamaan laittaa aikoja ylös, eli sieltä puuttuu joitain tunteja. Tässä vielä viimeisen viikon tunnit ![](https://i.imgur.com/bEXyI03.png) Ja alla yhteistunnit ![](https://i.imgur.com/KXy1Mby.png) Tuosta puuttuu varmaan ympäripyöreästi 10 tunnin ajat, jos ruvetaan tarkkoja olemaan. *Erik Hämäläinen*