Technical overview
These pages are for developers and maintainers. Day-to-day clinic users can ignore this section.
Stack
| Layer | Technology |
|---|---|
| App | Next.js (App Router) + TypeScript + React + ShadCN UI |
| Link & settings storage | Upstash Redis |
| File destination | Microsoft Graph / OneDrive |
| Auth | Microsoft Entra ID (MSAL) with PKCE; signed HttpOnly cookies |
| Azure Communication Services | |
| Optional on Vercel | Vercel Blob for durable OneDrive token cache |
Surfaces
| Surface | URL | Users |
|---|---|---|
| Parent upload portal | / via /portalaccess/{token} | Parents / caregivers |
| Admin console | /setup | Allowlisted Microsoft accounts |
| Public info | /info, /privacy, /tos | Anyone |
Key modules in the application repo
| Path | Responsibility |
|---|---|
lib/server.ts | Redis, config, links, MSAL/token cache, cookies, Graph helpers |
lib/upload.ts | Browser upload orchestration |
lib/email.ts | ACS send helper |
lib/appConfig.ts | Shared types and defaults |
lib/uploadFilename.ts / lib/age.ts | Naming and age math |
components/uploadArea.tsx | File picker / upload controls |
app/setup/page.tsx | Admin console |
Continue with Architecture or API reference.
Last updated on