https://github.com/wahke/bereitschaft-einsatzzeiten
Webbasierte Anwendung zur Verwaltung von Bereitschaftseinsätzen mit AIDA-Antrag, KM-Geld, Zeitberechnung und Exportfunktionen.
https://github.com/wahke/bereitschaft-einsatzzeiten
aida bereitschaft excel-export mysql pdf-export php timesheet webapp zeitmanagement
Last synced: 3 months ago
JSON representation
Webbasierte Anwendung zur Verwaltung von Bereitschaftseinsätzen mit AIDA-Antrag, KM-Geld, Zeitberechnung und Exportfunktionen.
- Host: GitHub
- URL: https://github.com/wahke/bereitschaft-einsatzzeiten
- Owner: wahke
- Created: 2025-03-27T15:29:33.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-29T08:53:41.000Z (3 months ago)
- Last Synced: 2025-03-29T09:29:43.685Z (3 months ago)
- Topics: aida, bereitschaft, excel-export, mysql, pdf-export, php, timesheet, webapp, zeitmanagement
- Language: PHP
- Homepage: https://wahke.lu
- Size: 7.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# 📘 Bereitschafts-Zeiterfassungssystem
Ein vollständiges PHP-basiertes Zeiterfassungssystem zur Erfassung und Verwaltung von Bereitschaftsdiensten inkl. intelligenter Zeitberechnung, Exportfunktionen und Benutzerverwaltung.
## Setup
- Downloaden Sie das Release und laden Sie es Hoch
- Rufen Sie die setup.php auf und erstellen Sie die Datenbank
- Löschen Sie die setup.php und Registrieren Sie sich.
- Viel Spass## ✅ Features
### 👤 Benutzerverwaltung
- Registrierung & Login
- Session-geschützter Zugang
- Admin-Nutzer kann alle Einträge sehen ( nicht in Planung )### ⏱️ Zeiterfassung
- Manuelle Eingabe von:
- Datum
- Kommen (Startzeit)
- P1 (Endzeit)
- Berechnung von:
- **PE+Zeit** = Kommen - Wegzeit
- **P1+Zeit** = P1 + Wegzeit
- **Differenz** = PE+Zeit bis P1+Zeit ( Funktioniert nicht immer )
- Unterstützte Spezialfälle:
- **PE+Zeit fällt auf Vortag** → automatischer zusätzlicher Eintrag
- **P1+Zeit fällt auf Folgetag** → automatischer zusätzlicher Eintrag
- **Mitternachtseinsatz (Checkbox)** → zwei Einträge (Vortag/Folgetag)
- **Normale Einträge** → ein Eintrag### 🧠 Intelligente Optionen
- Checkbox „Keine Wegzeit“ für Kommen und/oder P1
- Automatischer Erhalt oder Neuberechnung der Zeit bei Bearbeitung
- Nur geänderte Werte werden neu berechnet### ⚙️ Einstellungen (pro Benutzer)
- Standard Minus-Zeit (für PE+Zeit)
- Standard Plus-Zeit (für P1+Zeit)
- Kilometer-Wert (für Frais route intérieur-Export)
- Persönliche Angaben für Exporte:
- Name, Qualité, Administration
- Résidence, Domicile, Banque, IBAN### 📝 Eintragsverwaltung
- Alle Einträge im Dashboard bearbeitbar
- Sofortiges Speichern und Löschen möglich
- Dynamischer Zeilenumbruch im Info-Feld
- AIDA- & Frais route intérieur-Checkboxen### 📤 Exportfunktionen
#### PDF-Export
- Export aller Einträge mit Icons
- Zeilenumbrüche im Info-Feld
- Erstellt durch: `[Name]` oben rechts#### Excel-Export (Fiche)
- Basierend auf Vorlage `vorlage.xlsx`
- Nur aktuelle Jahres-Einträge mit Frais route intérieur-Haken
- Berechnung von Strecke abhängig von Mitternacht & Domicile
- KM automatisch halbiert bei nur Hinfahrt/Rückfahrt
- Automatisches Ausfüllen der Benutzerdaten in Kopfbereich## 📦 Voraussetzungen
- PHP 7.4+
- MySQL
- Composer (für PhpSpreadsheet)
- Webserver (z. B. Apache)## 📁 Projektstruktur
```
├── setup.php // Setup der Datenbank
├── db.php // Datenbankverbindung
├── eintrag_speichern.php // Hauptlogik für Einträge
├── dashboard.php // Haupt-Dashboard
├── update.php // Update + Löschen in einer Datei
├── export_excel.php // Excel-Export (KM Geld)
├── export_pdf.php // PDF-Export
├── registration.php // Registrierung
├── index.php // Login
├── einstellungen.php // Benutzerbezogene Einstellungen
├── vorlage.xlsx // Excel-Vorlage
├── style.css // Layout und Styles
├── image/ // Icons (aida.png, excel.png, pdf.png)
├── phpoffice/ // Frais route intérieur Export
└── tools/tfpdf/ // FPDF mit Unicode-Unterstützung
```## 🛡️ Sicherheit
- Prepared Statements gegen SQL-Injection
- Passwort-Hashing mit `password_hash()` / `verify()`
- Session-Schutz auf allen Seiten## 🧪 TODOs / Weiterentwicklung
- Admin-Oberfläche zur Benutzerverwaltung
- Admin-Nutzer kann alle Einträge sehen
- Mehrsprachigkeit (DE/FR)
- Responsives Design für Mobilgeräte
- **Differenz** = PE+Zeit bis P1+Zeit Bessere Berechnung---
**© entwickelt mit ❤️ von [wahke.lu](https://wahke.lu)**