feat: perinco Pulse - Zeiterfassung fuer perinco
Erste Fassung, live unter https://pulse.perinco.de. Frontend React 19 + TypeScript + Tailwind 4 (Vite), Backend Express mit mysql2 auf MariaDB, Exporte als PDF (pdfkit), Excel (exceljs) und CSV. Aufbau, Designsystem und die sieben Themes kommen aus dem perinco CRM. Fachlich: - Buchung mit Wochen-, Monats- und Jahresansicht, Zeiten als 1:23 oder 1,5 - Projekte mit n Budgettoepfen: Laufzeit, Volumen, Sperre bei Ablauf oder aufgebrauchtem Budget, Buchung nur auf den passenden Topf - Kunden, Team mit Hierarchie, Reports im Harvest-Stil, Monatsexporte - Rollen user/lead/management/admin, doppelt geprueft (Menue und Backend) - SSO gegen Microsoft Entra ID, Uebernahme der AD-Benutzer per Drag & Drop Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# perinco Pulse Backend
|
||||
# Als .env kopieren und Werte setzen. .env niemals einchecken.
|
||||
|
||||
PORT=5010
|
||||
# Nur lokal binden - von aussen ausschliesslich ueber den Apache-Reverse-Proxy.
|
||||
HOST=127.0.0.1
|
||||
|
||||
DB_HOST=localhost
|
||||
DB_PORT=3306
|
||||
DB_USER=pulse
|
||||
DB_PASSWORD=changeme
|
||||
DB_NAME=perinco_pulse
|
||||
|
||||
# Signiert die Sitzungen. Langer Zufallswert:
|
||||
# node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"
|
||||
JWT_SECRET=changeme-langer-zufallswert
|
||||
JWT_EXPIRES_IN=12h
|
||||
|
||||
# Verschluesselt das SSO Client Secret in der Datenbank. Nie aendern, sonst ist
|
||||
# das gespeicherte Secret nicht mehr lesbar (dann in den Einstellungen neu setzen).
|
||||
SETTINGS_KEY=changeme-zweiter-zufallswert
|
||||
|
||||
# Wird beim ersten Start angelegt, falls noch kein Benutzer existiert.
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_NAME=Administrator
|
||||
ADMIN_EMAIL=admin@perinco.de
|
||||
ADMIN_PASSWORD=changeme
|
||||
|
||||
# Nur fuer den lokalen Vite-Dev-Server noetig.
|
||||
# CORS_ORIGINS=http://localhost:3110
|
||||
Reference in New Issue
Block a user