Skip to main content
Stralos is a polyrepo platform made from a React shell, feature packages, service APIs, shared packages, and Terraform-owned infrastructure.

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-ui for UI contracts/components and stralos-domain for 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.