Stack comparison

Different runtimes, one integration problem.

The point is not that one backend stack wins everywhere. The point is that identity integration work often crosses several ecosystems.

Track Why it matters Portfolio signal
Angular / TypeScript Visible browser harness for redirects, callback state, typed API responses and protocol handoffs. Frontend expertise connected to identity and backend integration.
NestJS / Node.js TypeScript API lane for DTO contracts, Swagger visibility and SAML-style endpoint experiments. Backend API literacy close to the frontend type system.
ASP.NET Core / .NET 8 Typed controllers, OpenAPI output, request/response models and certificate-aware helper placement. C# service design awareness beyond frontend implementation.
Java / Spring SOAP/WSDL clients, CXF/JAX-WS generation, XML security and OpenSAML-oriented flows. Ability to work with older enterprise integration stacks.
SAML / certificates / XML AuthnRequest, callback/artifact handling, signing, canonicalization and protocol validation complexity. Security-aware debugging and protocol literacy.

How the tracks complement each other

Angular makes browser-visible behavior testable, NestJS keeps a TypeScript-oriented API path close to the frontend, .NET provides a strongly typed backend and OpenAPI workflow, and Java remains important for SOAP/WSDL, CXF and XML security ecosystems. The case study is about evaluating those layers together instead of treating the frontend as isolated from the integration stack.

Where Angular still matters

The browser is where redirects, form posts, callback timing and user visible errors meet. The Angular layer is therefore used to inspect behavior across backend variants, not merely to render a polished UI.

Where backend choice matters

Library maturity, generated-client workflows, XML security support, OpenAPI output and debugging ergonomics differ across Node, .NET and Java. Comparing them makes the integration work more concrete.