**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
Bewerbungsnachweis – Eigenverwaltung (PHP / MariaDB)
Zweck der Anwendung
Diese Anwendung dient der strukturierten Erfassung, Verwaltung und Dokumentation von Bewerbungen. Sie wurde speziell mit dem Ziel entwickelt, einen nachvollziehbaren und belastbaren Nachweis gegenüber Dritten (z. B. Arbeitsagentur, Jobcenter) zu ermöglichen.
Der Fokus liegt auf:
- Vollständigkeit der Bewerbungsdaten
- Revisionssicherem Statusverlauf
- Zuordnung von Belegen (PDF, Screenshot, E-Mail)
- Druck- und PDF-tauglicher NachweisĂĽbersicht
Die Anwendung ist lokal betrieben, unabhängig von Drittanbietern und vollständig kontrollierbar.
Technische Ăśbersicht
| Komponente | Beschreibung |
|---|---|
| Betriebssystem | Debian 13 (VM auf Hyper-V) |
| Webserver | Apache 2.4 |
| Programmiersprache | PHP 8.x (mysqli) |
| Datenbank | MariaDB |
| Frontcontroller | public/index.php |
| UI | Eigenes UI-Layout (ui.php) |
| Dokumentation | DokuWiki |
| Reverse Proxy | Traefik (extern, optional) |
Verzeichnisstruktur
- snippet.text
/var/www/html/bewerbungen/ ├── public/ │ ├── index.php # Router / Frontcontroller │ └── assets/ │ └── logo.svg # Logo für Drucknachweis │ ├── app/ │ ├── config.php # DB-Verbindung (.env) │ ├── ui.php # Zentrales UI + CSS │ └── pages/ │ ├── dashboard.php │ ├── firma_neu.php │ ├── stelle_neu.php │ ├── bewerbung_neu.php │ ├── status.php │ ├── dokument_upload.php │ ├── druck_nachweis.php │ └── stelle_ajax.php │ ├── storage/ │ ├── docs/ # Hochgeladene Belege │ └── php_errors.log # PHP-Fehlerlog (lokal) │ └── .env # Zugangsdaten (nicht im Repo)
Datenbankstruktur (logisch)
Zentrale Tabellen
| Tabelle | Zweck |
|---|---|
firma | Stammdaten der Unternehmen |
stelle | Konkrete Ausschreibungen |
bewerbung | Einzelne Bewerbungen |
status_verlauf | Historie aller Statusänderungen |
dokument | Zugeordnete Belege |
### Wichtige View
| View | Zweck |
|---|---|
v_nachweis_bewerbungen_mit_belegen | Konsolidierte Nachweissicht fĂĽr Dashboard & Druck |
Diese View dient als einzige Datenquelle fĂĽr:
- Dashboard
- Drucknachweis
- CSV-Exporte
Routing / Frontcontroller
Alle Seiten werden ĂĽber einen zentralen Router aufgerufen:
- snippet.text
public/index.php?a=aktion
Beispiele:
| Aktion | Seite |
| —————– | —————– |
dashboard | Ăśbersicht |
firma_neu | Firma anlegen |
stelle_neu | Stelle anlegen |
bewerbung_neu | Bewerbung anlegen |
status | Statusverlauf |
dokument_upload | Belege |
druck_nachweis | Druck / PDF |
Nicht bekannte Aktionen werden bewusst abgefangen („unbekannte Aktion“).
UI-Konzept
Zentrales UI (`ui.php`)
- Einheitliches Layout
- Zentrale CSS-Definition
- Wiederverwendbare Funktionen:
ui_header()ui_footer()status_badge()h()(HTML-Escaping)
Ziel
- Konsistentes Erscheinungsbild
- Keine doppelten Styles
- Druckfreundlich (
@media print)
Workflow
1. Firma anlegen
- Name (Pflicht)
- Ort, Webseite, Notizen (optional)
2. Stelle anlegen
- Zuordnung zu Firma
- Titel (Pflicht)
- Quelle, Referenznummer, Arbeitsmodell, Notizen
3. Bewerbung anlegen
- Firma → Stelle
- Bewerbungsdatum
- Kanal (Portal, E-Mail, etc.)
- Initialer Status
- Optional: Nachfassdatum
4. Status pflegen
- Jeder Statuswechsel wird historisiert
- Aktueller Status wird zusätzlich in
bewerbunggehalten - Nachfassdatum steuerbar
5. Dokumente zuordnen
- Upload von PDF/PNG/JPG
- Oder externe URL
- Automatische, sprechende Dateinamen
Dokumentablage
Belege werden gespeichert unter:
- snippet.text
/var/www/html/bewerbungen/storage/docs/
Namensschema:
- snippet.text
YYYY-MM-DD_firma_stelle_typ.pdf
Beispiele:
- snippet.text
2026-01-15_firma_xyz_it-support_anschreiben.pdf 2026-01-15_firma_xyz_it-support_portalbestaetigung.png
Dieses Schema erleichtert:
- manuelle PrĂĽfung
- externe Archivierung
- Nachvollziehbarkeit ohne Datenbank
Drucknachweis / PDF
Zweck
Der Drucknachweis dient als offizieller Bewerbungsnachweis.
Er enthält:
- Logo
- Name
- Zeitraum
- Erstellungsdatum
- Hinweis auf digitale Belege
- Vollständige tabellarische Übersicht
- Versionsstempel
Besonderheiten
- SVG-Logo inline eingebettet (keine Pfad- oder MIME-Probleme)
- Optimiert fĂĽr Schwarz-WeiĂź-Druck
- Keine interaktiven Elemente im Print
Versionsstempel
Am Ende jedes Drucknachweises:
- snippet.text
Bewerbungsnachweis – Eigenverwaltung – Version X.Y – Stand YYYY-MM-DD
Zweck:
- Revisionssicherheit
- klare zeitliche Einordnung
- Nachvollziehbarkeit bei späterer Prüfung
Sicherheit & Datenschutz
- Lokale Datenhaltung
- Keine Cloud-Abhängigkeit
- Keine externen Tracker
- Zugriff nur ĂĽber internes Netzwerk / Reverse Proxy
- Belege verbleiben vollständig im eigenen Besitz
Backup-Empfehlung
Regelmäßige Sicherung von:
- MariaDB-Datenbank
- Verzeichnis
storage/docs
Empfohlen:
- tägliches Datenbank-Dump
- inkrementelles Dateibackup
Fazit
Die Anwendung erfĂĽllt folgende Anforderungen:
- âś” strukturiert
- âś” nachvollziehbar
- âś” revisionssicher
- âś” drucktauglich
- ✔ behördlich belastbar
Sie ersetzt fehleranfällige Excel-Listen oder manuelle Dokumentationen und bietet eine dauerhaft wartbare Lösung zur Eigenverwaltung von Bewerbungen.