Skip to content

Developer view · drbharada-website

Exit developer view
Files

content/work/enterprise-case-management.mdx

Open as page
---title: Enterprise case management platformslug: enterprise-case-managementrole: Frontend Developerperiod: Feb 2026 – Presentcompany: Hashbytorder: 1summary: Migrating an enterprise case management platform from AngularJS to Angular 20, and building two of its core modules end to end.stack:  - Angular 20  - Standalone components  - Signals  - NgRx Signals  - AG Grid Enterprise  - Typed reactive forms  - ng-select  - RxJS  - TypeScript  - REST APIsresults:  - Legacy AngularJS screens moved to Angular 20 standalone components with Signal-based state.  - "Task tracking module delivered end to end: typed API service, NgRx Signals store, server-side AG Grid and personal/team views."  - Filter preferences saved per page, so users come back to the views they set up.  - "Communication handled inside the platform: threaded emails, templates, attachments and delivery tracking."cover: tablecapabilities:  - modernisation  - dashboardsindustry: complaints-claims--- ## Problem The platform's case handling screens were written in AngularJS, which is past end of life. They needed to move to modern Angular without losing functionality, while the backend REST APIs were being migrated at the same time. The list screens hold large volumes of records, so paging and filtering had to happen on the server. ## What I built - Migrated case handling screens to Angular 20 standalone components with Signal-based state.- Built a task tracking module end to end: a typed API service, an NgRx Signals store, and an AG Grid list with server-side pagination, filters, custom cell renderers and personal/team views.- Added saved filter preferences for each page.- Built a communications module with threaded emails, templates, attachments and delivery tracking.- Built complex typed reactive forms: multi-step workflows with `FormArray`, async ng-select search, custom field validators and a rich-text editor implemented as a `ControlValueAccessor`.- Integrated the migrated backend REST APIs, working closely with the backend team. <Diagram title="Task tracking data flow">  <Layer name="View" detail="AG Grid list, filters, personal/team views" />  <Layer name="Store" detail="NgRx Signals store, saved filter prefs" />  <Layer name="Service" detail="Typed API service" />  <Layer name="API" detail="REST with server-side pagination" /></Diagram>
⎇ developMDX50 linesRepo fileSite updated 18 Oct 2026