Files
FL-Akademie/docs/PLAN.md

4.9 KiB
Raw Permalink Blame History

Motorrad-Akademie LMS Ersatz für Tutor LMS

Dieses Dokument ist die Produkt- und Architekturgrundlage für eine private, zielorientierte Lernplattform. Sie ersetzt schrittweise Tutor LMS auf akademie.fahrlaessig.com.


1. Zielbild

  • Eigentümerschaft: Code und Daten bei euch, keine Plugin-Lizenzkosten für das LMS-Kernstück.
  • Bedienung: Reduzierte Admin-Oberfläche auf echte Workflows (Kurs anlegen, Lektionen, Zugang, Zahlung).
  • Kontinuität: URLs, Kurslogik und Look sollen zur bestehenden Akademie passen (Migration/Redirects später).
  • Skalierung: Produktionsfähige Basis (API, DB, Jobs), ohne WordPress als Laufzeit für den Lernbereich.

2. Ist-Analyse Akademie (öffentlich)

Bereich Anforderung
Kurse Karten mit Titel, Autor, Kategorien (kostenlos, Module, Übung der Woche).
Kurrikulum /kurse/.../lektionen/... Module/Themen und Lektionen.
Zugang Einschreiben vs. „Mit dem Lernen beginnen“.
Monetarisierung Abo-Preise, Warenkorb/Demo, kostenpflichtig vs. kostenlos.
Vertrauen Bewertungen, Dozentenprofile.
Marketing Startseite, Roadmap, Blog/Shop teils außerhalb LMS.

3. Tutor-LMS-Feature-Parität (phasenweise)

Phase A MVP (Betrieb Akademie)

  • Nutzer: Registrierung, Login, Passwort, Rollen (Lernender, Admin).
  • Kurse: Slug, Titel, Beschreibung, Thumbnail, Kategorien, veröffentlicht.
  • Kurrikulum: Kurs → Modul → Lektion (Reihenfolge), Rich-Text-Inhalt.
  • Einschreibung + Fortschritt (Lektion abgeschlossen).
  • Zahlungen: vorbereitet (Stripe o. Ä.); Dev: kostenlose Einschreibung + Preisfelder in DB.
  • Öffentliche Kursliste + Kurssicht + Lektionsplayer-Layout.

Phase B später

  • Quizze, Aufgaben, Zertifikate, Prerequisites, Content Drip, Gradebook, erweiterte Analytics, Bundles, Live-Sessions, KI-Inhalte nur bei konkretem Bedarf.

4. Technische Architektur (Umsetzung in diesem Repo)

Komponente Wahl
App Next.js (App Router), TypeScript
Datenbank PostgreSQL 16
ORM Prisma
Auth NextAuth.js (Credentials, erweiterbar auf OAuth)
Deployment lokal Docker Compose (web + db)

Verzeichnisüberblick:

  • app/ Routen: Marketing (/), Kurse, Lektionen, Login, Mitgliederbereich /portal, Admin /admin, öffentliche Zertifikatsseite /zertifikat/[code], API (/api/...).
  • components/ UI-Bausteine (Header, Kurskarten, Formulare).
  • lib/ Prisma-Client, Auth, Landing-Content, Zertifikate, Fortschritt, Slugs.
  • prisma/schema.prisma Datenmodell inkl. LandingPage, Certificate.
  • prisma/seed.ts Demo-Daten + Standard-Landing.
  • docker-compose.yml Postgres (Hostport 5433) + Web.
  • Dockerfile + scripts/docker-entrypoint.sh Migration, Seed, next dev.
  • README.md Einstieg & Schnellstart.
  • docs/HANDBUCH.md implementierter Stand (Admin, Portal, Zertifikate, Docker).

5. Migration (später, produktiv)

  • Export aus WordPress/Tutor → Import-Skripte ins Zielschema.
  • Nutzer: Einladung/Passwort-Reset statt unsicherer Passwort-Übernahme.
  • SEO: 301 von alten /kurse/-URLs.
  • Zahlungen: Abgleich mit Payment-Provider (Kunden-IDs).

6. Sicherheit (Produktion)

  • TLS, Security-Header (CSP iterativ), Rate-Limits auf Login.
  • OWASP-Basics, keine Secrets im Image, regelmäßige Updates.
  • RBAC für Admin/Dozent/Support.

7. Monitoring (sekundär, aber vorgesehen)

  • Strukturierte Logs, Metriken (Latenz, 5xx, Jobs), Alerts bei Zahlungs-Webhooks.
  • Healthchecks für App, DB, Queue.

8. Ausführung Entwicklung mit Docker Compose

Voraussetzung: Docker und Docker Compose installiert.

cd /home/lo/Dokumente/real-akademie-replacement
docker compose up --build
  • App: http://localhost:3000
  • Demo-Login (Seed): admin@akademie.local / devpassword
    Lernender: lernender@akademie.local / devpassword

Umgebungsvariablen siehe .env.example. Für reine lokale Entwicklung ohne Docker: Node 20+, npm install, Postgres starten, DATABASE_URL setzen, npx prisma generate, npx prisma migrate dev, npm run dev.

Hinweis Next.js: Unter demselben dynamischen Pfadsegment (z.B. /kurse/[slug]/…) müssen die Parameternamen in allen verschachtelten Routen übereinstimmen (hier durchgängig slug für den Kurs).


9. Roadmap dieses Repos

  1. MVP-UI und Datenmodell; Admin-UI (Kurse, Nutzer, Landing Page); Portal mit Passwort & Zertifikat umgesetzt (siehe docs/HANDBUCH.md).
  2. Stripe/Webhooks + echte Abos.
  3. Migrationstools von Tutor-Export (Inhalte, Nutzer, Zahlungen).
  4. Phase-B-Features nach Priorität (Quizze, Drip, …).

10. Repository

  • Git: https://git.loepperts.com/loepperts/FL-Akademie.git
  • Einstieg für neue Entwickler: zuerst README.md, dann docs/HANDBUCH.md und dieses docs/PLAN.md.