Software
GTARP - DMV ZENTRALE
199,00 EUR inkl. 0% USt.
Funktionsbeschreibung
Inhalt
π Überblick
Das System bildet eine komplette Kfz-Zulassungsstelle (DMV) für GTA-RP-Server ab: eine öffentliche Webseite für Spieler, ein rechtebasierter Mitarbeiterbereich für das Serverteam, ein digitales Theorieprüfungssystem, Kennzeichenverwaltung und eine Zeiterfassung fürs Team. Es ist bewusst neutral gehalten — Name, Server-Tag und Farbe sind Einstellungen, keine festen Werte im Code.
π Öffentliche Webseite
- Startseite mit Live-Statistiken (Mitarbeiterzahl, im Dienst, Kennzeichen, Bestehensquote)
- Team-Übersicht mit Name, Dienstgrad und aktuellem Dienststatus
- Regelwerke (StVO, LuftVO, beliebig erweiterbar) mit echten, redigierbaren Paragraphen
- Lizenzpreise öffentlich einsehbar
- Öffentliche Prüfungsseite für Kunden per Einmal-Link, kein Login nötig
- Impressum & Datenschutz, im Adminbereich redigierbar
π¨ Branding & Einstellungen
Unter Einstellungen (nur Rang 12) lassen sich anpassen, ohne Code zu berühren:
| Einstellung | Wirkung |
|---|---|
| Seitenname | Logo, Seitentitel, Texte im gesamten System |
| Claim/Untertitel | Meta-Beschreibung, Startseiten-Untertitel |
| Server-Tag | Freier Text, z.B. Servername/Discord |
| Akzentfarbe (Haupt/Dunkel) | Ersetzt die grüne Designfarbe systemweit per CSS-Variable |
Änderungen wirken sofort, ohne Neuinstallation oder Dateizugriff.
π Dienstgrade & Rechtesystem
13 Dienstgrade (Rang 0 Praktikant bis Rang 12 Direktion). Jeder Rang hat elf einzeln umschaltbare Rechte:
| Recht | Ermöglicht |
|---|---|
| Dienst | Sich in den Dienst melden |
| Prüfungen | Prüfungen starten & auswerten |
| Kennzeichen | Kennzeichen anmelden |
| Gesetze | Regelwerke/Paragraphen bearbeiten |
| Fragenkatalog | Prüfungsfragen verwalten |
| Preise | Lizenzpreise bearbeiten |
| Mitarbeiter | Mitarbeiter anlegen/bearbeiten |
| Dienstgrade | Ränge & Rechte verwalten |
| Seiteninhalte | Impressum/Datenschutz bearbeiten |
| Einstellungen | Branding ändern |
| Statistik | Zeiterfassung/Statistik aller Mitarbeiter einsehen |
Rang-Hierarchie
Ein Mitarbeiter kann grundsätzlich nur Kollegen mit strikt niedrigerem Rang verwalten — beim Passwort ändern, Rang anpassen, komplett Bearbeiten, Entfernen und auch beim Neuanlegen (niemand kann jemanden auf den eigenen Rang oder höher setzen). Ausnahme: Rang 12 (Direktion) hat uneingeschränkten Zugriff auf alle Mitarbeiter, auch andere Rang-12-Konten.
Ändert sich der eigene Rang oder die Rechte des Rangs während einer aktiven Sitzung, wird der Mitarbeiter beim nächsten Klick automatisch ausgeloggt.
π€ Mitarbeiterverwaltung
- Mitarbeiter anlegen (Name, Dienstnummer, Dienstgrad, Discord-Tag)
- Login-Zugänge vergeben oder Passwörter zurücksetzen
- Komplettbearbeitung (Rang 11+): alle Felder inkl. Benutzername/Passwort in einem Formular
- Dienststatus und Team-Sichtbarkeit umschaltbar
- Deaktivieren statt Löschen (Historie bleibt erhalten)
π Mein Profil
Jeder eingeloggte Mitarbeiter — unabhängig vom Rang — kann:
- Sein eigenes Passwort ändern (fragt zur Sicherheit das aktuelle Passwort ab)
- Seine Wochenstunden (ab letztem Montag) und Gesamtdienstzeit einsehen
- Seinen letzten Login sehen
- Anzahl seiner erstellten Prüfungen und Kennzeichen einsehen
π Prüfungssystem
- Mitarbeiter mit Prüfungsrecht öffnet Prüfungen, wählt Spielername, Regelwerk und Anzahl Fragen. Mehrere Prüfungen können gleichzeitig offen sein.
- Das System zieht zufällig Checkbox-Fragen aus dem Fragenkatalog des gewählten Regelwerks und erzeugt einen eindeutigen, vollständigen Link (inkl. Domain).
- Der Kunde öffnet den Link ohne eigenen Login, beantwortet die Fragen und klickt "Prüfung abgeben". Es gibt kein direktes Feedback. Ein zweiter Aufruf desselben Links zeigt nur noch "bereits abgegeben".
- Der Mitarbeiter öffnet die Sitzung unter "auswerten": das Ergebnis ist sofort sichtbar (auch als Vorschau vor dem endgültigen Abschließen), jede einzelne Frage ist farblich als richtig/falsch markiert.
- Nach "Auswertung abschließen & archivieren" ist die Prüfung im Archiv mit Kundenname, Mitarbeiter, Datum und Ergebnis dauerhaft einsehbar.
Löschbar ab Rang 10. Bestehensgrenze standardmäßig 70% richtige Antworten.
π Kennzeichenservice
Verfügbarkeitsprüfung und Anmeldung sind in einer interaktiven Karte vereint: Kennzeichen eingeben, auf "Verfügbarkeit prüfen" klicken — bei freiem Kennzeichen öffnet sich automatisch das Anmeldeformular (Fahrzeug-ID, Spielername), bei vergebenem erscheint eine klare Sperre ohne Möglichkeit zur Anmeldung. Eine serverseitige Zweitprüfung verhindert Duplikate zusätzlich. Löschbar ab Rang 10.
π³ Preise & Regelwerke
Lizenzpreise und Prüfungsgebühren sind im Adminbereich editierbar und öffentlich einsehbar. Regelwerke (Gesetzestexte) bestehen aus Paragraphen, die einzeln hinzugefügt, bearbeitet oder gelöscht werden können — neue Regelwerke (z.B. eine Hafenordnung) lassen sich jederzeit anlegen, nicht nur StVO/LuftVO.
β±οΈ Zeiterfassung & Statistik
Jedes "In den Dienst melden"/"Dienst beenden" wird als Zeitspanne gespeichert. Daraus berechnet das System live:
- Wochenstunden — ab dem letzten Montag 00:00 Uhr, kein destruktiver Reset nötig, läuft automatisch jede Woche neu
- Gesamtdienstzeit — läuft unbegrenzt weiter, immer einsehbar
Die Übersicht aller Mitarbeiter (inkl. letztem Login und erstellten Prüfungen/Kennzeichen) ist über das Recht "Statistik" freigebbar — standardmäßig Rang 11/12, frei auf andere Ränge erweiterbar.
π‘οΈ Sicherheit
- Passwörter ausschließlich als Hash gespeichert (
password_hash) - Alle Datenbankzugriffe über vorbereitete Statements (PDO) gegen SQL-Injection
- Rechte werden serverseitig geprüft, nicht nur in der Oberfläche versteckt
- Rang-Hierarchie verhindert Rechte-Eskalation zwischen Mitarbeitern
- Post/Redirect/Get-Muster verhindert doppelte Formularabsendung bei Neuladen (F5)
- Automatischer Logout bei Rechteänderung während einer aktiven Sitzung
βοΈ Technische Details
| Bereich | Details |
|---|---|
| Sprache/Laufzeit | PHP 8.0+ |
| Datenbank | MySQL/MariaDB, utf8mb4 |
| Frontend | Reines HTML/CSS/JS, kein Build-Prozess |
| Zeichensatz | Alle Tabellen fest auf utf8mb4, unabhängig vom DB-Standard |
| Installation | Geführter Web-Assistent (install.php) oder manueller SQL-Import |
Weitere Details zur Ordnerstruktur: siehe README.md. Installationsanleitung: siehe INSTALLATION.md.