###### tags: `wdjatko` `3.3.`
# VOITTO!!!!
ME TEIMME SEN!! SAIMME LÄHETETTYÄ LOMAKKEEN, VASTAANOTETTUA SEN JA KIRJOITTETTUA SIVULLE OIKEISIIN PAIKKOIHIN!!!!
Oli ihana hetki ja tunnelma, kun laitoin asiasta viestiä Discord-ryhmäämme. Muu ryhmä on saanut jo jonkun aikaa sitten lähetettyä lomakkeen ja minä kirjoitettua sivulle verkossa olevan esimerkin mukaan, mutta pienten väärinkäsityksien takia osien yhdistäminen ei onnistunut heti. Tämä homma jäikin minun hartioille.
Ja minä onnistuin!
Seuraavaksi olisi sitten React, Redux... ja ties mitä vielä!
Muu ryhmä siis oli keskittynyt lomakkeen valitsemiseen, sen lähettämiseen Formrecognizeriin ja sen vastaanottamisen. Sanoimme keskenäämme tätä kokonaisuutta backendiksi. Oma osuuteni oli piirtää lomake sivulle käyttäen backendista saatua outputtia. Minun idean mukaan jakauduime kahteen ryhmään, jotka voisivat työskennellä riippumatta toisistaan, jotta projekti edistyisi. Olin ryhmässäni yksin. Jako onnistui sen vuoksi, että huomasin FR:n sivulla olevan valmiita esimerkkejä tulevasta outputista. Niinpä ainakin teoriassa minulla oli jo tarvittava data.
Jouduin hieman velhoilemaan ja shamanoimaan tämän esimerkkilomakkeeseen pääsyn kanssa, koska CORS. Jouduin kirjoittamaan (ja hyöduntämään edellisen kurssin taitojani) API:n, simuloimaan lomakkeen vastaanottoa. Ei kestänyt pitkään, mutta vei aikaa.
API:n valmistuessa rupesin piirtämään lomakkeelle. Se ei ollut loppujen lopuksi kovin hankala haaste, sillä juuri ennen kurssia olen itsenäisesti käyttänyt aikaa CSS:n tutkimiseen. Tein vaan divin, jonne sijoitin "absolute"-displayna <textarea>-tageja. Koordinaatit tageille tuli lomakkeen outputissa, jossa ne oli tallennettu "boundingBox"-muuttujaan. Alunperinhän suunnittelimme tiimin kanssa, että outputti tulisi käsitellä XML-muodossa. Mutta koska esimerkkilomakkeista ei löytynyt XML:lää, toteutin ensimmäiset versiot JSON:in avulla. Myöhemmin törmäsimme pieneen väärinkäsitykseen tiimissämme tähän liittyen, jota jouduimme selvittelemään. Pojat eivät osanneet selittää, että he saavat outputin ensin JSON:ina, ja sitten vasta muuttavat sen XML:läksi, kun taas minä ajattelin koko sen ajan, että he saavat outputinsa suoraan XML:lällä. Onneksi tajusin asian jossakin vaiheessa ja pääsimme liikkumaan eteenpäin.
Osien yhdistäminen tosiaan tippui minun hartioille. Ja varmaan se oli oikeenkin, koska minä kuitenkin vastasin tästä "frontendista" ja minun piti käyttää aikaa asian tutkimiseen. Mikä kuitenkin sai minut hieman harmistumaan oli se, etteivät pojat kertoneet minulle mitään koodistaan: miten se toimii, missä olisi lomake tallennettu, miten he ylipäätään saivat asiat toivomaan. Eivät osanneet selittää, vaikka kysyin, eivätkä ole kommentoineet koodiaan missään vaiheessa, joten jouduin käyttämään myös ylimääräistä aikaa tekemään selvää heidän työstään.
Kun kaikki oli kuitenkin valmista, iloa riitti kaikille. Tunsin itse ylpeyttä ja varmuutta omista taidoistani sekä iloitsin koko tiimin puolesta. Projektimme on ylittänyt yhden merkittävän kohdan: perusidea oli nyt toteutettu.
Nyt piti jonkun aikaa tehdä työtäkin. En ottanut vielä käyttöön clockifyta, joten koodiaikaa ei tallentunut. Kuitenkin työaikaa yhteensä on kertynyt jopa kaksikymmentä tuntia. Yhteisaika edellisen päivityksen kanssa on siis noin kolmekymmentäkaksi tuntia.
<hr>
3.3.2022