Main layers
- Shell: login UI, auth/session storage, route guard, navigation, workspace chrome slots, and feature route registration.
- Feature packages: dashboard, rates, activities, scheduler, workforce, fleet, estimate, project schedule, project settings, workspace, organisation, and assistant.
- Shared packages:
stralos-uifor UI contracts/components andstralos-domainfor domain types/calculations. - Service APIs: global, rates, activities, estimate, documents, and scheduler.
- Core infrastructure: VPC, subnets, NAT, shared application security group, RDS, and SSM connection parameters.
Composition today
The shell is a Module Federation host. Every shell build loads feature remotes from its runtime manifest; there is no static-composition path. See Micro-frontends and Deployment.Runtime contracts
- Project context is carried through URLs such as
/projects/:projectId/.... - Feature clients attach
Authorization: Bearer <token>from the shell’s browser storage contract. - API base URLs can be supplied by Vite env vars, runtime
window.__STRALOS_API_URLS__, or support-only localStorage overrides. The shell, Activities, Dashboard, Estimate, Rates, Scheduler, Workforce, Fleet, Project Schedule, and Project Settings clients use the serving origin as their production-browser terminal fallback; Vite development and non-browser contexts retain module-specific localhost defaults. - Subcontractor portal routes are treated separately from the main authenticated shell frame.

