Files
keyVerwaltung/README.md
Erik Thiele f255e50dd3 first Commit
2026-05-18 21:14:04 +02:00

67 lines
2.3 KiB
Markdown

# Verwaltung fuer Tuerchips und Parkkarten
## Voraussetzungen
- Python 3.10 oder neuer
## Installation
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## Starten
```bash
python3 app.py
```
Die Anwendung ist danach unter `http://127.0.0.1:5000` erreichbar.
## Funktionen
- Anmeldung fuer Bearbeiter und Admins
- Admin kann Bearbeiter und weitere Admins anlegen
- Bearbeiter vergeben ihr Passwort bei der ersten Anmeldung selbst
- Admin kann Passwort-Reset fuer Bearbeiter ausloesen
- Admin kann vorhandene Bestandsdaten per CSV importieren
- User anlegen
- Ausgabe von Tuerchips und Parkkarten
- Rueckgabe von Tuerchips und Parkkarten
- Uebersicht mit Suche und letzten Bewegungen
- Einfache Logdatei mit Datum, Medium und bearbeitendem Mitarbeiter
- Anzeige der letzten Logeintraege im Webinterface
- Bearbeiter wird auch in der Datenbankhistorie gespeichert
- Doppelte Kennungen fuer Tuerchips und Parkkarten werden bei der Ausgabe verhindert
## Datenhaltung
- Die Daten werden lokal in `inventory.db` als SQLite-Datenbank gespeichert.
- Die einfache Dateiprotokollierung wird in `inventory.log` geschrieben.
## Anmeldung
- Beim ersten Start wird automatisch ein Admin mit dem Benutzernamen `admin` angelegt.
- Dieser Admin hat zunaechst kein Passwort und wird bei der ersten Anmeldung direkt zur Passwortvergabe gefuehrt.
- Der Bearbeiter in der Historie und im Log ist immer der aktuell angemeldete Benutzer.
## Import vorhandener Daten
- Nur Admins koennen den Import ueber den Menuepunkt `Import` aufrufen.
- Der Import akzeptiert eine CSV-Datei mit Semikolon als Trennzeichen oder alternativ direkte Eingabe im Textfeld.
- Die CSV-Datei muss UTF-8 kodiert sein.
- Erwartetes Format pro Zeile:
```text
User;Typ;Kennung;Aktion
```
- Beispiel:
```text
Max Mustermann;Tuerchip;CHIP-1001;Import
Erika Muster;Parkkarte;PARK-2001;Import
```
- Eine optionale Kopfzeile `User;Typ;Kennung;Aktion` wird automatisch erkannt und uebersprungen.
- Unterstuetzte Typen sind `Tuerchip` und `Parkkarte`.
- Die Aktion `Import` uebernimmt vorhandene aktive Bestandsdaten in die Datenbank.
- Falls ein User noch nicht existiert, wird er beim Import automatisch angelegt.
- Bereits vergebene Kennungen oder widerspruechliche aktive Zuordnungen werden gesammelt als Fehler angezeigt; der Import wird erst ausgefuehrt, wenn keine Fehler mehr vorhanden sind.