2 ChronoFlow Wiki
ViperioN edited this page 2025-12-05 07:45:28 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ChronoFlow Zeiterfassung & Aufgabenmanagement

Ein plattformübergreifendes Avalonia-Projekt im MVCP-Architekturstil

ChronoFlow ist ein modernes Zeiterfassungs- und Aufgabenmanagementsystem, das speziell für kleine Unternehmen, Teams und interne Entwicklungsumgebungen entwickelt wurde. Das System ermöglicht eine klare Trennung zwischen Administratoren und Mitarbeitern, verwaltet Projekte transparent und bietet wichtige Funktionen wie Änderungsverfolgung, Rollenberechtigungen und sichere Authentifizierung.

📌 Funktionen im Überblick 🔐 Benutzerverwaltung & Login-System

Sichere Anmeldung mit Passwort-Hashing (SHA-256 + Salt).

Pflichtänderung des Passworts beim ersten Login (Erstlogin-Schutz).

Rollenmodell:

Admin (volle Rechte)

Mitarbeiter (eingeschränkte Rechte)

Speichern des letzten Login-Zeitpunkts, um Änderungen zwischen Logins anzuzeigen.

🗂️ Projektverwaltung Für Administratoren

Projekte erstellen, bearbeiten und löschen

Projektleiter bestimmen

Mehrere Mitarbeitende einem Projekt zuweisen

Prioritäten, Deadlines und Status setzen

Kommentare und Notizen verwalten

Änderungen lösen automatisch Benachrichtigungen für betroffene Mitarbeitende aus

Für Mitarbeitende

Zuweisungen einsehen

Aufgabenstatus ändern (erledigt / nicht erledigt)

Kommentare hinzufügen

Farbmarkierungen informieren über Dringlichkeit (z. B. Deadline fast überschritten)

📣 Benachrichtigungsfunktion

Beim Login sehen Mitarbeitende sofort, was sich seit dem letzten Besuch geändert hat.

Änderungen an Projekten werden hervorgehoben (z. B. blaue Umrandung).

💾 Datenbank & Speicherung

ChronoFlow verwendet SQLite für eine robuste lokale Datenspeicherung.

Es werden u. a. folgende Tabellen genutzt:

Benutzer

Projekte

ProjektMitarbeiter (Zuordnung Mehrfachzuweisung)

Änderungsprotokoll

Kommentare

Die Datenbank wird beim Start automatisch angelegt, falls sie noch nicht existiert.

🎨 Moderne Benutzeroberfläche

Avalonia UI

Helles Hauptfenster + dunkle Sidebar

Dynamische Sidebar (ein-/ausklappbar)

Intuitive Navigation über ViewManager

Scrollbare Mitarbeiterauswahl mit Multi-Select

Farblich hervorgehobene Deadlines inklusive Legende

🔑 Standard-Login

Damit neue Nutzer das Programm sofort ausprobieren können, steht ein Demo-Admin zur Verfügung:

Rolle Benutzername Passwort Administrator admin//test

  • Falls ein Erstlogin erzwungen wird, muss das Passwort beim ersten Start geändert werden.

Optional kannst du Mitarbeitenden-Testaccounts anlegen, z. B.:

Rolle Benutzername Passwort Mitarbeiter employee1 newpassword

📥 Installation & Start

Repository klonen oder ZIP herunterladen

Projekt in Visual Studio oder Rider öffnen

Build ausführen

Anwendung starten

Mit Standard-Login anmelden

Die SQLite-Datenbank wird beim ersten Start automatisch erstellt. Falls eine ältere Version existiert, wird die Struktur bei Bedarf aktualisiert.

🛠️ Architekturübersicht (MVCP)

Model → Datenstrukturen, Logik, Validierung, Rollenmechanismen

View → GUI (Avalonia .axaml Dateien)

Controller → Steuert Abläufe, kommuniziert zwischen View und Model

Persistence → Datenbankzugriffe, Speichern/Laden, Tabellenverwaltung

Diese klare Trennung sorgt für Wartbarkeit und Erweiterbarkeit.

📄 Lizenz & Nutzung

ChronoFlow darf frei genutzt, erweitert und an die eigenen Bedürfnisse angepasst werden. Änderungen am Code sollten dokumentiert werden, um die Nachvollziehbarkeit zu sichern.

🤝 Beitrag & Weiterentwicklung

Pull Requests, Verbesserungsvorschläge und Feature-Anfragen sind willkommen. Bitte beschreibe Änderungen nachvollziehbar und teste neue Funktionen gründlich.