← All projects

Web

Angular dashboard

Two dashboard views, compared with the React version.

Done Sprint S32 · 8 points
In short, no jargon for non-developersRead the summaryClose
What it is
The same dashboard rebuilt with another tool, Angular, and the two versions compared with figures.
What it is for
To choose a tool knowingly rather than out of habit.
What it shows
Moving from one web tool to another and comparing their strengths, with figures to back it up.
Live demoSource code

How the pieces fit together

Diagram: JSON API → Dashboard (httpResource) ; Shared code → Dashboard ; Dashboard → Views ; Tests → Dashboard (check) ; React dashboard → Shared code. httpResource check JSON API the same as React's Dashboard Angular, signals Shared code api.ts, model.ts, i18n.ts Views fragment router Tests Jest, Cypress React dashboard projects/react

React and Angular, measured side by side

Two views of the React dashboard (Projects and Results), rebuilt in Angular on the same static JSON API. Types, computations, chart scales, texts and styles are shared: only the framework changes, and the comparison is about it.

Open the Angular dashboardThe React dashboard

MeasureReactAngular
VersionReact 19.3.0Angular 22.2.1
Loaded on opening, compressed79.7 kB90.6 kB
Production build (median of 3)1.4 s5.2 s
Lines of framework code (the two views and their frame)499546
Unit and integration tests4011
npm packages installed, tooling included157936

Measured by projects/angular/scripts/compare.mjs on 2026-10-07 on Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz. Shared code, counted apart: 582 lines. The React load also covers the Sprints view, without the 3D viewer (loaded on demand); its tests cover its four views; the Angular packages include Jest and Cypress. Both builds check types.

What really changes

Tech stack

  • Angular
  • TypeScript
  • Jest
  • Cypress

Who does what

Angular
Two dashboard views as standalone signal-based components, without zone.js, with httpResource and the router.
TypeScript
The types, computations and texts shared with the React dashboard.
Jest
Unit tests, and integration tests on the site's real API.
Cypress
End-to-end tests: languages, themes, accessibility, 375 px wide.

Definition of Done

  • Code reviewed, diff by diff
  • Unit and integration tests green
  • Green CI on Linux, Windows and macOS when compiled
  • README, REVIEW.md and DECISIONS.md up to date
  • Texts in French and English
  • Demo deployed and tested on mobile