Made-with: Cursor
FL-Akademie (Motorrad-Akademie LMS)
Private Lernplattform als Ersatz für Tutor LMS für die Fahrlässig Motorrad Akademie – Next.js, PostgreSQL, Prisma, NextAuth. Ziel: eigene Kontrolle über Kurse, Nutzer, Landing Page und Zertifikate ohne WordPress-Plugin-Abhängigkeit.
Remote-Repository: https://git.loepperts.com/loepperts/FL-Akademie.git
Schnellstart (Docker)
Voraussetzung: Docker & Docker Compose.
git clone https://git.loepperts.com/loepperts/FL-Akademie.git
cd FL-Akademie
docker compose up --build -d
- App: http://localhost:3000
- PostgreSQL (vom Host):
localhost:5433→ Container-Port 5432 (weniger Konflikte mit lokalem Postgres)
Beim Start führt der Web-Container aus: prisma generate, prisma migrate deploy, prisma db seed, danach next dev.
Umgebungsvariablen
Siehe .env.example. In docker-compose.yml sind für die Entwicklung bereits Werte gesetzt (DATABASE_URL, NEXTAUTH_URL, NEXTAUTH_SECRET). Für Produktion eigenes starkes NEXTAUTH_SECRET und korrekte NEXTAUTH_URL (öffentliche HTTPS-URL) setzen.
Demo-Zugänge (Seed)
| Rolle | Passwort | |
|---|---|---|
| Admin | admin@akademie.local |
devpassword |
| Dozent | matze@akademie.local |
devpassword |
| Lernender | lernender@akademie.local |
devpassword |
Der Lernende ist im Demo-Kurs „Modul 1 – Die Fahrschule“ eingeschrieben.
Wichtige Routen
| Bereich | Pfad | Beschreibung |
|---|---|---|
| Öffentlich | / |
Startseite (Inhalte aus DB, bearbeitbar im Admin) |
| Kurse | /kurse, /kurse/[slug] |
Katalog, Kurssdetail, Einschreibung (kostenlose Kurse) |
| Lektionen | /kurse/[slug]/lektionen/[lessonSlug] |
Lernansicht (Login + Einschreibung nötig) |
| Login | /login |
Anmeldung |
| Mitgliederbereich | /portal |
Fortschritt, Kurse wiederholen, Link zu Zertifikaten |
| Konto | /portal/account |
Passwort ändern |
| Zertifikate (Liste) | /portal/certificates |
Eigene Teilnahmebestätigungen |
| Zertifikat (öffentlich) | /zertifikat/[code] |
Anzeige/Druck mit Verifikationscode |
| Administration | /admin |
Nur Rolle ADMIN: Kurse, Nutzer, Landing Page |
/dashboard leitet nach /portal um.
Dokumentation im Repo
| Datei | Inhalt |
|---|---|
| docs/PLAN.md | Produktvision, Architektur, Phasen, Sicherheit/Monitoring |
| docs/HANDBUCH.md | Betrieb: Admin, Portal, Zertifikate, Datenmodell, Docker-Details |
Projektstruktur (kurz)
app/ # Next.js App Router (Seiten, API-Routen)
components/ # UI-Komponenten
lib/ # Prisma-Client, Auth, Landing-Parsing, Zertifikate, Fortschritt
prisma/ # schema.prisma, Migrationen, seed.ts
scripts/ # docker-entrypoint.sh
NPM-Skripte (ohne Docker)
Node 20+, lokales PostgreSQL, .env aus .env.example:
npm install
npx prisma generate
npx prisma migrate dev
npm run dev
postinstall führt kein prisma generate aus (Docker/CI-freundlich); nach npm install immer npx prisma generate ausführen.
Lizenz / Nutzung
Internes Projekt für die Akademie – keine allgemeine Open-Source-Lizenz festgelegt, sofern nicht separat ergänzt.