| .. | ||
| config | ||
| database | ||
| models | ||
| resources | ||
| tests | ||
| ui | ||
| utils | ||
| .gitignore | ||
| build_exe.bat | ||
| create_shortcut.py | ||
| main.py | ||
| module_launcher.py | ||
| patch_dao_methods.py | ||
| print_fix_files.py | ||
| print_project_tree.py | ||
| print_project.py | ||
| pytest.ini | ||
| README.md | ||
| requirements.txt | ||
| reset_pw.py | ||
| ritterdigital.ico | ||
| setup.py | ||
| test_imports.py | ||
| update_password.py | ||
Preislistenverwaltungssystem
Eine Desktop-Anwendung zur Verwaltung von Preislisten für Fulfillment-Dienstleistungen.
Funktionen
- Kundenverwaltung mit drei Kundentypen (Standard, Existierend, Neu)
- Preislistenverwaltung mit Kopierfunktion
- Preisbearbeitung mit Audit-Trail
- Aktivierung/Deaktivierung von Leistungen
Installationsanleitung
Voraussetzungen
- Python 3.8 oder höher
- ODBC-Treiber für SQL Server
- Netzwerkzugang zum SQL Server
Installation
- Repository klonen oder Dateien herunterladen
- Abhängigkeiten installieren:
pip install -r requirements.txt - Desktop-Shortcut erstellen (optional):
python create_shortcut.py
Ausführbare Datei erstellen
Für eine eigenständige exe-Datei:
build_exe.bat
Die ausführbare Datei wird im Ordner dist erstellt.
Verwendung
- Anwendung über den Desktop-Shortcut oder
main.pystarten - Anmelden mit gültigen Benutzerdaten
- Kunden auswählen (Standard, Existierend oder Neu)
- Bei neuen Kunden: Preisliste kopieren
- Preise anzeigen und bearbeiten
Konfiguration
Die Anwendung kann über die Datei config/settings.py konfiguriert werden.
Entwicklung
Projektstruktur
Die Anwendung folgt einer modularen Struktur:
main.py: Haupteinstiegspunktconfig/: Konfigurationseinstellungendatabase/: Datenbankzugriffmodels/: Datenmodelleui/: Benutzeroberflächeutils/: Hilfsfunktionen
Dateisystem
Die Anwendung kann mit einem Installer ausgeliefert werden, der die ausführbare Datei und alle erforderlichen Ressourcen installiert.
Sicherheit
- Passwörter werden nie im Klartext gespeichert
- Alle Änderungen werden mit Benutzer und Zeitstempel protokolliert
- Eingabevalidierung zum Schutz vor SQL-Injection