README.md gefüllt
This commit is contained in:
parent
18a9c741ee
commit
f54f8d2331
21
.env_default
21
.env_default
|
@ -1,14 +1,13 @@
|
|||
DATABASE_URL=postgres://klaas:Dimrb73611912@s002.boergmann.it:5432/
|
||||
DBNAME=tkd_neu
|
||||
SESSIONSECRET=ayfawsr23rw
|
||||
JWT_SECRET=ayfawsr23rw
|
||||
MAILHOST=ha01s001.org-dns.com
|
||||
MAILUSER=admin@boergmann.it
|
||||
MAILFROM=admin@boergmann.it
|
||||
MAILPASS=October7-Obsessed-Gumdrop-Remote
|
||||
PORT=2001
|
||||
DATABASE_URL=postgres://user:psw@localhost:5432/postgres
|
||||
SESSIONSECRET=Your Secret
|
||||
JWT_SECRET=
|
||||
MAILHOST=
|
||||
MAILUSER=
|
||||
MAILFROM=
|
||||
MAILPASS=
|
||||
PORT=2000
|
||||
TELEBOT=
|
||||
TELECHAT=
|
||||
HOST=localhost
|
||||
HOST=
|
||||
WEEKDAY=4
|
||||
ABTEILUNG=KiTu
|
||||
ABTEILUNG=KiTu/ABENTEUERSPIELPLATZ/KKT
|
100
README.md
100
README.md
|
@ -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! 🚀
|
Loading…
Reference in New Issue