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:
2026-07-14 11:51:32 +02:00
parent 5459a43e2b
commit d89304845a
56 changed files with 7581 additions and 9 deletions
+33
View File
@@ -0,0 +1,33 @@
{
"auth.loginTitle": "Sign In",
"auth.email": "Email Address",
"auth.password": "Password",
"auth.loginButton": "Sign In",
"auth.logout": "Sign Out",
"auth.loginSuccess": "Successfully signed in",
"auth.error.loginFailed": "Login failed. Please check your credentials.",
"auth.error.emailRequired": "Email address is required",
"auth.error.emailInvalid": "Please enter a valid email address",
"auth.error.passwordRequired": "Password is required",
"auth.welcome": "Welcome back",
"common.save": "Save",
"common.cancel": "Cancel",
"common.delete": "Delete",
"common.edit": "Edit",
"common.confirm": "Confirm",
"common.search": "Search",
"common.loading": "Loading...",
"common.noData": "No data available",
"nav.vehicles": "Vehicles",
"nav.contacts": "Contacts",
"nav.sales": "Sales",
"nav.settings": "Settings",
"nav.dashboard": "Dashboard",
"nav.ocr": "OCR Scan",
"nav.copilot": "AI Assistant",
"user.role.admin": "Administrator",
"user.role.verkaeufer": "Sales",
"user.role.buchhaltung": "Accounting",
"user.active": "Active",
"user.inactive": "Inactive"
}