Skip to content

Pregled kode #1

Description

@kle-pra

Pozdravljeni,
najprej hvala za vaš trud in poslano nalogo.
Se mi zdi kar v redu rešeno in prikazano kar nekaj znanja. Spodaj je moj pregled poslanega - imamo pa tukaj bolj Angular in Javo, tako da je pregled bolj splošen.

Frontend

Všeč mi je

  • SPA framework in razbito na logične komponente,
  • všečen GUI
  • super, da se validira čas začetka in konca
  • frontend validacija
  • error handling za napake z backenda

Kaj bi lahko bilo boljše

  • boljša uporaba strong type v typescript, veliko je any, npr. lahko bi se naredil nov type ali interface za definicijo reservation
    • POPRAVEK: vidim, da je interface Reservation na frontendu, tako da se lahko tole ignorira.
  • dobro bi bilo, da se štarta z zadnjo verzijo Reacta ter ostalih dependencijev (obstaja priročen node tool ncu za check + update)
  • dodatek kakšnega osnovnega testa bi izboljšalo celovitost rešitve in demonstriralo poznavanje testiranja
  • linter vrne nekaj napak, ki bi jih bilo dobro počisititi (vscode eslint plugin navadno že opozori)

Backend

Všeč mi je

  • logično razbito: routes, controller functions
  • dodatna backend valicija poleg fronted, saj se frontend lahko zaobide
  • preverjanje tako sosledja kot zasedenosti v db
  • uporaba ENV spremenljivk za DB credentials, saj je zelo dobro da skrivnosti niso v SCM.
  • uporaba parameterized queries za db, ki prepreči mysql injection

Kaj bi lahko bilo boljše

  • strong type za reservation (mogoče skupen type ali interface s frontendom, ker je oboje v typescript), tako npr. result query-jev ne bi rabil biti any
  • eslint errorji
  • kakšen osnovni test
  • namesto console.log mogoče uporaba kake logging knjižnice.

Splošno

Prednosti

  • lepo urejen README
  • veliko git commitov, se vidi postopek izdelave, uporaba git
  • uporaba eslint, gitignore
  • mysql, uporabljamo tudi mi

Kaj bi lahko bilo boljše

  • v package.json delujoča script za pognati backend
  • na node 22 (long term support oz. LTS verziji) mi ni uspelo pognati tudi s flagom ali ts-node, na 23 pa deluje kot omenjeno. Bolj kot opomba tole, ker je omenjen flag v README.

Ker je pri nas poudarek na Angularju in Javi, me zanima, ali imate tudi kaj izkušenj z Javo oz. ali ste se pripravljeni spoznati in delati s temi tehnologijami?

Lp, Klemen

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