You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Monorepo layout for Aspire orchestration, the SvelteKit frontend, and .NET backend projects.
tags
layout
resource
HelpDesk.slnx
Code Map
Layout
HelpDesk/
├── frontend/
│ ├── src/lib/server/api/ # server-only typed backend clients and JWT cookie helper
│ ├── src/lib/api/generated/ # generated OpenAPI TypeScript declarations
│ ├── openapi/ # committed backend API snapshots
│ └── scripts/openapi.mjs
├── backend/
│ ├── AppHost/ # Aspire local full-stack orchestrator
│ ├── Deployment/ # production backend PID 1 launcher + volume seed
│ ├── Common/{StorageProvider,Tools}/
│ ├── Contracts/{UserIdentity,UserProfile,Notifications}/
│ └── Services/{UserIdentity,UserProfile,Notifications}/
├── compose.yaml # production Caddy edge and private service topology
├── Caddyfile # automatic HTTPS and BFF reverse proxy
├── deploy/helpdesk.service.in # systemd unit template for Podman boot start
├── scripts/{deploy-init,deploy,install-host-service}.sh
├── {backend,frontend}/Dockerfile
├── .env.example # production variable template; no real secrets
├── DEPLOYMENT.md # VPS/Caddy/Podman host-service playbook
├── HelpDesk.slnx
├── package.json
└── pnpm-workspace.yaml
compose.yaml, root .env.example, root scripts/ (deploy tooling), Dockerfiles, and backend/Deployment/ are production-only artifacts. They do not replace Aspire local orchestration. Service-level Properties/launchSettings.json and frontend/.env.example remain removed/obsolete; the AppHost launch settings are active IDE configuration.
Orchestration
Path
Contents
backend/AppHost/HelpDesk.AppHost.csproj
Aspire 13.4.6 executable and resource package references
backend/AppHost/Program.cs
Sole supported local full-stack graph: MongoDB, three services, Vite, references, waits, and injected API origins
backend/AppHost/Properties/launchSettings.json
Rider/.NET HelpDesk.AppHost Development launch profile
Snapshot/type workflow; live commands require explicit Aspire-derived URLs
Registration, email-verification, login, forgot/reset password, logout (shell menu → POST /logout), profile view/edit (including picture upload/delete), and signed-in shell chrome (name/avatar account menu) exist.
Entry points and endpoints
Resource
Entry
Local endpoint behavior
AppHost
backend/AppHost/Program.cs
Aspire dashboard and resource lifecycle
Frontend
frontend/ Vite/SvelteKit
Aspire-assigned during full-stack run; Playwright preview remains 4173
UserIdentity
backend/Services/UserIdentity/Program.cs
Aspire-assigned HTTP endpoint
UserProfile
backend/Services/UserProfile/Program.cs
Aspire-assigned HTTP endpoint
Notifications
backend/Services/Notifications/Program.cs
no public HTTP endpoint
MongoDB
Aspire mongodb resource
ephemeral authenticated standalone container
Read dynamic application endpoints from the Aspire dashboard. MongoDB uses fixed development port 27017 so direct test commands can share the Aspire-managed resource.
Sibling library sources
Outside this monorepo (paths relative to HelpDesk root):
Library
Path
FastEndpoints
../FastEndpoints/
MongoDB.Entities
../MongoDB.Entities/
These are inspection sources, not in-solution project references.