Backend (Rust/Axum): - pvm-api: Axum server with health and user profile endpoints, OpenAPI/Swagger UI, CORS, tracing, graceful shutdown - pvm-auth: JWT validation middleware with JWKS cache for offline-capable Zitadel token verification - pvm-core: Shared error types with IntoResponse impl - pvm-types: Shared domain types (UserProfile) Frontend (SvelteKit): - Dashboard app with Svelte 5 + TypeScript + Tailwind CSS v4 - Zitadel OIDC auth via @auth/sveltekit (PKCE flow) - Pages: landing, sign-in, dashboard, account settings - Responsive sidebar layout with dark mode support - Typed API client for backend communication Infrastructure: - Docker Compose dev environment with Zitadel v3, PostgreSQL 16, and DragonflyDB - Environment variable examples and setup documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
381 B
TOML
17 lines
381 B
TOML
[package]
|
|
name = "pvm-auth"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
pvm-types = { path = "../pvm-types" }
|
|
axum.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
reqwest.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
chrono.workspace = true
|
|
uuid.workspace = true
|