Frontend overview
Frontend overview (CAP RPL)
Section titled “Frontend overview (CAP RPL)”Audience: frontend
Status: idea
Owns: frontend
Depends on: Experience flows, API overview, Domain entities
App code is not started. This page reserves the frontend lens: routes and reusable UI must reference UX and OpenAPI—do not duplicate lifecycle tables here; link the lifecycle.
Intended app areas (route map stub)
Section titled “Intended app areas (route map stub)”| Area | Personas | UX flows | API groups |
|---|---|---|---|
| Auth | All | Account & identity | Auth (OL: login, password, prefs, delete-account) |
| Onboarding / persona | Candidate, Assessor, … | Personas | Onboarding |
| Settings | All | Personal / centre settings | Account (GET/PATCH /me/profile — render photo.url / occupation / accessibility from CAP GET; upload photo via OL storage then PATCH photoAssetId); Centres profile/pricing (super_admin — render logo.url from CAP GET, PATCH still logoAssetId); candidate/assessor/centre profile GETs nest onboarding; OL notifications/preferences |
| Platform admin | Platform staff | Catalogue, orgs, payments, config, dashboard | Admin (GET /admin/dashboard, GET /admin/centres/summary, catalogue, centres list/detail with owner admin.photo, unused centre/assessor delete, GET /admin/assessors/{id} personalDetails, payments, GET/PATCH /admin/platform-config) |
| Candidate application | Candidate | Application happy path | Applications (candidate.photo + facilitator on list/detail) |
| Payment | Candidate, Centre super_admin | Pay centre; centre payments page | Payment |
| Evidence | Candidate, Facilitator | Evidence | Evidence |
| Interview / appeal | Candidate, Panel / lead | Interview | Interview (panel, schedule, evaluate, lead form PUT, candidate form signoff, appeal) |
| Centre console | Centre admin/staff | Centre flows | Centres (dashboard, applications summary, payments, profile, pricing, assessor roster, job occupancy/close/applicants, retained review), Applications list, Interview schedule GET/POST; chat on Orchestrator |
| Assessor / EV | Assessor | Assessor console + assigned work | Assessor (/assessor/summary, /events, /assessor/profile + nested onboarding, applications, centres), Applications, Evidence, Interview |
| Awarding body | Awarding body | Certificate | Applications / Certificate |
| Recommendations | Candidate | Gap training path | Recommendations |
Refine paths when the app scaffold exists.
Reusable UI (categories stub)
Section titled “Reusable UI (categories stub)”| Category | Examples (placeholders) | Driven by |
|---|---|---|
| Auth forms | Login, OTP, reset | Experience auth flows |
| Application status | Stage/status display | Lifecycle codes from API |
| Evidence | Upload / group by evidenceType / feedback chat (no nested folder CRUD) |
Evidence Vault + trades evidence-types |
| Payment | Pay centre | Payment flow |
| Scheduling | Interview booking | Interview flow |
| Recommendations | Course list | Recommendations API |
Prefer design-system primitives once chosen; name components after domain or UX concepts, not backend table names.
- Implement against API overview / future OpenAPI.
- Screen copy and steps follow Experience flows.
- Status labels use shared stage/status codes from the domain.