Introduces modules/hospitality with 54 routes, BFF proxy, capability-gated nav, CRUD factory, and architecture validation docs. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
# `frontend/modules/`
|
|
|
|
**Status:** Scaffold — business modules not migrated yet
|
|
**Phase:** Migration Phase 1 (shared architecture creation)
|
|
|
|
## Purpose
|
|
|
|
Future home for **self-contained business module packages**. Each module will own its routes (via `app/` re-exports or colocated route adapters), components, hooks, API client, and types — without importing sibling modules.
|
|
|
|
## Current state
|
|
|
|
| Module | Status | Location |
|
|
|--------|--------|----------|
|
|
| **beauty** | ✅ Migrated | `modules/beauty/` — see [beauty-migration-report.md](../docs/beauty-migration-report.md) |
|
|
| **hospitality** | ✅ Migrated | `modules/hospitality/` — Torbat Food |
|
|
| accounting | Legacy | `components/accounting/`, `lib/accounting-api.ts` |
|
|
| healthcare | Legacy | `components/healthcare/`, `lib/healthcare-api.ts` |
|
|
| admin | Legacy | `components/admin/` |
|
|
|
|
Business modules not yet migrated remain in legacy paths until their migration phase:
|
|
|
|
| Module ID | Route prefix | Legacy component root | Legacy API client |
|
|
|-----------|--------------|----------------------|-------------------|
|
|
| accounting | `/accounting` | `components/accounting/` | `lib/accounting-api.ts` |
|
|
| beauty | `/beauty` | `components/beauty/` | `lib/beauty-business-api.ts` |
|
|
| healthcare | `/healthcare` | `components/healthcare/` | `lib/healthcare-api.ts` |
|
|
| admin | `/admin` | `components/admin/` | `lib/api.ts` |
|
|
|
|
CRM and other future modules will be scaffolded here when added.
|
|
|
|
## Planned structure (per module)
|
|
|
|
```
|
|
modules/
|
|
└── {module-id}/
|
|
├── README.md # Module ownership and boundaries
|
|
├── components/ # Module-only UI (portals, pages, DS)
|
|
├── hooks/ # Module-only hooks
|
|
├── api/ # Module API client (split from lib/)
|
|
├── types/ # Module TypeScript types
|
|
└── constants/ # Nav configs, feature flags
|
|
```
|
|
|
|
## Import rules
|
|
|
|
- Modules **MAY** import from `shared/` and platform utilities (`lib/auth.ts`, `lib/utils.ts`).
|
|
- Modules **MUST NOT** import from other `modules/*` or legacy `components/{other-module}/`.
|
|
- `app/{module}/` routes stay unchanged during Phase 1; they continue importing legacy paths.
|
|
|
|
## Related docs
|
|
|
|
- [../docs/frontend-architecture.md](../docs/frontend-architecture.md)
|
|
- [../docs/module-boundaries.md](../docs/module-boundaries.md)
|