Skip to content

Fullstack-harjoitustyön katselmointi #48

@ShootingStar91

Description

@ShootingStar91

Fullstack-harjoitustyön katselmointi

Tämä on katselmointi fullstack-harjoitusprojektistanne. Teidän ei tarvitse toteuttaa tässä mainittuja parannusehdotuksia saadaksenne suoritusmerkinnät.

Käyttökokemus

  • Kiva ja selkeä ulkoasu
  • Toimintoja on erittäin paljon. Perustoiminto eli reseptien etsiminen ja lukeminen toimii hyvin ja on helppo tehdä.
  • Sovellus on jokseenkin responsiivinen ja sivusto toimii myös pienemmällä näytöllä. Ratkaisu on kuitenkin hieman kömpelö, ruudun sivuun tulee iso kaiken päällä oleva nuoli jota klikkaamalla pääsee katsomaan reseptin ainesosia - joiden asettelu kuitenkin oli hieman rikki. Muita ratkaisuja voisi olla vaikka modaali jonka voi avata katsoakseen ainesosia, tai ihan css-tasolla toimiva mobile first -tyyppinen tyylimäärittely, joka asettelee ainesosat pienemmällä ruudulla muun sisällön kanssa samaan ruutuun.

image

  • Samoin myös isommalla näytöllä reseptin ainesosat näyttävä ruutu on sivutettu siten että alareunassa on nuolet joita voi klikkailla. Minusta divin oma scrollbar olisi kivempi ratkaisu, niin käyttäjä näkisi selkeämmin että tekstiä on lisää. Toisaalta tämä voi olla makuasia.
  • Sovellus tuntuu toimivan nopeasti ja välillä vilahtavat latausikonit on hyvin toteutettu. Yleensäkin validaatiot ja virheviestit lomakkeissa, notifikaatiot ym. toimii hyvin.
  • Kokeilin monenlaisia ominaisuuksia mutten löytänyt mitään bugeja tai kaatumista, mikä on hyvä suoritus näin laajassa sovelluksessa.

Koodi

  • Koodi on pääosin selkeää ja hyvin organisoitua.
  • RTK Queryä käytetty mainiosti hoitamaan API-kutsujen hallintaa, mikä on fiksua näin laajassa sovelluksessa.
  • Jotkut tiedostot ovat aika pitkiä, vaikkapa 666-rivinen RecipeViewPage.js. Tälle voisi olla oma kansionsa jossa jaoteltu asiat komponentteihin ja tiedostoihin. Saman tiedoston "handleLike" -metodi rivillä 135 sisältää paljon toisteiselta vaikuttavaa koodia ja loogisesti monimutkaisia if-lauseita. Tuollaiset kohdat koodissa ovat hyvä refaktorointiharjoitus: kuinka yksinkertaistaa boolean-logiikka lyhyemmäksi ja ymmärrettävämmäksi, ja vähentää try-catch lauseiden ja samojen funktiokutsujen toistoa.
  • Backend selkeä ja hyvin jäsennelty. Middlewareja käytetty fiksusti
  • Suosittelen express-async-errors-kirjastoa backendissä

Yhteenveto

Sovelluksen ominaisuuksissa näkyy hyvin se, että sitä on tehnyt kolme tekijää. Silti koodi on säilynyt selkeänä, ja lähinnä yksittäisiä parannuskohtia löytyy, mutta tärkeät asiat kuten arkkitehtuuriset ja teknologiset ratkaisut ovat toimivia. Katselmoijana pidin myös erittäin hyvin tehdystä dokumentaatiosta: Readme kertoi hyvin mistä on kyse, miten sovellusta käytetään ja myöskin ryhmätyöstänne. Projektissa varmasti oppi paljon koodaamisen lisäksi ryhmätyöstä, mikä on erittäin tärkeää. Hyvää työtä!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions