Files
yellow-bank-soal/FRONTEND_MIGRATION_CUTOVER.md
2026-06-20 01:43:39 +07:00

1.5 KiB

Frontend Migration Cutover Notes

Route Ownership

  • React owns browser-facing admin routes under /admin/* and student routes under /student/*.
  • FastAPI owns JSON APIs under /api/v1/*.
  • The legacy Python admin remains available as fallback until React parity smoke tests are accepted.

Local Development

  • React Vite dev server: http://127.0.0.1:5173
  • Backend API root: http://localhost:8000/api/v1
  • Frontend API config should keep VITE_API_URL pointed at the FastAPI v1 root.
  • System-admin tokens may be global with website_id: null; React sends X-Website-ID only when the website selector has an explicit website.

Cutover Guardrails

  • Do not disable the legacy admin until React covers import, snapshot promotion, question detail, AI review, reports, normalization, settings, and student session smoke tests.
  • Avoid adding new frontend calls to legacy or nonexistent API paths. New React API calls should map to OpenAPI paths.
  • Website-scoped React Query keys must include the selected website ID and should be gated until a website is selected.
  • Any page rendering question HTML must use the shared SafeHtml component.

Smoke Coverage Used During Migration Fix

  • Admin dashboard
  • Global questions list and question detail
  • Data overview hierarchy
  • AI review, variants, and run history
  • Excel import
  • Tryout questions, snapshot promotion, settings, normalization, and AI workspace
  • Student tryout list, session start, next item, answer submission, completion, and result summary