1
0
Fork
You've already forked api
0
No description
  • PHP 100%
Laura-Lilly Weigand de52a6b37b remove bug
2026年05月20日 20:00:28 +02:00
public remove bug 2026年05月20日 20:00:28 +02:00
src remove bug 2026年05月20日 20:00:28 +02:00
views remove bug 2026年05月20日 20:00:28 +02:00
.DS_Store initial commit 2026年05月19日 20:52:40 +02:00
.env.example Add Admincheck 2026年05月20日 12:07:26 +02:00
.gitignore initial commit 2026年05月19日 20:52:40 +02:00
CLAUDE.md initial commit 2026年05月19日 20:52:40 +02:00
composer.json initial commit 2026年05月19日 20:52:40 +02:00
composer.lock initial commit 2026年05月19日 20:52:40 +02:00
composer.phar initial commit 2026年05月19日 20:52:40 +02:00
database.sqlite initial commit 2026年05月19日 20:52:40 +02:00
README.md initial commit 2026年05月19日 20:52:40 +02:00

🚀 LibreAdmin (Studio Edition)

LibreAdmin ist ein modernes, minimalistisches Headless-CMS und CRUD-Adminsystem, das speziell für PHP 8.4+ entwickelt wurde. Es bietet eine tiefe Integration in den LibreWorkspace und ermöglicht die Verwaltung beliebiger Web-Inhalte über eine elegante, performante API und ein gutes Admin-Interface.


Highlights

  • 💎 Studio-Design: Ein konsistentes, hochauflösendes Dark-Mode Interface ("Dark Studio") mit Akzenten in Neon-Violett und Rose.
  • 🛠 Dynamisches CRUD: Erkennt automatisch Datenbank-Strukturen und generiert sofort passende Verwaltungsmasken.
  • 📐 Schema Manager: Erstelle Tabellen und füge Spalten direkt über das Web-Interface hinzu – ohne SQL-Kenntnisse.
  • 🔐 Deep OIDC Integration: Vollständige Authentifizierung über LibreWorkspace OIDC, inklusive automatischer Gruppenprüfung (wsadmin).
  • 📡 Headless API: JSON-Schnittstellen für alle Inhalte, gesichert durch LibreWorkspace API-Keys oder OIDC Bearer-Tokens.
  • 📝 Auto-Slugs: Intelligente, automatische Generierung von URL-freundlichen Slugs aus Titeln.
  • 📜 Audit-Logging: Lückenlose Protokollierung aller Änderungen (Wer, Was, Wann, IP-Adresse).

🛡️ Sicherheit auf Enterprise-Niveau

LibreAdmin wurde nach dem Prinzip "Security by Design" entwickelt:

  • CSRF-Schutz: Jedes Formular ist durch kryptografische Tokens gegen Cross-Site Request Forgery abgesichert.
  • XSS-Prävention: Konsequente Maskierung aller Ausgaben und sichere JSON-Datenübergabe an Frontend-Komponenten.
  • SQL-Injection Schutz: Strikte Whitelist-Prüfung von Tabellennamen und Einsatz von Prepared Statements.
  • Session Hardening: Abgesicherte Cookies (HttpOnly, SameSite=Strict) und regelmäßige ID-Regeneration.
  • Security Headers: Aktive CSP (Content Security Policy), X-Frame-Options und DarkReader-Lock.
  • Datenschutz: Keine externen CDNs für Schriften (lokaler Font-Stack) – keine Datenübermittlung an Google.

🚀 Installation & Setup

Voraussetzungen

  • PHP >= 8.4 (mit FPM, SQLite3, cURL, MBString)
  • LibreWorkspace Instanz

Als Standalone App

  1. Repository klonen oder Dateien kopieren.
  2. Abhängigkeiten installieren:
    php composer.phar install --no-dev
    
  3. .env Datei basierend auf .env.example erstellen und OIDC-Daten eintragen.
  4. Server starten:
    php -S localhost:8000 -t public public/index.php
    

Als LibreWorkspace Addon

LibreAdmin ist vollständig als natives Modul vorbereitet. Das Repository als .zip Archiv herunterladen und im Libre Workspace in der Lokalen Addon Verwaltung hochladen und installieren.

📖 API Nutzung

Die API ist unter /api/{tabelle} erreichbar.

Beispiel mit API-Key:

curl -H "Api-key: <DEIN_KEY>" https://libreadmin.deine-domain.de/api/posts

📁 Struktur

  • src/Auth/: OIDC-Logik und Login-Flow.
  • src/Controller/: Admin-, API- und Auth-Steuerung.
  • src/Core/: Zentrale Komponenten (Sicherheit, Audit-Log, Router, DB).
  • views/: Hochwertige Tailwind CSS & Alpine.js Templates.

Grafik & Design von Novi-Raven | Entwickelt für den LibreWorkspace | Coded with help from Gemini CLI. Fehler können vorhanden sein.