# Kehittäjäblogi - Leonid Danko
## Sprintti 1
### 01.11.22
Ensimmäisen sprintin tehtävä annettiin toiselle kehitysryhmälle.
Olen kuitenkin jo suorittanut hyvin samanlaisen tehtävän ja minulla on täysi ymmärrys siitä, miten se tehdään.
Tärkein kysymys, jonka olen itselleni asettanut, on se, miten kehitys voidaan jakaa sen komponentteihin niin, että eri kehittäjät voivat suorittaa ne itsenäisesti.
### 04.11.22
Keksin, miten järjestää ohjelman rakenne niin, että sprinttien 2 ja 3 tehtävä voitaisiin suorittaa erikseen.
Ajattelen seuraavaa tehtävää, joka minun on suoritettava, nimittäin käyttäjän rekisteröinti-toimintoa.
Tutkittuani tietoja Internetissä valitsin useita eri vaihtoehtoja rekisteröityneiden käyttäjien tietojen tallentamiseen.
Lähipäivinä aion tutkia kunkin vaihtoehdon positiivisia ja negatiivisia puolia ja tutkia tapoja toteuttaa niitä.
### 07.11.22
Päätin että tässä tapauksessa sopivin vaihtoehto on asiakastietojen talentamien json-tiedostoon.
Luodut Käyttäjä-luokan tyypiset objektit talennetaan listaan, sen jälkeen lista serialisoidan ja talennetaan json-tiedoston. Seuraavan ohjelman suorittamisessa on mahdollista voit ladata käyttäjälistan tästä tiedostosta ja pystyä toimia niiden kanssa. Minulla ei ole kokemusta tällaisesta kehityksestä, joten aion kerätä tietoa ja harjoitella.
### Yhteenveto
Tässä sprintissa ajattelin koko ohjelman konseptista ja seuravan tehtävän ohjelman osan toteuttamisesta
---
## Sprintti 2
### 08.11.22
Koordinoimme vastuumme tiimikaverin kanssa, keskustelemme ohjelman konseptista ja ryhdymme tekemään.
### 10.11.22
Päätettiin, että minä olen vastuussa koodin kirjoittamisesta, ja tiimikaveri tarkistaa.
Aloin kirjoittaa koodia. Tänään onnistuin luomaan käyttäjäluokan, sen rakentajan ja ominaisuudet. Loi myös metodin, joka talentaa käyttäjälistan tiedostoon ja toisen, joka palauttaa listan tiedostosta.
### 11.11.22
Tein rekisteröinti-osan loppuun.
Perustoimintojen lisäksi lisäsin myös salasanan salausmetodin, salasanan toistamisen pyynnön palauttamista vahvistusta varten. Sekä menetelmä, joka tarkistaa, onko käyttäjätunnus yksilöllinen.
Mietin mahdollisuutta toteuttaa seuraava osa ohjelmaa, edellyttäen tarvittavat muutokset koodin.
### 12.11.22
Ohjelman osa on testattu ja täysin valmis.
### Yhteenveto
Tässä sprintissa suoritin tehtävän kirjoittaa ohjelman osaa, joka sisältää käyttäjän rekisteröinnin. Ohjelmakoodi sisältää seuraavan sprintin tehtävän suorittamiseen tarvittavat muutokset.
---
## Sprintti 2
### 13.11.22
Keskustelun jälkeen päätettiin, että jatkan ohjelman seuraavan osan kirjoittamista, koska nämä kaksi tehtävää ovat samanlaisia.
Pääsin heti töihin.
Ensin luotiin menetelmä käyttäjän etsimiseksi hänen tunnuksillaan.
Seuraavaksi luotiin menetelmä syötetyn salasanan oikeellisuuden varmistamiseksi.
Tarkistettuani kaksi edellistä osaa, lisäsin laskurin, joka laskee jäljellä olevien salasanansyöttöyritysten määrän.
### 14.11.22
Tämän ohjelman osan toiminnallisuus on täysin valmis, lähetän sen tiimille tarkistettavaksi.
### Yhteenveto
Koodin tärkein ja monimutkaisin osa on kirjoitettu, vain parannuksia tarvitaan tulevaisuudessa
---
## Sprintti 2
### 15.11.22
Tiimin palaverissä päätettiin että tarkistamisen jälkeen sprintin aikana tehtävä on
tuoda ohjelman ulkonäkö kauniimpaan ja houkuttelevampaan ulkonäköön
### 16.11.22
Lisätty pieni otsikko ohjelman ikkunaan. Ja mikä tärkeintä, löysin komennon muuttaa koodausta, nyt skandit näkyvät konsolissa
### Yhteenveto
Ohjelma on hyvin testattu ja vain pieniä parannuksia on tehty koskien ulkonäkö käyttöliittymän
---
## Sprintti 3
### 23.11.22
En osallistu ohjelman tämän osan kehittämiseen, mutta seuraan ohjelman päivityksiä muilta tiimin jäseniltä
---
## Sprintti 4
### 29.11.22
Tarkistamisen jälkeen ohjelmasta löytyi bugi, Backspace-nappain ei toiminut salasanaa syötettäessä.
Bug fix Lisätty minulle osoitettujen tehtävien luetteloon.
Minulle on myös annettu viimeinen päätehtävä, eli käyttäjätietojen tuottaminen tiedostosta tietyiksi päivämääriksi.
### 01.12.22
Luennolla kerrottiin uusista asiakasvaatimuksista. Olen myös vapaaehtoisesti toteuttaa tämän toiminnon.
### 02.12.22
Korjattu vian salasanan syöttö, myös hieman parantunut oikeellisuutta salasanan syöttö toiminto.
Aloin suorittaa lisätehtävää, ensinnäkin lisäsin käyttäjän objekteihin uuden ominaisuuden-sukupuolen.
Lisätty sukupuolisyöttöpyyntö ja virheiden käsittelijä. Lisätty tieto tästä ominaisuudesta tiedostoon.
Muokattu toisen kehittäjän kirjoittamaa toimintoa yksinkertaistamaan tehtävän seuraavaa osaa.
### 04.12.22
Lopetin kaikki jäljellä olevat ohjelman toiminnot, lähetin sen tiimille testattavaksi
Jouduin muuttamaan koodia kirjoitettu aiemmin melko paljon, se kesti noin 8 tuntia taukoilla kaikkille parannuksille
### Yhteenveto
Asiakkaan pyytämät toiminnot lisättiin, ja myös ohjelman rakenteeseen tehtiin muutoksia, jotta se voitiin yhdistää kätevästi kaikkiin tehtäviin
---
## Sprintti 4
### 08.12.22
Kävi ilmi, että yksi ohjelman vaatimuksista ei täyttynyt, nimittäin keskimääräisen BMI-arvon laskeminen valitulle ajanjaksolle. Valmistui tämä funktio
### Yhteenveto
Joitakin toimintoja on lisätty ja ohjelmia saatettu valmiustilaan