README.md gefüllt

This commit is contained in:
klaas 2025-03-15 20:11:30 +01:00
parent 18a9c741ee
commit f54f8d2331
2 changed files with 110 additions and 11 deletions

View File

@ -1,14 +1,13 @@
DATABASE_URL=postgres://klaas:Dimrb73611912@s002.boergmann.it:5432/ DATABASE_URL=postgres://user:psw@localhost:5432/postgres
DBNAME=tkd_neu SESSIONSECRET=Your Secret
SESSIONSECRET=ayfawsr23rw JWT_SECRET=
JWT_SECRET=ayfawsr23rw MAILHOST=
MAILHOST=ha01s001.org-dns.com MAILUSER=
MAILUSER=admin@boergmann.it MAILFROM=
MAILFROM=admin@boergmann.it MAILPASS=
MAILPASS=October7-Obsessed-Gumdrop-Remote PORT=2000
PORT=2001
TELEBOT= TELEBOT=
TELECHAT= TELECHAT=
HOST=localhost HOST=
WEEKDAY=4 WEEKDAY=4
ABTEILUNG=KiTu ABTEILUNG=KiTu/ABENTEUERSPIELPLATZ/KKT

100
README.md
View File

@ -0,0 +1,100 @@
# 🏋️‍♂️ Trainings- und Anwesenheitsverwaltung API
Dies ist eine REST-API zur Verwaltung von Trainingseinheiten, Anwesenheiten und Geräteplänen für Sportabteilungen.
Die API basiert auf **Node.js**, **Express** und **PostgreSQL**.
## 🚀 Installation
1. **Repository klonen:**
```sh
git clone <REPO-URL>
cd trainings-api
2. **Abhängigkeiten installieren:**
npm install
3. **Datenbank konfigurieren:**
Datei .env aus .env_default erstellen und die PostgreSQL-Verbindungsdaten und Mailzugangsdaten hinterlegen:
cp .env_default .env
4. **Server starten**
npm start
## 📌 API-Endpunkte
### 🔐 Authentifizierung & Middleware
Alle Endpunkte sind durch JWT gesichert.
requireAuth → Benutzer muss eingeloggt sein.
requireAdmin → Benutzer benötigt Admin-Rechte.
### 📋 Mitgliederverwaltung
GET /member/:id?
📌 Gibt Mitgliederinformationen zurück
/member → Liste aller Mitglieder
/member/:id → Einzelnes Mitglied
PUT /member/:id?
📌 Fügt Mitglieder hinzu oder aktualisiert sie
Ohne id → Neues Mitglied
Mit id → Mitglied aktualisieren
DELETE /member/:id
📌 Löscht ein Mitglied (Admin erforderlich)
### 📅 Trainingsverwaltung
GET /:abteilung/trainings/:jahr?/:kw?
📌 Liefert Trainingsinformationen
/trainings → Alle Trainings einer Abteilung
/trainings/:jahr → Alle Trainings eines Jahres
/trainings/:jahr/:kw → Training einer bestimmten KW
POST /:abteilung/trainings/:jahr/:kw
📌 Erstellt ein neues Training mit Geräteplan
Wenn zwei Trainings dieselben Geräte hatten, wird hochgezählt.
Falls das letzte Gerät 10 war, geht es auf 1.
📋 Anwesenheitsverwaltung
GET /:abteilung/anwesend/:id
📌 Liefert Anwesenheiten für ein Training
POST /:abteilung/anwesend/:id
📌 Setzt Anwesenheiten
inriege → Alle Mitglieder, die anwesend sein könnten
anw → Mitglieder, die tatsächlich anwesend sind
✅ Automatische Korrekturen:
Falls Mitglied in anw ist, aber nicht in DB → Hinzufügen
Falls Mitglied in anw fehlt, aber in DB → Löschen
## 🛠 Technologie-Stack
Backend: Node.js, Express.js
Datenbank: PostgreSQL
Authentifizierung: JWT
## 🛠 Entwickler-Tools
### 📜 Linter & Formatierung
npm run lint
npm run format
### 📦 Abhängigkeiten aktualisieren
npm update
## 🏗 Zukünftige Erweiterungen
📊 Statistiken & Berichte
📱 Mobile App-Integration
📧 E-Mail-Benachrichtigungen
## 📬 Kontakt
mailto:admin@boergmann.it
💬 Falls du Fragen hast, erstelle ein Issue oder kontaktiere mich! 🚀