Skip to main content

Frontend Modules

Canonical frontend module root:

apps/webapp/src/modules

Current modules:

  • auth
  • billing
  • escrow-chain
  • groups
  • payments
  • reputation
  • shared
  • tasks

Module contract

From apps/webapp/src/modules/README.md:

modules/<feature>/
api/
hooks/
components/
types/
index.ts

Rules

  • Keep apps/webapp/src/app/* route files as composition/orchestration layers.
  • Prefer module APIs and hooks for feature behavior.
  • Use @/modules/<feature> public exports for cross-module imports.
  • Treat src/services/* and src/hooks/* as compatibility shims unless no module equivalent exists.
  • Use apps/webapp/src/modules/shared/http/client.ts for shared API/auth helpers.

Important frontend paths

  • apps/webapp/src/app — Next.js routes.
  • apps/webapp/src/app/api/v1/[...path]/route.ts — API proxy path.
  • apps/webapp/src/app/auth/* — login, callback, refresh, logout, Supabase session routes.
  • apps/webapp/src/services/api.ts — shared API client/auth refresh logic.
  • apps/webapp/src/lib/oidc.ts — OIDC helpers.
  • apps/webapp/src/lib/supabaseClient.ts — browser Supabase client.