Skip to content

Jamie202401/Inventarverwaltung

Repository files navigation

Inventarverwaltung - Projektstruktur mit Logging

🎯 Übersicht

Das Projekt wurde in mehrere übersichtliche Dateien aufgeteilt und verfügt jetzt über ein umfassendes Logging-System, das alle Aktivitäten protokolliert.

📁 Dateistruktur

Program.cs

  • Enthält die Main-Methode (Einstiegspunkt der Anwendung)
  • Koordiniert den Programmablauf
  • Verwaltet die Hauptschleife und Menüauswahl
  • Initialisiert das Logging-System

Models.cs

  • Enthält alle Datenmodelle:
    • Berechtigungen (Enum für User/Admin)
    • MID (Mitarbeiter-Klasse)
    • InvId (Inventar-Klasse)
    • Accounts (Benutzer-Klasse mit Berechtigungen)
    • Anmelder (Anmelde-Klasse)

FileManager.cs

  • Verwaltet Dateipfade
  • Erstellt und versteckt Dateien
  • Zentrale Datei-Konfiguration

ConsoleHelper.cs

  • Hilfsfunktionen für die Konsole
  • Konsolen-Setup (Größe, Titel, etc.)
  • Formatierte Ausgaben (Erfolg, Fehler, Warnung, Info)
  • Header- und Menü-Formatierung

MenuManager.cs

  • Zeigt das Hauptmenü mit Icons an
  • Formatiert Menüeinträge übersichtlich
  • NEU: Menüpunkte für Log-Anzeige und Report-Erstellung

AuthManager.cs

  • Verwaltet die Benutzeranmeldung
  • Erstellt neue Anmeldekonten
  • Prüft bestehende Benutzer
  • NEU: Protokolliert alle Anmeldevorgänge

DataManager.cs

  • Zentrale Klasse für Datenverwaltung
  • Laden und Speichern von:
    • Inventar
    • Mitarbeitern
    • Benutzern
    • Anmeldungen
  • Verwaltet alle Listen

InventoryManager.cs

  • Verwaltet Inventar-Operationen
  • Neuen Artikel erstellen (mit Fehlerbehandlung)
  • Inventar anzeigen (übersichtliche Tabelle)
  • NEU: Protokolliert alle Inventar-Änderungen

EmployeeManager.cs

  • Verwaltet Mitarbeiter-Operationen
  • Neuen Mitarbeiter hinzufügen (mit Validierung)
  • Mitarbeiter anzeigen
  • NEU: Protokolliert alle Mitarbeiter-Änderungen

UserManager.cs

  • Verwaltet Benutzer-Operationen
  • Benutzer mit Berechtigungen anlegen
  • Benutzer anzeigen
  • NEU: Protokolliert alle Benutzer-Änderungen

🆕 LogManager.cs (NEU!)

Das Herzstück des Logging-Systems

  • Protokolliert alle Systemaktivitäten
  • Speichert Log-Einträge in System_Log.txt
  • Erfasst für jeden Eintrag:
    • ⏰ Zeitstempel (Datum und Uhrzeit)
    • 👤 Benutzername
    • 💻 Computername
    • 🌐 IP-Adresse
    • 📝 Aktion und Details

📊 Was wird geloggt?

System-Logs

  • Programmstart
  • Programmende

Anmelde-Logs

  • Erfolgreiche Anmeldungen
  • Fehlgeschlagene Anmeldungen
  • Neue Konto-Erstellungen
  • Benutzername des Anmeldenden
  • Computername und IP-Adresse

Inventar-Logs

  • Neuer Artikel hinzugefügt (mit allen Details)
  • Inventar angezeigt (mit Anzahl)
  • Duplikat-Versuche verhindert

Mitarbeiter-Logs

  • Neuer Mitarbeiter hinzugefügt (Name, Abteilung)
  • Mitarbeiterliste angezeigt (mit Anzahl)
  • Duplikat-Versuche verhindert

Benutzer-Logs

  • Neuer Benutzer angelegt (mit Berechtigung)
  • Benutzerliste angezeigt (mit Anzahl)
  • Duplikat-Versuche verhindert

Datei-Logs

  • Daten geladen (Typ und Anzahl)
  • Daten gespeichert (Typ und Details)

Fehler & Warnungen

  • Systemfehler
  • Warnungen

📝 Log-Datei Format

Beispiel eines Log-Eintrags:

[02.02.2026 14:30:45] [INVENTAR]
  ├─ Benutzer: MaxMustermann
  ├─ Computer: OFFICE-PC-01
  ├─ IP-Adresse: 10.10.10.10
  ├─ Aktion: Neuer Artikel hinzugefügt
  └─ Details: Inv-Nr: INV001 | Gerät: Laptop Dell XPS | Mitarbeiter: Anna Schmidt
────────────────────────────────────────────────────────────────────────────

🔧 Neue Funktionen im Menü

[7] System-Log anzeigen

  • Zeigt die letzten 50 Log-Einträge an
  • Gibt Auskunft über alle Systemaktivitäten
  • Zeigt Dateipfad und Größe der Log-Datei

[8] Tagesreport erstellen

  • Erstellt einen Report aller Aktivitäten des aktuellen Tages
  • Speichert als separate Datei: Report_YYYYMMDD.txt
  • Perfekt für tägliche Zusammenfassungen

✨ Verbesserungen

1. Intelligente Fehlerbehandlung

  • Bei falschen Eingaben wird NUR die fehlerhafte Eingabe wiederholt
  • Farbcodierte Fehlermeldungen (rot) und Erfolgsmeldungen (grün)

2. Schöneres Design

  • Unicode-Rahmen (╔═══╗) statt einfacher Linien
  • Icons für bessere Übersichtlichkeit (📦, 👤, 👥, 📊, 🔐, etc.)
  • Farbcodierte Ausgaben

3. Bessere Benutzerführung

  • Hilfreiche Beispiele bei Eingaben
  • Verfügbare Optionen werden angezeigt
  • Klare Anweisungen bei jeder Aktion

4. Validierung

  • Prüfung auf leere Eingaben
  • Mindestlänge für Benutzernamen (3 Zeichen)
  • Duplikatsprüfung vor dem Speichern

5. Übersichtliche Tabellen

  • Einheitliche Tabellenformatierung
  • Nummerierung der Einträge
  • Zusammenfassung am Ende

6. 🆕 Vollständiges Audit-Trail

  • Lückenlose Dokumentation aller Aktionen
  • Nachvollziehbarkeit für Compliance
  • Forensische Analysen möglich

🔒 Sicherheit & Compliance

Das Logging-System bietet:

  • Audit-Trail: Alle Änderungen sind nachvollziehbar
  • Benutzer-Tracking: Wer hat wann was gemacht?
  • System-Überwachung: Fehlererkennung und Diagnose
  • Compliance: Erfüllung von Dokumentationspflichten

🎨 Farbschema

  • Cyan: Header, Titel, wichtige Informationen
  • Grün: Erfolgsmeldungen
  • Rot: Fehlermeldungen
  • Gelb: Warnungen
  • Blau: Überschriften von Abschnitten
  • Grau: Tabellenkopfzeilen

💡 Vorteile

  1. Bessere Übersichtlichkeit: Jede Datei hat eine klare Verantwortung
  2. Einfachere Wartung: Änderungen können gezielt vorgenommen werden
  3. Wiederverwendbarkeit: Klassen können unabhängig verwendet werden
  4. Teamarbeit: Mehrere Entwickler können parallel arbeiten
  5. Testbarkeit: Einzelne Komponenten können isoliert getestet werden
  6. Benutzerfreundlich: Keine frustrierenden Komplett-Neueingaben mehr
  7. Professionell: Modernes Design mit Icons und Farben
  8. 🆕 Nachvollziehbar: Vollständige Protokollierung aller Aktivitäten
  9. 🆕 Sicher: Audit-Trail für Compliance und Sicherheit
  10. 🆕 Analysierbar: Tagesreports und Log-Auswertungen

🔧 Kompilierung

Alle Dateien müssen zusammen kompiliert werden:

csc /out:Inventarverwaltung.exe *.cs

Oder in Visual Studio: Alle Dateien in ein Projekt einbinden und kompilieren.

📝 Hinweise

  • Alle Kommentare sind auf Deutsch
  • Code-Konventionen werden eingehalten
  • Aussagekräftige Variablennamen
  • Strukturierte Fehlerbehandlung
  • Benutzerfreundliche Eingabe-Masken
  • NEU: Vollständiges Logging aller Aktivitäten
  • NEU: Log-Datei wird automatisch erstellt und verwaltet
  • NEU: IP-Adresse und Computername werden erfasst

🚀 Erste Schritte

  1. Alle .cs Dateien kompilieren
  2. Programm starten
  3. Mit Benutzernamen anmelden
  4. Alle Aktionen werden automatisch protokolliert!
  5. Log anzeigen mit Menüpunkt [7]
  6. Tagesreport erstellen mit Menüpunkt [8]

About

Ein Verwaltungssystem für einfaches und effektives hinzufügen von Artikeln und Mitarbeitern, mit umfangreicher Logging Funktion und weiteren Extras

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages