pvm/crates/pvm-api/Cargo.toml
Mikkel Georgsen c972926d31 Scaffold base webapp: Rust/Axum API + SvelteKit dashboard + Docker dev env
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>
2026-02-08 03:37:07 +01:00

26 lines
626 B
TOML

[package]
name = "pvm-api"
version.workspace = true
edition.workspace = true
[dependencies]
pvm-core = { path = "../pvm-core" }
pvm-types = { path = "../pvm-types" }
pvm-auth = { path = "../pvm-auth" }
axum.workspace = true
axum-extra.workspace = true
tower.workspace = true
tower-http.workspace = true
tokio.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
utoipa.workspace = true
utoipa-axum.workspace = true
utoipa-swagger-ui.workspace = true
chrono.workspace = true
uuid.workspace = true
dotenvy.workspace = true
thiserror.workspace = true