<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="184934" NadgradivoID="0" NRID="28923839" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=184934" StOgledov="173" StPrenosov="82" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-26 20:10:25" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000470" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-184934">20.500.12556/RUL-184934</PID>
  <Naslov>Spletna aplikacija za spodbujanje pozitivnega vedenja in učnih navad v šolskem okolju</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Web application for promoting positive behaviour and learning habits in a school environment</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Razredni učitelji v osnovni šoli vsak dan opazujejo, kako se njihovi učenci vedejo,
kako sodelujejo in kako delajo. Te informacije imajo pomembno vzgojno težo,
vendar jih je v primerjavi z ocenami težje sistematično zapisovati. V pogovoru z
razredno učiteljico, ki je v svojem razredu že vrsto let vodila lastne razpredelnice,
smo prepoznali priložnost za preprosto, a vsakodnevno uporabno digitalno orodje.
V diplomski nalogi smo zato razvili spletno aplikacijo Zmago, ki učitelju olajša
beleženje opažanj, učencu pa omogoča spremljanje napredka v gamificiranem vmesniku.
Sistem podpira tri vloge: administratorja, učitelja in učenca. Za spodbujanje
vsakodnevne uporabe aplikacija ponuja tudi dnevni jezikovni izziv po vzoru igre
Wordle s slovenskimi petčrkovnimi besedami.
Aplikacija temelji na ogrodju Next.js z jezikom TypeScript. Strežniške podatke
hrani v storitvi Supabase nad bazo PostgreSQL, ki uveljavlja varnost na ravni vrstic
(RLS), tako da podatki ene šole ostajajo ločeni od podatkov drugih. Avtentikacijo
učencev smo izvedli z lastnimi žetoni JWT in s prstnim odtisom seje, prijavne
končne točke pa zaščitili z omejevalnikom hitrosti zahtev. Operacije nad točkami
in unovčitvami nagrad smo izvedli atomarno s shranjenimi postopki PL/pgSQL, da
preprečimo nedoslednosti pri sočasnih klicih. Vmesnik je dvojezičen in nameščljiv
kot progresivna spletna aplikacija.
Rezultat naloge je delujoč sistem, nameščen v produkciji na platformi Vercel.
Med razvojem smo bili posebej pozorni na zasebnost in varnost, saj sistem obravnava
podatke mladoletnikov.</Opis>
  <TujJezik_Opis>Class teachers in primary school observe day-to-day behaviour, effort and classroom
participation, all of which carry educational weight but are much harder to record
systematically than test grades. Talking with a primary-school class teacher who
had for years kept her own spreadsheets, we recognised an opportunity for a simple,
day-to-day digital tool.
This thesis presents the design and development of Zmago, a web application
that makes such record-keeping easier for the teacher and that lets the student
follow their own progress through a gamified interface. The system supports three
roles: an administrator, a teacher and a student. To encourage daily use, the app
also includes a Wordle-style daily five-letter Slovene word puzzle.
The application is built on Next.js and TypeScript. Server data lives in Supabase
on top of a PostgreSQL database with row-level security, so the data of
one school stays separated from that of others. Student authentication uses our
own JSON Web Tokens together with a session fingerprint, and login endpoints are
protected by a rate limiter. Operations over points and reward redemptions are
implemented atomically through PL/pgSQL stored procedures so that concurrent
calls cannot leave the system in an inconsistent state. The interface is bilingual
and installable as a progressive web application.
The result is a working system, deployed in production on Vercel. Throughout
development we paid particular attention to privacy and security, given that the
system processes data about minors.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>gamifikacija</Beseda>
    <Beseda>spremljanje vedenja</Beseda>
    <Beseda>učne navade</Beseda>
    <Beseda>izobraževanje</Beseda>
    <Beseda>spletna aplikacija</Beseda>
    <Beseda>Next.js</Beseda>
    <Beseda>Supabase</Beseda>
    <Beseda>PostgreSQL</Beseda>
    <Beseda>varnost na ravni vrstic</Beseda>
    <Beseda>progresivna spletna aplikacija</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>gamification</Beseda>
    <Beseda>behaviour tracking</Beseda>
    <Beseda>learning habits</Beseda>
    <Beseda>education</Beseda>
    <Beseda>web application</Beseda>
    <Beseda>Next.js</Beseda>
    <Beseda>Supabase</Beseda>
    <Beseda>PostgreSQL</Beseda>
    <Beseda>row-level security</Beseda>
    <Beseda>progressive web application</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2026-07-17 12:10:03</DatumVstavljanja>
  <DatumObjave>2026-07-17 12:10:16</DatumObjave>
  <DatumSpremembe>2026-07-30 08:04:30</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2026</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="162868" Ime="Daniel" Priimek="Mishkovski" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="22414" Ime="Rok" Priimek="Rupnik" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="4190051" Afiliacija="" ArrsID="15294" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38672</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/286394883">286394883</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="240361" DatotekaNRID="14739756" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="5748915" VelikostDatotekeKratko="5,48 MB" DatumVstavljanja="2026-07-17 12:10:19" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="false" JeVidno="true" VidnoOd="01.01.0001" Zaporedje="0">
      <Naziv>Mishkovski_Daniel_-_Spletna_aplikacija_za_spodbujanje_pozitivnega_vedenja_in_ucnih_navad_v_solsk.pdf</Naziv>
      <OrgNaziv>Mishkovski_Daniel_-_Spletna_aplikacija_za_spodbujanje_pozitivnega_vedenja_in_ucnih_navad_v_solsk.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>31CD2E6A00CB387EF331090857A8ED94</MD5>
      <SHA256>c8898d1d05582e5b2a928b96186e10d06bfcbed51e1dc212864c87d92f17b0b8</SHA256>
      <UUID>82965d45-81c7-11f1-9b0d-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=240361</PrenosPolniUrl>
      <Vsebine>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.11" Koda="2.11" Naziv="Diplomsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
