mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 11:59:35 +01:00
docs(cli): remove implementation plan, add TUI user+dev guide
This commit is contained in:
parent
bbe9e87c33
commit
169f492b76
2 changed files with 77 additions and 386 deletions
77
frontend/apps/cli/README.md
Normal file
77
frontend/apps/cli/README.md
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# Effigenix ERP – Terminal UI
|
||||
|
||||
Interaktive TUI für das Effigenix ERP-Backend. Gebaut mit [Ink](https://github.com/vadimdemedes/ink) (React für Terminal).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Node.js 20+, pnpm 9+
|
||||
- Backend läuft auf `http://localhost:8080`
|
||||
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
# Im frontend/-Verzeichnis
|
||||
pnpm install
|
||||
pnpm --filter @effigenix/cli dev
|
||||
```
|
||||
|
||||
## Bedienung
|
||||
|
||||
**Navigation:** `↑↓` bewegen, `Enter` auswählen/bestätigen, `Escape`/`Backspace` zurück.
|
||||
|
||||
### Login
|
||||
|
||||
Benutzername und Passwort eingeben, `Tab` zum Feldwechsel, `Enter` auf dem letzten Feld.
|
||||
Die Session wird in `~/.effigenix/config.json` gespeichert und beim nächsten Start wiederhergestellt.
|
||||
|
||||
### Hauptmenü
|
||||
|
||||
| Eintrag | Funktion |
|
||||
|---------|----------|
|
||||
| Benutzerverwaltung | Liste, Anlage, Details, Passwort |
|
||||
| Rollenverwaltung | Liste, Details |
|
||||
| Logout | Session beenden |
|
||||
|
||||
### Benutzerverwaltung
|
||||
|
||||
- **Liste:** `↑↓` navigieren, `Enter` → Detailansicht
|
||||
- **Anlegen:** Formular mit Tab-Navigation; Felder werden per Zod validiert (Inline-Fehler)
|
||||
- **Detailansicht → Aktionen:**
|
||||
- `Sperren/Entsperren` – Bestätigungsdialog (J/N)
|
||||
- `Rolle zuweisen/entfernen` – interaktive Auswahlliste der verfügbaren Rollen
|
||||
- `Passwort ändern` – eigener Screen mit Passwort-Bestätigung
|
||||
- Erfolgreiche Aktionen zeigen eine grüne Box (auto-dismiss nach 3 s)
|
||||
|
||||
### Rollenverwaltung
|
||||
|
||||
Liste aller Rollen mit Berechtigungen; Readonly-Ansicht.
|
||||
|
||||
---
|
||||
|
||||
## Entwicklung
|
||||
|
||||
```bash
|
||||
pnpm --filter @effigenix/cli typecheck # TypeScript-Check
|
||||
pnpm --filter @effigenix/cli test # vitest (15 Tests)
|
||||
pnpm --filter @effigenix/cli build # tsup → dist/
|
||||
```
|
||||
|
||||
### Struktur
|
||||
|
||||
```
|
||||
src/
|
||||
├── components/
|
||||
│ ├── auth/ # LoginScreen
|
||||
│ ├── layout/ # MainLayout, Header, StatusBar
|
||||
│ ├── roles/ # RoleListScreen, RoleDetailScreen, RoleSelectList
|
||||
│ ├── shared/ # ErrorDisplay, SuccessDisplay, ConfirmDialog, FormInput, LoadingSpinner
|
||||
│ └── users/ # UserListScreen, UserDetailScreen, UserCreateScreen, ChangePasswordScreen
|
||||
├── hooks/ # useUsers, useRoles, useTerminalSize
|
||||
├── state/ # auth-context, navigation-context
|
||||
└── utils/ # api-client, token-storage
|
||||
```
|
||||
|
||||
### Token-Speicherung
|
||||
|
||||
`~/.effigenix/config.json` (chmod 600). Enthält Access-Token, Refresh-Token und Ablaufzeit.
|
||||
Token-Refresh erfolgt proaktiv (< 5 min bis Ablauf) und reaktiv (bei 401).
|
||||
Loading…
Add table
Add a link
Reference in a new issue