Connect all CRM pages to the BFF and CRM service, add module docs, and mark CRM available in the SuperApp catalog. Co-authored-by: Cursor <cursoragent@cursor.com>
3.0 KiB
3.0 KiB
CRM Routing Map
Date: 2026-07-26
Pattern: Thin app/crm/**/page.tsx → modules/crm/features/**
Root
| Route | File | Module export |
|---|---|---|
/crm |
— | Redirect via hub link |
/crm/hub |
app/crm/hub/page.tsx |
CrmHub from pages/hub |
Sales portal layout
app/crm/sales/layout.tsx → createPortalLayout("sales")
Sales routes
| URL | Feature module |
|---|---|
/crm/sales/dashboard/overview |
features/sales/dashboards → OverviewDashboard |
/crm/sales/dashboard/sales |
SalesDashboard |
/crm/sales/dashboard/pipeline |
PipelineDashboard |
/crm/sales/dashboard/leads |
LeadDashboard |
/crm/sales/dashboard/activities |
ActivityDashboard |
/crm/sales/dashboard/calendar |
CalendarDashboard |
/crm/sales/customers |
features/sales/customers |
/crm/sales/companies |
features/sales/companies |
/crm/sales/contacts |
features/sales/contacts |
/crm/sales/leads |
features/sales/leads |
/crm/sales/deals |
features/sales/deals |
/crm/sales/kanban |
features/sales/kanban |
/crm/sales/pipelines |
features/sales/pipelines |
/crm/sales/quotes |
features/sales/quotes |
/crm/sales/activities |
features/sales/activities |
/crm/sales/tasks |
features/sales/tasks |
/crm/sales/meetings |
features/sales/meetings |
/crm/sales/calls |
features/sales/calls |
/crm/sales/emails |
features/sales/emails |
/crm/sales/notes |
features/sales/notes |
/crm/sales/timeline |
features/sales/timeline |
/crm/sales/documents |
features/sales/documents |
/crm/sales/campaigns |
features/sales/scoped → CampaignsPage |
/crm/sales/segments |
SegmentsPage |
/crm/sales/tags |
features/sales/tags |
/crm/sales/custom-fields |
features/sales/custom-fields |
/crm/sales/import |
ImportPage |
/crm/sales/export |
features/sales/export |
/crm/sales/reports |
features/sales/reports |
/crm/sales/analytics |
features/sales/analytics |
/crm/sales/automation |
AutomationPage |
/crm/sales/notifications |
features/sales/admin → NotificationsPage |
/crm/sales/roles |
RolesPage |
/crm/sales/permissions |
PermissionsPage |
/crm/sales/integrations |
IntegrationsPage |
/crm/sales/api-keys |
ApiKeysPage |
/crm/sales/audit-logs |
AuditLogsPage |
/crm/sales/settings |
SettingsPage |
/crm/sales/health |
HealthPage |
/crm/sales/capabilities |
CapabilitiesPage |
Segment files (each route)
Every route directory includes:
page.tsx— re-export onlyloading.tsx—LoadingStateerror.tsx—ErrorState+ reset
Root: app/crm/layout.tsx, app/crm/not-found.tsx
BFF
| Browser path | Upstream |
|---|---|
/api/crm/* |
CRM_SERVICE_URL / localhost:8003 |
Generator
Regenerate routes: node scripts/generate-crm-routes.mjs