Sign in
Sign in with the account your administrator has promoted to teacher or assistant.
or
Set a new password
Not authorized
Your account does not have a teacher or assistant role. Ask an existing teacher to promote you (see docs/supabase-setup.md).
Quiz sessions
Create a quiz definition
Edit an existing quiz
Changes apply to every session of this quiz and are enforced server-side (staff RPC update_quiz_staff).
Sessions
Open or close a session to control student access. Share the access code with the class (students can also join from the open-session list).
Edit a session
Change the class label, open/close status or the access code. An empty code field leaves the code unchanged; tick "generate a new code" to replace it with a random one. Enforced server-side (staff RPC).
Results
Publishing reveals the score to the students of this session (quizzes with "students see their score immediately" publish automatically).
Student statistics
One row per student per session: number of attempts,
last submitted score and date. Data comes from the staff-only
student_attempt_stats() RPC — enforced in the
database, not just here.
Assignments
Portal-only homework: students submit a GitHub repo / app / PR URL, text or a file. Submissions form a history; grading (status + comment) is teacher-only and enforced in the database.
Create / edit assignment
Assignments & submissions
Zadania zespołowe
Treść zadań, linki (tekst do Platona, ukryta strona
self-check) i automatyczne wyniki self-checku studentów
(tabela assignment_results).
Team Project 0 — publiczne REST API na GitHub Pages
Proste zadanie grupowe (przetestowanie pipeline'u self-check przed
trudniejszymi zadaniami): minimalna strona na GitHub Pages + REST API
(Supabase), obowiązkowe: konto
vistula-team-project-STUDENT_ID, stała nazwa
repo vistula-team-project,
config.json, otwarty CORS.
Ukryta strona self-check (przekaż studentom):…/index.html#/assignment-check
Przekaż studentowi link i poproś: „otwórz, wklej swój adres GitHub Pages i uruchom Run self-check”. Linku nie ma w menu studenckim — dostęp tylko z tego panelu.
Tekst do Platona: plik
vistula/lecturer/assignments/team-api-assignment/platon.md
w repozytorium — skopiuj treść do Platona (wgranie = link do repo, nie screenshot).
Self-check results
Ładowanie…
Kolejne zadania (pomysły)
Pełna wersja: vistula/lecturer/assignments/future-assignments-ideas.md.
- JSON Schema endpoint — API zwraca JSON o zadanej, stałej strukturze; sprawdzenie: fetch + walidacja kluczy/typów.
- Counter API z POST — strona z przyciskiem zliczającym; sprawdzenie: GET → POST → GET, wartość +1.
- Filtr query parameter — API obsługuje parametr (np.
?year=2024); sprawdzenie: wynik z parametrem ⊆ wyniku bez. - Statyczna walidacja strony — wymagane pliki (index, about, css); sprawdzenie: HTTP 200 + parse linków.
- Agregacja danych zespołu — jedna strona pobiera
me.jsonobu partnerów; sprawdzenie: dwa poprawne feche + wzmianki w HTML.
Grader — Practical Assignment 1 (Task Manager)
Automatyczny grader bez LLM (narzędzie
vistula/tools/grader-task-manager.mjs) uruchamiasz
lokalnie na swojej maszynie — strona tylko wyświetla wyniki
zapisane w tabeli grader_results:
node vistula/tools/grader-task-manager.mjs --all --md grader-report.md
Ładowanie…
Question bank
Correct answers and explanations are visible here to staff only — students can never retrieve them from the app or database.
User roles
Promote a user to assistant or teacher, deactivate an account (blocks quiz attempts and submissions) or set a class group label. All changes are enforced in the database, not just here.
Studenci (roster)
Lista z dziekanatu (import tools/import-students.mjs). Filtruj po grupie i skreśleniach; uzupełniaj e-mail / login GitHub / grupę. Skreślenia są flagą, nie usunięciem.
Żądania zmian danych
Żądania studentów (pending / used / expired / rejected) z pełnym audytem. Gdy mail nie dotarł (brak adresu), zatwierdź ręcznie jako fallback.
Audyt zmian
Zgłoszenia studentów (feedback)
Uwagi zgłoszone przez studentów w aplikacji (także anonimowo). Zmień status po zajęciu się zgłoszeniem albo utwórz z niego issue na GitHubie.
Historia wersji
Co weszło w kolejnych wersjach platformy: opisy feature'ów
i linki do PR-ów na GitHubie. Widoczne tylko dla prowadzącego — przy każdym
wdrożeniu build dopisuje automatyczny wpis deployu; opisy edytujesz
w pliku vistula/CHANGELOG.md w repozytorium.
Ładowanie…
Practice tasks
Small code-modification tasks on the demo app. Students see a task,
edit the starter code in their browser and run deterministic checks. Sessions work
like quiz sessions: create, then open/close. Students only ever see OPEN sessions,
and never the check definitions (the checks column is staff-only).
1. Task bank
Loading…
Create a task manually (JSON)
2. Sessions
Loading…
3. Results
Latest practice_results per student/task (all sessions).
Not loaded.
Statusy środowisk
Bieżące wdrożenie (deployment.json) oraz wynik ostatniego testu integracyjnego (post-deploy smoke) per środowisko. Dane pochodzą z plików publikowanych obok aplikacji — brak pliku oznacza brak danych.
Ładowanie…
Materiały wykładowcy (owner-only)
Slajdy PPTX, audio TTS i wideo MP4 do wykładów. Pliki są przechowywane
lokalnie / w prywatnym repo — nigdy w publicznym dist/.
Ścieżki poniżej wskazują miejsce w repozytorium.
Status prac
Pliki
Dziennik ustaleń z agentem
Renderowany z vistula/lecturer/journal.md w repo (nie jest
publikowany). Jeśli plik nie jest dostępny pod adresem poniżej, wskaż lokalny URL
(np. lokalny podgląd repo) — zostanie zapisany w tej przeglądarce.
Dziennik nie został jeszcze wczytany.