Przejdź do treści
Wszystkie projekty

Projekt · 05

Status: W trakcie

Student Progress Analyzer

Aplikacja desktopowa (Electron, React, Node.js), która zdejmuje z prowadzącego zajęcia z programowania całą papierologię: grupy, studentów, zadania i obecność, oceny w skali 2,0–5,0 oraz przegląd kodu z repozytoriów studentów przez model uruchomiony lokalnie.

Kod niedostępny publicznie

Przegląd kodu · schemat działania

  1. Repozytoria studenta z GitHub API
  2. Pobranie kodu źródłowego
  3. Analiza lokalnym modelem Ollama
  4. Odczyt uwag z odpowiedzi JSON
  5. Zapis w historii studenta

01 · Problem

Co trzeba było rozwiązać

Prowadzenie zajęć z programowania to śledzenie obecności i punktów w arkuszach i czytanie mnóstwa kodu studentów, bez szybkiego podglądu, kto zostaje w tyle.

02 · Rozwiązanie

Jak to działa

REST API na Express i MongoDB z uwierzytelnianiem JWT, klient w React i Tailwind z wykresami w Recharts i Electron, który zamyka to w przenośną aplikację na Windowsa. API GitHuba pobiera repozytoria i kod studenta, a przegląd robi Ollama na komputerze prowadzącego, więc kod studentów nie trafia do chmury.

03 · Funkcje

Co potrafi

  • Grupy, studenci, zadania i obecność ze statystykami aktualizowanymi na bieżąco
  • Punkty przeliczane na polską skalę ocen (2,0–5,0) dla studenta i całej grupy
  • Import studentów z CSV, eksport do CSV i Excela na koniec semestru
  • Przegląd kodu z repozytorium studenta przez AI, zapisywany w jego historii
  • Pulpit z rozkładem ocen, wykresem obecności i interfejsem po polsku i angielsku

04 · Technologie

Zbudowane z

  • TypeScript
  • Node.js
  • Express
  • MongoDB
  • React
  • Electron
  • Ollama
Status
W trakcie
Kod
Kod niedostępny publicznie
Demo
Brak publicznego demo

05 · Wyzwania

Co było trudne

  1. Odpowiedź modelu jako JSON

    Lokalne modele często owijają JSON w markdown albo dopisują tekst na końcu. Przed parsowaniem odpowiedź jest czyszczona: wszystko przed pierwszym nawiasem i po ostatnim jest ucinane, a znaczniki kodu usuwane.

  2. Bez zainstalowanego MongoDB

    Jeśli MongoDB nie odpowiada, backend przełącza się na instancję MongoDB w pamięci, więc aplikacja uruchamia się też na świeżym komputerze.

  3. Kod studentów zostaje lokalnie

    Przegląd robi Ollama na komputerze prowadzącego zamiast chmurowego API, więc kod studentów nie trafia do nikogo z zewnątrz.