Add initial schema for entries and settings tables

- Created 'entries' table to track time entries with fields for date, start time, end time, pause minutes, location, and entry type.
- Created 'settings' table to store key-value pairs for application settings with an updated timestamp.
This commit is contained in:
Felix Schlusche
2025-10-23 14:27:25 +02:00
parent b2823731f1
commit b0dd773fba
10 changed files with 1345 additions and 308 deletions

View File

@@ -2,6 +2,17 @@
Eine Full-Stack-Zeiterfassungsanwendung, entwickelt mit Node.js, Express, SQLite und containerisiert mit Docker.
## Screenshots
![Screenshot 1](media/screenshots/Screenshot1.png)
*Hauptansicht mit Timer und Monatsübersicht*
![Screenshot 2](media/screenshots/Screenshot2.png)
*Detaillierte Statistiken und Urlaubsverwaltung*
![Screenshot 3](media/screenshots/Screenshot3.png)
*Eintragsbearbeitung und Bulk-Operationen*
## Funktionen
### Zeiterfassung
@@ -12,6 +23,8 @@ Eine Full-Stack-Zeiterfassungsanwendung, entwickelt mit Node.js, Express, SQLite
-**Manuelle Eingabe**: Erfassung von Arbeitszeiten (Datum, Startzeit, Endzeit, Pause)
-**Inline-Bearbeitung**: Schnelle Änderung von Zeiten durch Klick in die Tabelle
-**Standort-Tracking**: Home-Office oder Büro pro Eintrag
-**Urlaub eintragen**: Urlaubstage werden nicht vom Saldo abgezogen
-**Gleittage eintragen**: Gleittage ziehen 8 Stunden vom Saldo ab
### Intelligente Berechnungen
-**Automatische Pausenberechnung** nach deutschem Arbeitszeitgesetz:
@@ -31,6 +44,8 @@ Eine Full-Stack-Zeiterfassungsanwendung, entwickelt mit Node.js, Express, SQLite
-**Monatskalender**: Vollständige Ansicht aller Tage des Monats
-**Farbcodierung**:
- Grün: Home-Office Tage
- Gelb: Urlaub
- Cyan: Gleittage
- Rot: Fehlende Einträge an Arbeitstagen
- Grau: Wochenenden
- Blau: Feiertage mit Namen
@@ -210,8 +225,9 @@ Exportiert **nur** Tage, die von der Standard-Arbeitszeit (8,0 Stunden) abweiche
### CSV-Spalten:
- **Datum**: TT.MM.JJJJ (z.B. 23.10.2025)
- **Startzeit**: HH:MM (z.B. 08:00)
- **Endzeit**: HH:MM (z.B. 17:00)
- **Typ**: Arbeit / Urlaub / Gleitzeit
- **Startzeit**: HH:MM (z.B. 08:00, bei Urlaub/Gleitzeit: -)
- **Endzeit**: HH:MM (z.B. 17:00, bei Urlaub/Gleitzeit: -)
- **Pause in Minuten**: Ganzzahl (z.B. 30)
- **Gesamtstunden**: Nettostunden mit Komma als Dezimaltrennzeichen (z.B. 8,50)