klaas 11e825c64f | ||
---|---|---|
app | ||
server | ||
.gitignore | ||
LICENSE.md | ||
README.md |
README.md
Server README
Übersicht
Dieser Server ist eine Webanwendung, die mit Node.js und Express.js erstellt wurde. Er bietet eine API für Benutzerregistrierung und -anmeldung sowie eine geschützte Route für autorisierte Benutzer. Es sollen mehrere Abteilungen abgebildet werden, Mitglieder des Vereins können in mehreren Abteilungen Mitglied sein. Jede_r Übungsleiter_in hat Zugriff auf die eigene Abteilung und die dazugehörigen Mitglieder und deren Notfallkontakte.
Zukünftige Funktionen
Funtionen aus Version 1
- Anwesenheit
- geleitete Spiele
- Spielewiki
- Riegenzuordnung
Login für Mitglieder
Mitglieder können ihre eigenen Daten bearbeiten und den eigenen Fortschritt anzeigen.
Fortschrittsanzeige für Mitglieder
Übungen, die in der Turnstunde geschafft wurden sollen angezeigt werden. So können zum einen Vertretungs-Helfer sehen, wie der Stand der Riege ist, zum anderen können die Kinder zuhause zeigen, was sie geschafft haben.
installation
Website mit Script zum erstellen der .env Datei sowie der Tabellen und eines Admin-Benutzers.
Begriffe
- Mitglied: Vereinsmitglied
- Teilnehmer: Teilnehmer_in einer Abteilung. Kann Mitglied sein oder zur Probe Teilnehmen.
- Abteilung: Sportstunde mit einem oder mehreren Trainingstagen.
- Riege: Unterteilung einer Abteilung, wird von einem Helfer geleitet.
- Helfer: Person, die Aufwärmen und Spiele leitet.
- Riegenleiter: Helfer, der eine Riege leitet.
- Leiter: Helfer, der eine Abteilung leitet (Übungsleiter_in) Eine Abteilung hat nur einen Leiter.
Anforderungen
- Node.js (Version 14 oder höher)
- Express.js (Version 4 oder höher)
- PostgreSQL-Datenbank (mit pg-Modul)
Konfiguration
- Die Datenbankverbindung wird über Umgebungsvariablen konfiguriert (siehe
.env
-Datei). - Der Server läuft standardmäßig auf Port 3000.
API-Endpunkte
/auth/register
: Registrierung eines neuen Benutzers/auth/login
: Anmeldung eines bestehenden Benutzers/auth/update
: Aktualisierung der Daten eines bestehenden Benutzers/members/all
: Alle Teilnehmer einer Abteilung ausgeben. Es muss eine Abteilungs-ID übergeben werden. Bei id = -1 werden alle Mitglieder zurückgegeben./members/new
: Erstellung eines neuen Mitglieds
Middleware
authenticateToken
: Überprüft den JWT-Token in der Authorization-Header
Datenbank
- Die Datenbank wird mit dem pg-Modul verbunden.
Starten des Servers
Die Anwendung kann mit npm start
, node server/app.js
oder nodemon server/app.js
gestartet werden.
app Readme
Das Frontend wird mit next.js erstellt und nutzt Typescript und Tailwind.