A Gradebook API egy Spring Boot segítségével létrehozott háromrétegű alkalmazás. Az alkalmazás a következő feladatokat látja el:
- hitelesíti a felhasználót
- a felhasználó jogosultságától függően lekérdezések küldését teszi lehetővé az adatbázis felé
- ellenőrzi a beérkező adatokat az adatbázisban való tárolás előtt
Az adatbázis felépítése a következő:
A student és teacher táblák a tanulók ill. tanárok személyes adatait tárolják.
A subject tábla tantárgy nevét és a tantárgyat tanító tanár azonosítóját tartalmazza.
Az assignment tábla tárolja a tanár által kiosztott feladatokat és osztályozásra kerülő tevékenységeket (pl. házi feladat, dolgozat, projektmunka). A feladat neve és típusa mellett opcionálisan megadható egy rövid leírás.
A gradebook_entry táblában kerülnek tárolásra a naplóbejegyzések. Egy naplóbejegyzés áll
- egy tanulói azonosítóból
- egy tantárgy azonosítóból
- egy feladat azonosítóból
- és egy érdemjegyből
A user tábla tartalmazza a felhasználók bejelentkezési adatait, szerepkörüket (ADMIN, TEACHER vagy STUDENT) és egy boolean értéket ami meghatározza, hogy aktív-e a felhasználói fiók.
A school_actor_application_user_relation tábla kapcsolja össze a felhasználókat az iskolai szereplőkkel (TEACHER vagy STUDENT).
A futtatáshoz szükség van maven-re, a telepítés lépései itt találhatók.
Indítsuk el a XAMPP-ot, majd phpMyAdmin felületen hozzuk létre az adatbázist a create-database.sql állomány importálásával. A gradebook-api project gyökérkönyvtárából indított parancssorból adjuk ki a
mvn clean install -DskipTests
majd a
java -jar target/gradebook-api-0.0.1-SNAPSHOT.jar
parancsot.
(A parancs használatához Apache Maven szükséges, a telepítés lépései itt találhatók.)
Indítsuk el a Dockert, majd adjuk ki a project gyökérkönyvtárából a
docker-compose -f docker-compose.dev.yml up --build
parancsot, vagy használjuk a gradebook-api-docker.bat állományt.
A dokumentáció a http://localhost:8080/swagger-ui.html címen érhető el.