Electronic Gradebook to aplikacja typu e-dziennik, umożliwiająca zarządzanie ocenami, planem lekcji, obecnościami oraz kontami użytkowników (uczniowie, nauczyciele, administratorzy).
Aby uruchomić aplikację lokalnie, potrzebne są:
- Java 17+ i Maven
- PostgreSQL
- Python (jeśli chcesz dodać dane przykładowe)
-
Zainstaluj PostgreSQL i uruchom serwer.
-
Utwórz bazę danych i wczytaj schemat:
psql -U <użytkownik> -d <nazwa_bazy> -f db/create.sql
-
Dodaj przykładowe dane (opcjonalnie):
python db/generator.py
W skrypcie można zmienić dane do logowania do bazy generator
-
Uruchom backend Spring Boot:
cd backend mvn spring-boot:runZmiana portu loginu hasła do bazy w config
-
Uruchom frontend JavaFX:
cd frontend mvn javafx:run
System oparty na architekturze klient-serwer:
- Frontend: JavaFX (FXML + kontrolery Java)
- Backend: Spring Boot (REST API, Spring Data JPA)
- Baza danych: PostgreSQL
Tabele: uczniowie, nauczyciele, przedmioty, plan lekcji, oceny, obecności
- Przegląd planu lekcji (siatka)
- Wystawianie ocen
- Przegląd ocen uczniów
- Oznaczanie obecności
- Przycisk
WRÓĆdo głównego widoku
- Plan lekcji w formie kolorowej siatki
- Oceny z podziałem na przedmioty
- Lista obecności
- Przycisk
WRÓĆdo głównego widoku
- Zarządzanie kontami użytkowników
- Edycja planu lekcji
- Przypisywanie nauczycieli do przedmiotów
- Przycisk
ZAPISZ PLAN
| Przycisk | Opis |
|---|---|
WRÓĆ |
Powrót do poprzedniego widoku |
Dodaj ocenę |
Formularz dodawania nowej oceny (POST) |
Usuń ocenę |
Usunięcie oceny (DELETE) |
Edytuj ocenę |
Edycja istniejącej oceny (PUT) |
Zapisz plan |
Zatwierdzenie planu lekcji (POST) |
Pokaż obecność |
Wyświetlenie listy obecności ucznia |
Zapisz obecność |
Zapisanie obecności przez nauczyciela |
- Konto ucznia hasło: student123
- Konto rodzica hasło: parent123
- Konto nauczyciela hasło: teacher123
Wszystkie loginy do kont można podejrzeć w palelu administratora Dane logowania do admina: Username: admin Password: admin123
- Użytkownik wybiera akcję w UI (JavaFX)
- Kontroler UI wysyła żądanie HTTP do backendu
- Backend przetwarza dane i zwraca JSON
- Widok użytkownika jest aktualizowany
- 📄 dokumentacja.pdf – dokumentacja
- 📑 schema.pdf – schemat bazy danych
- 🗃️
db/create.sql– schemat tworzenia bazy - 🧪
db/generator.py– przykładowe dane
Mateusz Wojaczek
Wiktoria Klejdysz
Aleksander Wieczorek