Portals
Client Portal
Client Portal
Client routes are rooted at /client and handled primarily by ClientController.
Responsibilities
The client portal is client-scoped and covers:
- dashboard
- notifications
- projects
- project materials
- project cost codes
- timesheets
- expenses
- invoices and reports where client scope permits
- code updates in review/invoice contexts
Scope
Client Admin permissions are not platform-wide. Scope is resolved through client relationships and PortalClientScopeService. Client Admin users can configure and review records for clients/projects they are assigned to, with edit behavior constrained by TimesheetEditPolicy.
Why this controller is central
Graphify identified ClientController as the highest-degree node in the source graph. That is expected because it bridges project setup, timesheet review, invoice support, notifications, client-scoped lists, code edits, and allowance/project configuration paths.