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
+18
View File
@@ -0,0 +1,18 @@
import { HTMLAttributes, ReactNode } from 'react';
interface CardProps extends HTMLAttributes<HTMLDivElement> {
title?: string;
children: ReactNode;
}
export function Card({ title, children, className = '', ...props }: CardProps) {
return (
<div
className={`bg-surface rounded-xl shadow-sm border border-border p-6 ${className}`}
{...props}
>
{title && <h2 className="text-xl font-semibold text-text mb-4">{title}</h2>}
{children}
</div>
);
}