Appearance
Retiring staff/UI (teams app)
Status: completed (repo cleanup). staff/UI/ was removed from the repo. Local archive (optional): d:\Client\Beentara-staff-ui-archive-2026-09-20.zip (source only, no node_modules).
Full index: unified-app-summary.md
Phase 1 — Go-live (before touching the folder)
| # | Check | How to verify |
|---|---|---|
| 1 | Manual sign-off | Fill table in unified-app-go-live.md |
| 2 | Production smokes | SMOKE_API_BASE=… ADMIN_URL=… npm run verify:unified-staging |
| 3 | Staff login works | Staff tab on /login → /dashboard with correct menu |
| 4 | Both hostnames | beentara.com and teams.beentara.com serve same Admin/build |
| 5 | Build guard | npm run build:admin passes (API URL not localhost) |
| 6 | Backend deployed | M6–M21 routes live (task-list, archives, notes, unified /task/*) |
Phase 2 — Decommission hosting (stop deploy, keep folder)
| # | Action | Notes |
|---|---|---|
| 1 | Stop production deploy | Remove Plesk app / vhost / CI job that builds staff/UI |
| 2 | DNS | teams.beentara.com → same static host as beentara.com (not a second artifact) |
| 3 | Dev default | New work: npm start --prefix Admin (:3000), not staff/UI (:3001) |
| 4 | Internal docs | Update runbooks that mention npm start --prefix staff/UI or port 3001 for staff |
| 5 | Monitor | No 404 spikes on legacy staff API aliases (Backend logs) |
| 6 | Wait | 2–4 weeks unified-only in production before Phase 3 |
Rollback during Phase 2: redeploy last known staff/UI build to teams host (see Rollback below).
Phase 3 — Archive & delete folder (after waiting period)
3a. Local archive (recommended)
powershell
# From repo root — local backup only (project local-only policy)
Compress-Archive -Path staff\UI -DestinationPath ..\Beentara-staff-ui-archive-$(Get-Date -Format yyyy-MM-dd).zip- [x] Archive zip:
d:\Client\Beentara-staff-ui-archive-2026-09-20.zip(~8 MB, source only) - [x] Folder deleted from repo
3b. Delete staff/UI/
Remove the entire directory:
staff/UI/Expected size: full CRA app (src/, public/, package.json, node_modules/ if present).
3c. Repo references cleaned up ✅
| File | Done |
|---|---|
package.json (root) | sync:staff-shared removed; sync:frontend → sync:rbac |
scripts/sync-staff-shared-frontend.js | Deleted |
scripts/warn-staff-ui-deprecated.mjs | Deleted |
scripts/sync-rbac-catalog.js | Staff UI output removed |
qa-tests/crm-audit.mjs | STAFF_URL defaults to Admin (:3000) |
Extras/* runbooks | Updated to unified Admin |
Do not delete yet (even after Phase 3):
| Keep | Why |
|---|---|
docs/architecture/* | Migration history |
| Backend legacy API aliases | Bookmarks / old clients (/task/stafftask, /leads/staff, …) |
Admin/ | Canonical app |
3d. Verify after deletion
bash
npm run sync:rbac
npm run verify:unified-cutover:wait- [x] No active scripts reference
staff/UI(docs/history comments only)
Phase 4 — Optional later (separate commits)
| # | Item | When |
|---|---|---|
| 1 | Drop Backend legacy staff URL aliases | Access logs show zero traffic for 30+ days |
| 2 | Trim migration docs | Keep summary; archive milestone detail if desired |
| 3 | Remove STAFF_URL env from qa-tests | When all probes use ADMIN_URL only |
Canonical development
| Change | Edit |
|---|---|
| Menu / RBAC paths | Admin/src/config/appMenu.js, Backend/utils/rbacCatalog.js → npm run sync:rbac |
| Staff + admin UI | Admin/ only |
| API consolidation | docs/architecture/api-consolidation.md |
Rollback
Redeploy last known good staff/UI build to teams host; revert DNS if split-host was restored. Unified Admin can stay on beentara.com.