Software
GTARP - DPOS ZENTRALE
199,00 EUR inkl. 0% USt.
Funktionsbeschreibung
Inhalt
π Überblick
Das System bildet eine komplette Behördenverwaltung (DPOS) für GTA-RP-Server ab: eine öffentliche Startseite mit Live-Statistiken, ein rechtebasierter Mitarbeiterbereich für das Serverteam, ein prüfergeführtes Ausbildungssystem, Kennzeichen- und Abschleppverwaltung sowie eine Zeiterfassung fürs Team. Es ist bewusst neutral gehalten – Seitenname, Logo und Farbe sind Einstellungen, keine festen Werte im Code.
π Öffentliche Webseite
- Startseite mit Live-Statistiken (Mitarbeiter gesamt, im Dienst, Kennzeichen, Abschleppungen) – ohne Login sichtbar
- Mitarbeiter-Login führt direkt ins volle Dashboard mit erweiterten Kennzahlen (Prüfungen, Gesamtdienstzeit) und Aktivitätenverlauf
- Gesetze/Regelwerke frei anlegbar, mit Kategorien und beliebig vielen Paragraphen
- Preise (Abschleppkosten, Kennzeichenkosten, Gebühren) im Adminbereich pflegbar
- Impressum & Datenschutz, im Adminbereich unter Einstellungen redigierbar
π¨ Branding & Einstellungen
Unter Einstellungen (Standard: Rang 11+) lassen sich anpassen, ohne Code zu berühren:
| Einstellung | Wirkung |
|---|---|
| Seitenname | Logo, Seitentitel, Texte im gesamten System |
| Logo-Upload | Ersetzt das Standard-Icon in Sidebar & öffentlicher Seite |
| Plattform-URL | Verweis auf die Server-Webseite |
| Primärfarbe & Theme | Ersetzt die Akzentfarbe systemweit, Standard-Theme Hell/Dunkel |
| SMTP | Für zukünftige E-Mail-Funktionen vorbereitet (optional) |
| Backup | SQL-Dump der Datenbank per Klick |
Änderungen wirken sofort, ohne Neuinstallation oder Dateizugriff.
π Dienstgrade & Rechtesystem
13 Dienstgrade (Rang 0 Praktikant bis Rang 12 Direktion (Leitung)), Name, Kürzel und Farbe frei editierbar. Jeder Rang hat 17 einzeln umschaltbare Rechte:
| Recht | Ermöglicht |
|---|---|
| Dashboard | Zugriff auf den eingeloggten Übersichtsbereich |
| Dienst | Sich in den Dienst melden, Dienstzeiten einsehen |
| Prüfungen | Prüfungen als Prüfer durchführen & auswerten |
| Fragenkatalog | Prüfungsmodule & Fragen verwalten |
| Kennzeichen | Kennzeichen anmelden |
| Abschleppungen | Abschleppungen erfassen |
| Gesetze | Regelwerke/Paragraphen bearbeiten |
| Preise | Gebühren & Kosten bearbeiten |
| Mitarbeiter | Mitarbeiter anlegen/bearbeiten/löschen |
| Dienstgrade | Ränge verwalten |
| Rechteverwaltung | Rechte je Rang zuweisen |
| Seitenverwaltung | CMS-Seiten & News bearbeiten |
| Dokumente | PDF-Dokumente hochladen/verwalten |
| Statistik | Diagramme, Top-Mitarbeiter, Exporte einsehen |
| Logs | Aktionsprotokoll einsehen |
| Einstellungen | Branding & Systemeinstellungen ändern |
| API-Verwaltung | API-Token erstellen/verwalten |
Rang-Hierarchie
Ein Mitarbeiter kann grundsätzlich nur Kollegen, Ränge und Rechte mit strikt niedrigerem Rang verwalten – beim Bearbeiten, Löschen und auch beim Neuanlegen (niemand kann jemanden auf den eigenen Rang oder höher setzen, auch nicht den eigenen Rang selbst bearbeiten). Ausnahme: Rang 12 (Direktion) hat uneingeschränkten Zugriff auf alle Mitarbeiter, Ränge und Rechte. Diese Regel wird serverseitig geprüft, nicht nur in der Oberfläche versteckt.
Ändert sich der eigene Rang oder die Rechte des Rangs während einer aktiven Sitzung, wird der betroffene Mitarbeiter sofort automatisch ausgeloggt.
π€ Mitarbeiterverwaltung
- Mitarbeiter anlegen (Name, Dienstnummer, Dienstgrad, Discord, Telefon)
- Login-Zugänge vergeben, Passwörter zurücksetzen
- Profilbild-Upload
- Status: Aktiv / Inaktiv / Suspendiert (statt endgültigem Löschen)
- Suche & Übersicht mit Rang-Badge und letztem Login
π Mein Profil
Jeder eingeloggte Mitarbeiter – unabhängig vom Rang – kann:
- Sein eigenes Passwort ändern (fragt zur Sicherheit das aktuelle Passwort ab)
- Seine Dienstzeit gesamt und den letzten Login einsehen
- Anzahl erfasster Abschleppungen und Kennzeichen einsehen
- Seine vollständige Prüfungshistorie einsehen (Modul, Ergebnis, Prüfer, Datum)
Mit dem Recht „Mitarbeiter" oder „Prüfungen" lässt sich zusätzlich das Profil anderer Mitarbeiter (read-only) einsehen, z. B. um deren Prüfungshistorie zu prüfen.
π Prüfungssystem
Frei anlegbare Prüfungsmodule mit beliebigen Themen, Zeitlimit, Bestehensgrenze und maximaler Versuchsanzahl je Mitarbeiter. Das Prüfungssystem ist bewusst prüfergeführt statt als Selbst-Test konzipiert:
- Ein Mitarbeiter mit Prüfungsrecht öffnet Prüfungen und wählt ein Modul zum Durchführen.
- Er wählt den zu prüfenden Mitarbeiter aus einer Liste aus.
- Für jedes Thema wird direkt Bestanden oder Nicht bestanden bewertet (bei klassischen Wissensfragen die passende Antwort ausgewählt), optional mit einer Dokumentations-Notiz.
- Am Ende trifft der Prüfer die finale Entscheidung „Mitarbeiter hat bestanden" oder „nicht bestanden" – diese hat Vorrang vor der automatisch berechneten Punktzahl.
- Das Ergebnis erscheint automatisch in der Prüfungshistorie im Profil des geprüften Mitarbeiters und in der Prüfer-Übersicht – dort auch jederzeit wieder löschbar.
π Kennzeichen & Abschleppung
Kennzeichenverwaltung: Kennzeichen mit Halterdaten anlegen, serverseitige Dublettenprüfung verhindert doppelte Kennzeichen, Statistik zeigt angelegte Kennzeichen je Mitarbeiter.
Abschleppverwaltung: Fahrzeug, Kennzeichen (optional), Grund und Beschreibung erfassen, Foto-Upload zur Dokumentation. Mitarbeiter sowie Datum/Uhrzeit werden automatisch gesetzt.
π³ Preise & Gesetze
Gebühren, Abschleppkosten und Kennzeichenkosten sind in eigenen Kategorien im Adminbereich editierbar – jede Kategorie hat einen eigenen „Eintrag hinzufügen"-Button. Gesetze/Regelwerke bestehen aus Kategorien und Paragraphen, die einzeln hinzugefügt, bearbeitet oder gelöscht werden können.
π Dokumente & Seitenverwaltung
- Dokumente: PDF-Verwaltung für Dienstanweisungen und Handbücher, kategorisiert, mit Upload/Download
- Seitenverwaltung (CMS): Startseite, Dienstordnung und Handbuch als frei editierbare HTML-Inhalte
- News: Kurze Mitteilungen mit Autor und Datum
β±οΈ Zeiterfassung & Statistik
Jedes „Dienst beginnen"/„Dienst beenden" wird als Zeitspanne gespeichert. Daraus berechnet das System live:
- Wochenstunden, Monats- und Jahresstatistik – läuft automatisch, kein manueller Reset nötig
- Gesamtdienstzeit – läuft unbegrenzt weiter, immer einsehbar
- Anzeige, wer aktuell im Dienst ist
Die Statistik-Übersicht (Diagramme, Top-Mitarbeiter nach Dienstzeit/Abschleppungen, Prüfungsquoten) ist über das Recht „Statistik" freigebbar, mit Export als CSV, Excel und PDF.
π‘οΈ Sicherheit
- Passwörter ausschließlich als Hash gespeichert (
password_hash, automatischer Rehash bei veraltetem Cost-Faktor) - Alle Datenbankzugriffe über vorbereitete Statements (PDO) gegen SQL-Injection
- CSRF-Token in jedem Formular, serverseitig geprüft
- Konsequentes Escaping aller Ausgaben gegen XSS, Content-Security-Policy-Header
- Rechte werden serverseitig geprüft, nicht nur in der Oberfläche versteckt
- Rang-Hierarchie verhindert Rechte-Eskalation zwischen Mitarbeitern (mehrfach gegen echte Angriffsszenarien getestet)
- Automatischer Logout bei Rechte-/Rangänderung während einer aktiven Sitzung (serverseitige Session-Tabelle)
- Datei-Uploads werden per MIME-Type geprüft, zufällig benannt; PHP-Ausführung im Upload-Verzeichnis ist deaktiviert
- Lückenlose Protokollierung sicherheitsrelevanter Aktionen (IP, Browser, Zeitpunkt) – nur mit dem Recht „Logs" einsehbar
π API
REST-API unter /api/v1/... mit Token-Authentifizierung (Authorization: Bearer ), Token-Verwaltung unter „API-Verwaltung". JSON-Antworten für Mitarbeiter, Dienstzeiten, Kennzeichen und Abschleppungen – z. B. für einen Discord-Bot oder ein externes Server-Script.
βοΈ Technische Details
| Bereich | Details |
|---|---|
| Sprache/Laufzeit | PHP 8.0+, objektorientiert |
| Datenbank | MySQL/MariaDB, utf8mb4, Foreign Keys & Indexe |
| Frontend | Bootstrap 5, Vanilla JavaScript, kein Build-Prozess |
| Theme | Dark-/Light-Mode systemweit umschaltbar |
| Installation | Geführter Web-Assistent (install/index.php) oder manueller SQL-Import |
| Pfade | Vollständig relativ – läuft im Domain-Root ebenso wie in einem Unterordner |
Weitere Details zur Ordnerstruktur, Installation und API: siehe README.md.