LearnHub ist eine webbasierte Lernmanagement-Anwendung fuer Studierende. Sie buendelt Lernplaene, Aufgaben und Kalendertermine in einer Oberflaeche und berechnet aus Zieldatum, Aufwand und verfuegbarer Lernzeit einen nachvollziehbaren Lernplan.
Ausfuehrliche Beschreibung im Product Requirements Document. Architektur- und Stack-Entscheidungen in docs/tech-stack.md.
Voraussetzungen:
- Node.js 20 oder neuer
- Docker Desktop
- Git
Aus dem Stand „frischer Checkout" zum laufenden Dev-Server:
git clone https://github.com/Fabsi07/LearnHub.git
cd LearnHub
npm ci
cp .env.example .env
docker compose up -d
npm run prisma:deploy
npm run prisma:generate
npm run devAnschliessend ist die App unter http://localhost:3000 erreichbar.
Eine ausfuehrliche Schritt-fuer-Schritt-Anleitung inklusive Windows-Hinweisen, Docker-Erststart, Port-Konflikten und Troubleshooting steht in SETUP.md.
| Was | Befehl |
|---|---|
| Dev-Server starten | npm run dev |
| Datenbank starten | docker compose up -d |
| Datenbank stoppen | docker compose down |
| Datenbank vollstaendig zuruecksetzen | docker compose down -v |
| Eingecheckte Migrationen anwenden | npm run prisma:deploy |
| Prisma-Client generieren | npm run prisma:generate |
| Build pruefen | npm run build |
| Linter | npm run lint |
| TypeScript pruefen | npm run typecheck |
| Unit-Tests | npm test |
| Demo-Daten laden | npm run seed |
Nach einem git pull mit neuen Dateien unter prisma/migrations/:
npm run prisma:deploy
npm run prisma:generateEigene Schema-Aenderungen werden mit npm run prisma:migrate als neue Migration entwickelt. Fuer Setup und Pulls wird dagegen prisma:deploy verwendet.
Der feste Admin-Account wird beim ersten Login automatisch angelegt. Die Defaults stehen in .env.example und koennen lokal ueber ADMIN_EMAIL, ADMIN_PASSWORD und ADMIN_DISPLAY_NAME ueberschrieben werden.
| Feld | Default |
|---|---|
0000@learnhub.admin |
|
| Passwort | 0000admin |
npm run seed befuellt die lokale Datenbank mit reproduzierbaren Beispieldaten
fuer die Praesentation (drei Lernplaene, Aufgaben inkl. erledigter und
ueberfaelliger, Kalendertermine). Das Skript ist idempotent und ruehrt nur den
Demo-Account an.
| Feld | Wert |
|---|---|
demo@learnhub.test |
|
| Passwort | demo12345 |
- Setup-Anleitung — ausfuehrlicher lokaler Setup- und Troubleshooting-Guide
- Product Requirements Document — fachlicher Funktionsumfang inkl. Feature-Status (§17)
- Architekturueberblick — Schichten, Datenmodell und API-Oberflaeche
- Tech-Stack — eingesetzte Technologien und Begruendung
- Auth-Konzept — Login, Sessions, Schutzlogik
- Manueller Abnahmetest — Test-Checkliste fuer UC1–UC6
- Algorithmus-Konzept — Formel, Phasen und Ausgabeformat der Lernplanung
- Mockups & offene Punkte — was echt funktioniert und was Vorschau ist
- Uebergabedokumentation — Abschluss-/Uebergabedoku: Inhalt der Abgabe, Rueckblick, Ausblick
- LICENSE — MIT-Lizenz