Skip to content

Vizija projekta

TilenBrunec edited this page Jun 5, 2026 · 1 revision

Vizija Projekta — LearnSmart

Ekipa LearnSmart
Učna enota Projekt IPT UN 3. Letnik
Ime in priimek E-poštni naslov
Matic Kuhar matic.kuhar1@student.um.si
Patrik Bevc patrik.bevc@student.um.si
Tilen Brunec tilen.brunec@student.um.si

Vizija izdelka

LearnSmart je spletna izobraževalna platforma, ki na podlagi pametnega vprašalnika določi učni stil uporabnika (vizualni, slušni, kinestetični). Vsebino nato prilagodi glede na učni stil posameznika ter s tem optimizira hitrost in kakovost učenja, rezultate pa na koncu vsakega modula še preveri z interaktivnimi kvizi. Sistem gamificira postopek učenja z točkami, značkami in lestvico, z priporočilnim algoritmom pa se na podlagi rezultatov posamezniku še priporoči naslednji najbolj smiseln modul.


Ključni uporabniki

Študent:

  • Ogled posamezniku prilagojenih učnih vsebin
  • Reševanje kvizov in sledenje napredku
  • Sodelovanje v gamifikaciji platforme (lestvice, dosežki)

Profesor / Administrator:

  • Vnos in upravljanje modulov ter ostale vsebine
  • AI generiranje in ocenjevanje kvizov
  • Pregled napredka udeležencev in skupne analitike

Glavne funkcionalnosti

Obvezno:

  • F1: Registracija in prijava študentov & profesorjev
  • F2: Vnos, spreminjanje in brisanje modulov ter vsebine
  • F3: AI vprašalnik za določitev učnega tipa študenta
  • F4: Filtriranje vsebine po učnem tipu
  • F5: Ročno & AI generiranje in ocenjevanje kvizov
  • F6: Dashboard namenjen sledenju napredka posameznika
  • F7: Dashboard namenjen analizi udeleženih študentov modula
  • F8: Gamifikacija

Priporočeno:

  • F8: AI & ročno posodabljanje učnega tipa
  • F9: Priporočilni AI algoritem nadaljnje vsebine in modulov
  • F10: Gamifikacija — zbiranje točk in lestvica

Glavne omejitve

Varnostne:

  • Dostop do zaščitenih virov zahteva veljaven JWT žeton, sicer sistem vrne napako 401
  • API ključi za dostop do Supabase in Google AI Studio morajo biti prikriti v okoljskih spremenljivkah
  • Preverjanje zaključenih kvizov se izvaja s strani strežnika, kar prepreči goljufanje

Performančne:

  • Odzivni časi API klicev morajo biti hitrejši od 3s
  • Odzivni časi AI API klicev morajo biti hitrejši od 10s
  • Supabase free tier: 500 MB baza, 1 GB shramba

Okolje:

  • Render.com (brezplačen tier) zaustavi aplikacijo po 15 minutah neaktivnosti
  • Google AI Studio API (brezplačen tier) ima dnevne in tedenske limite uporabe
  • Supabase zaustavi oblačno storitev po 7 dneh neaktivnosti
  • Google OAuth zahteva internetno povezavo in prijavo v Google Cloud Console z veljavnim URI

Meje izdelka

Izven obsega projekta:

  • Možnost uporabe brez povezave
  • Vsebina ni del uradnega učnega kurikuluma
  • Platforma ne vsebuje plačilnega sistema
  • Forum in klepet med študenti nista funkcionalnosti rešitve
  • Platforma ne nudi certifikatov in izobrazbe

Uporabniški vmesniki

Spletni:

  • React + TypeScript + CSS
  • Odziven spletni pregled za študente in profesorje

API:

  • Spring Boot REST API
  • JSON format za prenos vsebine
  • JWT avtentikacija

Trajnost podatkov

Podatkovna baza:

  • Supabase PostgreSQL LTS (oblačna platforma)
  • Tabele nastanejo samodejno z @Entity Spring Boot razredov

Shramba datotek:

  • Supabase Storage — slike, videi in ostala vsebina

Namestitev

Zaledni API:

  • Render.com — Docker container, javni URL

Frontend:

  • Vercel — CDN, avtomatski deploy

Baza:

  • Supabase — oblačno upravljanje in hranjenje vsebine

Konkurenčna prednost

Platforma Omejitev
Moodle Kompleksna namestitev za ustanove, brez AI personalizacije
Google Classroom Statična vsebina, brez prilagajanja in gamifikacije
Khan Academy Fiksna vsebina, profesorji ne morejo dodajati modulov
Duolingo Omejeno samo na jezikovno učno vsebino

Prednosti LearnSmart:

  • AI personalizacija učnega tipa z adaptivnim posodabljanjem
  • Format vsebine se prilagaja učnemu tipu (diagram / besedilo / video)
  • AI podpora profesorjem za samodejno generiranje in preverjanje kvizov
  • Pametni priporočilni sistem na podlagi rezultatov in učnega tipa
  • Gamifikacija — točke in lestvica za motivacijo

Planirane integracije

AI — Google AI Studio (Gemini 2.5 Flash, brezplačen):

  • Klasifikacija učnega tipa študenta na podlagi odgovorov vprašalnika
  • Generiranje kviznih vprašanj iz vsebine učnega modula
  • Razlog: edini popolnoma brezplačni API s strukturiranim JSON izhodom brez kreditne kartice

Baza & Shramba — Supabase PostgreSQL (brezplačen):

  • Relacijska baza za vse entitete projekta
  • Supabase Storage za hrambo slik, videov, ikon

Avtentikacija — Google OAuth + JWT:

  • Prijava z Google računom, Supabase generira JWT žeton
  • Enostavna integracija s Supabase platformo

DevOps & Hosting:

  • GitHub Actions — CI/CD pipeline, avtomatski buildi, testi in deployi
  • Render.com — Spring Boot API kot Docker container (750 ur/mesec brezplačno)
  • Vercel — React frontend, brezplačen, optimiziran za React

Zahteve rešitve

Backend:

  • Java 21 JDK + Maven
  • IntelliJ IDEA Community ali drug IDE

Frontend:

  • Node.js 20+
  • VS Code

Oblačne storitve:

  • GitHub (repozitorij, Kanban, CI/CD)
  • Supabase projekt (brezplačen tier)
  • Google AI Studio API ključ (brezplačen, brez kartice)

Okolje:

  • Windows 10/11 ali macOS 13+

Plan izvedbe

Metodologija:

  • Scrum: 5 sprintov po 1 teden (1. 5. — 6. 6. 2026)
  • Predfaza do 30. 4. 2026
  • GitHub Projects Kanban (Backlog / In Progress / Review / Done)
  • Git branching: main / development / feature/F1-featurename
  • Pred merganjem v main: pregled člana ekipe + uspešen CI/CD pipeline

Dokumentacija:

  • Diagrami uporabe, sekvence in ER diagram baze
  • Swagger/OpenAPI anotacije na vseh endpointih
  • README z navodili za zagon ter konfiguracijo

Testiranje:

  • JUnit 5 + Mockito (backend)
  • React Testing Library (frontend)
  • Ročni end-to-end test celotnega uporabniškega toka

Sprinti

Sprint 1 (1. 5. — 9. 5. 2026) — Identiteta in klasifikacija

  • Prijava z Google OAuth, Supabase JWT avtentikacija
  • AI vprašalnik za določitev učnega tipa (VARK model) prek Gemini API
  • Shranjevanje rezultatov v Supabase bazo
  • Fallback mehanizem (uncategorized_style, 0)

Cilj: Uporabnik se prijavi, izpolni vprašalnik in shrani svoj učni tip.


Sprint 2 (10. 5. — 16. 5. 2026) — Vsebina in moduli

  • CRUD API za module
  • Nalaganje gradiv (PDF, video) v Supabase Storage
  • Filtriranje in prikaz vsebine glede na učni tip
  • Beleženje časa ogleda in dokončanja lekcije

Cilj: Profesor ustvari učni modul z različnimi tipi gradiv.


Sprint 3 (17. 5. — 23. 5. 2026) — Personalizacija in kvizi

  • Kvizni sistem — API vrača vprašanja brez pravilnih odgovorov, strežnik primerja ob oddaji
  • AI generiranje kvizov iz vsebine modula, profesor potrdi pred objavo
  • Dashboard napredka — vpisi, rezultati, skupne točke

Cilj: Študent se uči po svojem stilu in preveri znanje z AI kvizom.


Sprint 4 (24. 5. — 30. 5. 2026) — Motivacija in adaptacija

  • Adaptivni algoritem — po 3 modulih analizira rezultate, posodobi učni tip če razlika > 20%
  • Priporočilni sistem — predlaga naslednji modul glede na rezultat in učni tip
  • Gamifikacija — točke, značke, lestvica top 10 študentov
  • Admin analitika — porazdelitev učnih tipov, uspešnost modulov

Cilj: Delujoč sistem nagrajevanja in avtomatsko prilagajanje učnega načrta.


Sprint 5 (31. 5. — 6. 6. 2026) — Stabilizacija in objava

  • Testiranje zaledja z JUnit 5 + Mockito (cilj 80% pokritost)
  • Testiranje frontend komponent
  • Ročni end-to-end test celotnega toka
  • Končni deployment na Render.com in Vercel

Cilj: Delujoča, testirana in javno dostopna platforma.

Clone this wiki locally