How hmcts/cath-service works
This repository appears to implement a court hearing-list publication service within a larger HMCTS monorepo: people browse and download lists, while administrators manage publication-related data and media applications. The tree also shows authentication, subscriptions, notifications and system administration. Sampled code confirms web/API route mounting, user and application persistence, blob storage, publication generation and notification behavior; it does not show the full publication entry point or how page controllers call APIs, so those links are omitted.
Main entry points: app.ts Web application · notification-service.ts Subscription notifications · postgres PostgreSQL · (public) Public pages
Components 22
Web experience
- Web application
apps/web/src/app.ts - Public pages
apps/web/src/pages/(public) - Hearing-list pages
apps/web/src/pages/(list-types) - Authentication pages
apps/web/src/pages/(auth) - Web API routes
apps/api/src/routes - API application
apps/api/src/app.ts
Publication workflow
- Publication processing
libs/publication/src/processing/service.ts - Excel file storage
libs/excel-generation/src/file-storage/file-storage-service.ts - Subscription notifications
libs/notifications/src/notification/notification-service.ts
Administration
- Admin pages
apps/web/src/pages/(admin) - System admin pages
apps/web/src/pages/(system-admin) - Upload staging
libs/admin-pages/src/manual-upload/storage.ts - Media applications
libs/public-pages/src/media-application/repository/query.ts - ID proof storage
libs/public-pages/src/media-application/storage.ts
Persistence and services
- Account repository
libs/account/src/repository/query.ts - PostgreSQL
apps/postgres - Redis
- Azure blob storage
- Email delivery
Other components
- Public user
- Media applicant
- Administrator
Connections 24
- Public user → Web application: browses
- Media applicant → Web application: applies
- Administrator → Web application: administers
- Web application → Public pages: mounts pages
- Web application → Hearing-list pages: mounts pages
- Web application → Authentication pages: mounts pages
- Web application → Admin pages: mounts pages
- Web application → System admin pages: mounts pages
- Web application → Web API routes: mounts routes
- API application → Web API routes: mounts routes
- Publication processing → Excel file storage: stores Excel
- Publication processing → Subscription notifications: dispatches notices
- Subscription notifications → Email delivery: sends email
- Subscription notifications → Azure blob storage: downloads files
- Subscription notifications → PostgreSQL: reads subscriptions
- Subscription notifications → PostgreSQL: updates status
- Excel file storage → Azure blob storage: uploads files
- Upload staging → Redis: stages uploads
- Admin pages → Upload staging: stages files
- Public pages → Media applications: creates applications
- Media applications → PostgreSQL: writes application
- Public pages → ID proof storage: saves ID proof
- ID proof storage → Azure blob storage: uploads proof
- Account repository → PostgreSQL: reads and writes users