TorbatYar/frontend/docs/communication-validation-report.md
Mortezakoohjani 10c3c43a75 feat(communication): add SMS MVP frontend with governance artifacts.
Ship the full Communication portal (real SMS API, feature-locked future channels), BFF proxy, docs, snapshot, and phase handover.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 11:11:25 +03:30

55 lines
1.7 KiB
Markdown

# Communication Frontend — Validation Report
**Date:** 2026-07-26
**Scope:** Torbat Communication frontend module
## Automated checks
| Check | Result | Notes |
| --- | --- | --- |
| TypeScript (`npm run typecheck`) | **Pass** | Zero errors |
| Production build (`npm run build`) | **Blocked** | Webpack cache ENOENT on environment; clean rebuild recommended |
| Lint | Not run | — |
## Architecture validation
| Rule | Status |
| --- | --- |
| Business code in `frontend/modules/communication/` | Pass |
| App Router thin (page/layout/loading/error only) | Pass — 46 routes |
| BFF at `/api/communication/*` → :8005 | Pass |
| Shared DS reuse | Pass |
| No mock SMS data in active pages | Pass |
## SMS integration validation
| Screen | API connected |
| --- | --- |
| Providers CRUD | `/api/v1/providers` |
| Senders | `/api/v1/providers/senders` |
| Templates | `/api/v1/templates` |
| Recipients / address books | `/api/v1/contacts/manual` |
| Contact sources | `/api/v1/contacts/sources` |
| Send / campaigns | `/api/v1/messages/send` |
| Message history / delivery reports | `/api/v1/messages`, timeline |
| Queue / DLQ | queue process + dead-letters |
| OTP | `/api/v1/otp/*` |
| Monitoring / analytics / reports | `/api/v1/monitoring/*` |
| Health / capabilities | `/health`, `/capabilities` |
## UX states
| State | SMS pages |
| --- | --- |
| Loading | loading.tsx + PageLoader |
| Empty | EmptyState in tables |
| Error | error.tsx + PageError |
| Permission | PermissionDeniedState |
| Success | toast on mutations |
## Follow-up
1. Run `Remove-Item -Recurse .next; npm run build` locally
2. Add `validate:communication-routes` script (optional)
3. Wire home dashboard link to `/communication`