← Back to insightsInsight article

AngularJS to Angular migration driven by E2E testing

A low-risk way to modernize a legacy AngularJS interface and consolidate backend APIs while preserving business logic.

For small public-sector organizations, legacy dashboards often sit on top of 10 to 15 fragmented backend APIs. The temptation is to rewrite the frontend and backend all at once, which often leads to massive disruptions. Instead, we took an incremental, test-driven approach to migrate from AngularJS to a modern Angular stack.

  • Used Playwright for end-to-end testing from day one. By establishing tests on the legacy application early, we ensured the new Angular screens behaved exactly the same, feature by feature, without needing complex module federation.
  • Consolidated the backend architecture. Rather than just upgrading the UI, we combined 15 disparate APIs into a single, unified API surface to make the dashboard easier for small teams to manage.
  • Migrated one screen and one API at a time. We deployed iteratively—sometimes just updating the frontend first—until the entire system was transitioned into one clean, unified project.

What matters most

Modernization isn't just about changing frameworks. By wrapping the legacy application in robust Playwright tests, you can safely restructure both the Angular frontend and the backend API incrementally until legacy drag is completely eliminated.

If you want a deeper conversation about the tradeoffs behind work like this, reach out and we'll talk through the options.