# Arbeitszeitmessung [![Quality Gate Status](https://sonar.letsstein.de/api/project_badges/measure?project=arbeitszeitmessung&metric=alert_status&token=sqb_253028eff30aff24f32b437cd6c484c511b5c33f)](https://sonar.letsstein.de/dashboard?id=arbeitszeitmessung) --- Eine open-source Software zur Arbeitszeitmessung ## Features - manuelle Korrektur von einzelnen Buchungen - Buchung von benutzerdefinierten Abwesenheiten - automatische gesetzlicher Feiertage - Pflege eigener Feiertage - wöchentliches Abrechnungssystem - Kontrolle der Arbeitszeiten durch direkte Führungskraft - Ausgabe der Arbeitszeiten je Monat in PDF Format - Anwesenheitsübersicht ## Installation ```bash git clone https://git.letsstein.de/tom/arbeitszeitmessung arbeitszeitmessung cd arbeitszeitmessung ./install.sh ``` ### Konfiguration: - Datenbank - `POSTGRES_USER` Postgres ADMIN Nutzername - `POSTGRES_PASSWORD` Postgres ADMIN Passwort - `POSTGRES_API_USER` Postgres API Nutzername für Webanwendung - `POSTGRES_API_PASS` Postgres API Passwort für Webanwendung - `POSTGRES_PATH` Datebank Pfad - `POSTGRES_DB` Postgres Datenbank Name - `POSTGRES_PORT` Postgres Port für administration - System - `TZ` Zeitzone - `LOG_LEVEL` Welche Log-Nachrichten werden in der Konsole erscheinen - Web/API - `API_TOKEN` API Token für ESP Endpoints - `WEB_PORT` Port unter welchem Webserver erreichbar ist - Ordnerstruktur - `BACKUP_FOLDER` Pfad für DB Backup Datein - `LOG_PATH` Pfad für Audit Logs # Filestrukture ``` ├── Backend (Webserver) │   ├── doc (Templates for Document Creator --> typst used to create PDF Reports) │   │   ├── static │   │   └── templates │   ├── endpoints (HTML Server endpoints (see main.go for Routes)) │   ├── helper (Helper classes) │   │   ├── logs │   │   └── paramParser │   ├── logs (Log Folder, no sourcecode) │   ├── migrations (DB Migrations Folder, no direct sourcecode) │   ├── models (DB Models and their function) │   ├── src (Tailwind src --> used to config css formatter) │   ├── static (Webserver static, used to server static content, e.g. JS and CSS files) │   │   └── css │   └── templates (HTML Templates for every page written in templ and compiled to go) ├── Cron (all Cron Scripts) ├── DB (local Database mount Point) │   └── initdb (initialization scripts for DB) ├── Docker (Docker Files, only docker-compose.yaml used) ├── docs └── └── images ```