neufassung der WebApp mit unterstützung für mehrere Abteilungen und Aufteilung in Frontend mit React und API, die später auch eine native iOS und Adroid-App unterstützen soll.
Go to file
klaas 550a69688d Seite für einzelne Spiele 2024-09-29 01:31:06 +02:00
app Seite für einzelne Spiele 2024-09-29 01:31:06 +02:00
server Spiele Liste und Grundstruktur App Routing 2024-09-29 00:20:21 +02:00
.gitignore package.json 2024-09-28 21:41:05 +02:00
LICENSE.md first commit 2024-09-24 11:44:20 +02:00
README.md App initialisiert 2024-09-28 21:14:15 +02:00

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.