feat(T01): auth + user management + RBAC + base frontend + i18n
- Backend: FastAPI, JWT auth (HS256), bcrypt, RBAC middleware - User CRUD (admin-only), soft-delete, pagination - Pydantic BaseSettings config, async SQLAlchemy 2.0 - 50 backend tests, 88% coverage - Frontend: Next.js 14 App Router, Tailwind, design tokens - Login page, auth context, API client with auto-refresh - i18n: next-intl, DE/EN (31 keys each) - 6 base UI components (Button, Input, Card, Table, Modal, Toast) - 12 frontend tests, npm build success
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"auth.loginTitle": "Anmeldung",
|
||||
"auth.email": "E-Mail-Adresse",
|
||||
"auth.password": "Passwort",
|
||||
"auth.loginButton": "Anmelden",
|
||||
"auth.logout": "Abmelden",
|
||||
"auth.loginSuccess": "Erfolgreich angemeldet",
|
||||
"auth.error.loginFailed": "Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Eingaben.",
|
||||
"auth.error.emailRequired": "E-Mail-Adresse ist erforderlich",
|
||||
"auth.error.emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
|
||||
"auth.error.passwordRequired": "Passwort ist erforderlich",
|
||||
"auth.welcome": "Willkommen zurück",
|
||||
"common.save": "Speichern",
|
||||
"common.cancel": "Abbrechen",
|
||||
"common.delete": "Löschen",
|
||||
"common.edit": "Bearbeiten",
|
||||
"common.confirm": "Bestätigen",
|
||||
"common.search": "Suchen",
|
||||
"common.loading": "Wird geladen...",
|
||||
"common.noData": "Keine Daten verfügbar",
|
||||
"nav.vehicles": "Fahrzeuge",
|
||||
"nav.contacts": "Kontakte",
|
||||
"nav.sales": "Verkäufe",
|
||||
"nav.settings": "Einstellungen",
|
||||
"nav.dashboard": "Übersicht",
|
||||
"nav.ocr": "OCR-Scan",
|
||||
"nav.copilot": "KI-Assistent",
|
||||
"user.role.admin": "Administrator",
|
||||
"user.role.verkaeufer": "Verkäufer",
|
||||
"user.role.buchhaltung": "Buchhaltung",
|
||||
"user.active": "Aktiv",
|
||||
"user.inactive": "Inaktiv"
|
||||
}
|
||||
Reference in New Issue
Block a user