-
Notifications
You must be signed in to change notification settings - Fork 0
Vizija projekta
| 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 |
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.
Š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
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
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
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
Spletni:
- React + TypeScript + CSS
- Odziven spletni pregled za študente in profesorje
API:
- Spring Boot REST API
- JSON format za prenos vsebine
- JWT avtentikacija
Podatkovna baza:
- Supabase PostgreSQL LTS (oblačna platforma)
- Tabele nastanejo samodejno z
@EntitySpring Boot razredov
Shramba datotek:
- Supabase Storage — slike, videi in ostala vsebina
Zaledni API:
- Render.com — Docker container, javni URL
Frontend:
- Vercel — CDN, avtomatski deploy
Baza:
- Supabase — oblačno upravljanje in hranjenje vsebine
| 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
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
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+
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
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.