- FastAPI + SQLAlchemy async + Alembic + Postgres backend - Auth: JWT access + rotating refresh tokens, argon2, roles, audit log - React 19 + Vite frontend: login page, protected route, auth context - Docker Compose: postgres, redis, migrate, api, worker (placeholder), frontend/nginx Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
20 lines
539 B
TypeScript
20 lines
539 B
TypeScript
import { Navigate, Route, Routes } from 'react-router-dom'
|
|
|
|
import { LoginPage } from '@/features/auth/LoginPage'
|
|
import { ProtectedRoute } from '@/features/auth/ProtectedRoute'
|
|
import { DashboardPage } from '@/pages/DashboardPage'
|
|
|
|
export function AppRoutes() {
|
|
return (
|
|
<Routes>
|
|
<Route path="/login" element={<LoginPage />} />
|
|
|
|
<Route element={<ProtectedRoute />}>
|
|
<Route path="/" element={<DashboardPage />} />
|
|
</Route>
|
|
|
|
<Route path="*" element={<Navigate to="/" replace />} />
|
|
</Routes>
|
|
)
|
|
}
|