ready2help
v2.0.0
Published
Ready2Help - Eine Webseite für Erste-Hilfe-Kurse und Produkte
Maintainers
Readme
Ready2Help - Erste-Hilfe-Kurse und Produkte
Diese Webseite bietet eine Plattform für Erste-Hilfe-Kurse und Produkte mit Benutzerverwaltung, Kursanmeldungen und persönlichen Profilen.
Funktionen
Benutzerauthentifizierung:
- Registrierung mit E-Mail-Überprüfung
- Anmeldung und Abmeldung
- Passwortstärke-Prüfung
- Persönliches Benutzerprofil
Kursverwaltung:
- Anzeige verfügbarer Kurse
- Buchung und Stornierung von Kursen
- Anzeige gebuchter Kurse im Profil
- Anzeige des nächsten anstehenden Kurses
Profilverwaltung:
- Anzeige persönlicher Daten
- Bearbeitung persönlicher Daten
- Passwortänderung
- Statistiken zu Kursen und Zertifikaten
Technischer Aufbau
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js mit Express
- Datenbank: SQLite
- Authentifizierung: JWT (JSON Web Tokens), bcrypt für Passwort-Hashing
- E-Mail-Verifizierung: Nodemailer (in der Entwicklungsumgebung deaktiviert)
Installation
Voraussetzungen
- Node.js (v14 oder höher)
- npm (v6 oder höher)
Schritte
Repository klonen oder herunterladen:
In den Projektordner wechseln:
cd Ready2Help- Abhängigkeiten installieren:
npm install- Server starten:
npm startFür die Entwicklung mit automatischem Neustart bei Änderungen:
npm run dev- Die Webseite ist nun unter
http://localhost:3000erreichbar
Datenbank
Das Projekt verwendet SQLite als Datenbank, die automatisch beim ersten Start erstellt wird. Die Datenbankdatei wird im Hauptverzeichnis als database.sqlite gespeichert.
Die Datenbank enthält folgende Tabellen:
users- Benutzerdatencourses- Kursinformationenbookings- Kursbuchungencertificates- Ausgestellte Zertifikate
E-Mail-Verifizierung
In der Entwicklungsumgebung wird kein E-Mail-Server verwendet. Stattdessen werden die Verifizierungslinks in der Konsole ausgegeben. Bei einer Produktionsumgebung kann ein echter SMTP-Server konfiguriert werden, indem die entsprechenden Umgebungsvariablen gesetzt werden:
EMAIL_HOST- SMTP-Server-HostEMAIL_PORT- SMTP-Server-PortEMAIL_SECURE- SMTP-Verbindung verschlüsseln (true/false)EMAIL_USER- SMTP-BenutzernameEMAIL_PASS- SMTP-Passwort
Umgebungsvariablen
Das Projekt unterstützt folgende Umgebungsvariablen:
PORT- Server-Port (Standard: 3000)JWT_SECRET- Geheimer Schlüssel für JWT-Token (Standard: 'ready2help_jwt_secret_key')
Lizenz
MIT
