Appearance
M5 — Staff / Admin parity & cutover
Route parity (staff App.js → unified Admin)
| Staff path | Unified Admin | Notes |
|---|---|---|
/ (home) | /dashboard | RootHome redirects logged-in users |
/plan | /saas/subscription | Legacy redirect (staff subscription page) |
/follow-ups | /crm | Same as staff app |
/calendar | /dashboard | Placeholder |
/marquee | /marquee | Added (was only /headline in Admin) |
/reciept | /receipt | Typo redirect |
/department | /departments | Already present |
| All other staff routes | Same path in Admin | Verified via route list compare |
Admin is a superset (SaaS, portal, super-admin, complaints, etc.). No staff-only page components missing except legacy aliases above.
Cutover checklist
0. Environment (before build)
| Surface | File | Notes |
|---|---|---|
| Unified app | Admin/.env.example → .env | REACT_APP_LINK must point at production API before npm run build --prefix Admin |
| API | Backend/.env.example | Unchanged; deploy Backend before Admin when M6 routes are new |
Local dev: REACT_APP_LINK=http://localhost:5000 + proxy target matches your Backend port.
Automated API smoke (after Backend is up):
bash
npm run smoke:unified-workspace
# or: node Backend/scripts/smoke-unified-workspace.js https://api.beentara.comCovers /healthz, admin + staff GET /task-list, staff list create/delete, GET /task/stafftask, and POST /task-history when the staff user has an assigned task.
Browser smoke: npm run unified-app:smoke — see unified-app-browser-qa.md.
Go-live sign-off: unified-app-go-live.md · npm run verify:unified-cutover
1. Deploy (one artifact)
- Build and host only
Admin/(npm run build --prefix Admin). - Point beentara.com and teams.beentara.com to the same static host or reverse proxy.
2. DNS / hosting (manual)
teams.beentara.com→ same origin asbeentara.com(CNAME or duplicate vhost).- Remove separate deploy for
staff/UIwhen satisfied with QA.
3. Auth
- Staff use Staff Login on
beentara.com/login(no external teams redirect). - Existing
/staffloginAPI and permissions unchanged.
4. QA smoke (staff test account)
- Login staff mode →
/dashboardshortcuts match permissions. - Deep-link old staff URLs:
/plan,/follow-ups,/reciept,/marquee. - Denied route → toast +
/dashboard. - Owner login → full menu + analytics dashboard tab.
5. Decommission staff/UI
See staff-ui-retirement.md (checklist, wait period, archive — do not delete immediately).
Rollback
Redeploy previous Admin build; re-enable staff app host on teams subdomain if needed. No DB migration involved.