TorbatYar/frontend/modules/README.md
Mortezakoohjani 065c053c16 Add complete Torbat Food hospitality frontend connected to backend APIs.
Introduces modules/hospitality with 54 routes, BFF proxy, capability-gated nav, CRUD factory, and architecture validation docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 20:54:26 +03:30

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)