Files
FL-Akademie/README.md
2026-04-13 23:19:13 +02:00

3.7 KiB
Raw Blame History

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

Ersten Push ausführen

Lokal ist origin gesetzt. Ein Push benötigt Zugangsdaten für git.loepperts.com (Benutzer/Passwort, Personal Access Token oder SSH).

cd FL-Akademie   # bzw. real-akademie-replacement
git push -u origin main

Bei SSH statt HTTPS:

git remote set-url origin git@git.loepperts.com:loepperts/FL-Akademie.git
git push -u origin main

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 E-Mail 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.