|
|
Das Frontend besteht aus UI und Spiellogik, wobei die Spiellogik mit Vanilla JavaScript und die UI mit dem Meta-Framework SvelteKit, was auf Svelte aufbaut, erstellt wurde.
|
|
|
|
|
|
# Spielmodi
|
|
|
## Singleplayer
|
|
|
```mermaid
|
|
|
sequenceDiagram
|
|
|
participant U as UI
|
|
|
participant N as Node
|
|
|
participant R as Redis
|
|
|
participant J as Java
|
|
|
U ->> N: get session
|
|
|
activate N
|
|
|
N -->> U: session-cookie
|
|
|
loop questions <=1
|
|
|
U ->> N: Get questions
|
|
|
N ->> R: Get used questionIDs (session)
|
|
|
R -->> N: questionIDs[]
|
|
|
N ->> J: get questions (questionsIDs)
|
|
|
J -->> N: questions[]
|
|
|
N -->> U: questions[]
|
|
|
end
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
# Technologien
|
|
|
## SvelteKit
|
|
|
> UI-Framework, das außerdem auch Routing und Data-Loading unterstützt.
|
|
|
|
|
|
|
|
|
## Socket.io
|
|
|
> Framework zur Implementation von WebSockets.
|
|
|
|
... | ... | |