Alle prosjekter

04 / FULLSTACK-APPLIKASJONER

TeamHabit

Vanesporing med mål, lag og utfordringer. Et fullstack-prosjekt med innlogging, database og flerspråklig grensesnitt.

Besøk nettsiden
● ● ●teamhabit.online↗
Offentlig grensesnitt i TeamHabit
OFFENTLIG GRENSESNITT
Offentlig innloggingsside med illustrative fremgangstall. Ingen innlogget brukerkonto er vist.

Målet med prosjektet

Knytte personlige vaner til mål og samarbeid i lag. Koden omfatter vanelogging, fremgang, utfordringer og belønninger, med Supabase som backend.

Mitt bidrag

  • Utviklet ideen og definert funksjonalitet for vanesporing og brukeropplevelse.
  • Jobbet med designvalg, testing, feilsøking og forbedringer gjennom flere iterasjoner.

Slik har jeg jobbet

Jeg har brukt Codex og andre KI-verktøy i stor grad til kodeimplementeringen. Min innsats har særlig vært å utvikle ideen, definere funksjonalitet, ta designvalg, teste, feilsøke og forbedre løsningen gjennom flere iterasjoner. Den tekniske gjennomgangen beskriver implementasjonen, ikke en påstand om at jeg har skrevet all koden selv.

Tekniske utfordringer og tilnærming

Tilgang til personlige data og lagdata

Supabase Auth identifiserer brukeren. Databaseoppsettet har tabeller, tilgangsregler og funksjoner som kontrollerer blant annet lagmedlemskap. Egne TypeScript-moduler håndterer vaner, mål, lag og utfordringer. Sikkerheten avhenger også av at riktig SQL-oppsett faktisk er tatt i bruk i den driftede databasen.

Fremgang som må tåle kanttilfeller

Streak-beregningen arbeider med lokale kalenderdatoer. Vitest-tester dekker blant annet tom historikk, duplikate datoer og avbrutte rekker. Repoet har også tester for innloggingstilstand, brukernavn og XP. Dette gir bedre grunnlag for å vurdere reglene, men erstatter ikke integrasjonstesting av den driftede løsningen.

Flerspråklig brukeropplevelse

next-intl og separate språkfiler støtter seks språk. Innloggingen har synlige feltetiketter og fungerer som offentlig inngang til appen. De innloggede funksjonene er gjennomgått i kode, ikke prøvd med en virkelig brukerkonto i denne vurderingen.

Faglig utbytte

Prosjektet viser sammenhengen mellom en enkel handling i grensesnittet og flere lag under: brukeridentitet, eierskap, databaseoperasjoner og beregning av fremgang. Det gjør skillet mellom klientkontroller og databasekontroller særlig viktig.

Prosjektets omfang

Den offentlige innloggingssiden er kontrollert. Innloggede arbeidsflyter, databaseoppsett og tilgangskontroll i produksjon er ikke ende-til-ende-verifisert. Skjermbildets fremgangstall er illustrasjoner fra innloggingssiden, ikke dokumenterte brukerresultater.

NESTE PROSJEKT

Hjemmelab for cybersikkerhet