GTARP - DPOS ZENTRALE

Software

GTARP - DPOS ZENTRALE

199,00 EUR inkl. 0% USt.

Funktionsbeschreibung

DPOS – Department of Public Operations & Services · Verwaltungssystem für GTA-RP-Server – vollständige Übersicht aller Module.
Dieses Dokument ist eigenständig und funktioniert offline, ohne Login und unabhängig vom Installationsordner.

πŸ“‹ Ü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.

Technik: PHP 8 + MySQL/MariaDB (PDO), kein Framework, kein Build-Prozess. Läuft auf gewöhnlichem Shared-Hosting, sowohl im Domain-Root als auch in einem Unterordner.

🌐 Ö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:

  1. Ein Mitarbeiter mit Prüfungsrecht öffnet Prüfungen und wählt ein Modul zum Durchführen.
  2. Er wählt den zu prüfenden Mitarbeiter aus einer Liste aus.
  3. Für jedes Thema wird direkt Bestanden oder Nicht bestanden bewertet (bei klassischen Wissensfragen die passende Antwort ausgewählt), optional mit einer Dokumentations-Notiz.
  4. Am Ende trifft der Prüfer die finale Entscheidung „Mitarbeiter hat bestanden" oder „nicht bestanden" – diese hat Vorrang vor der automatisch berechneten Punktzahl.
  5. 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.

DPOS – Department of Public Operations & Services · Funktionsbeschreibung. Seitenname, Logo und Farbe sind im Adminbereich unter Einstellungen frei anpassbar.


Live System : https://dpos.frakhub.de/