platform-main — project dependency graph
The Helpdesk app is where the 13 modules do real work together. This page
shows how its five projects depend on each other and on the modules: only
the Angular app reaches into NgRx, it shares only a contract of types and
rules with the API (its in-browser demo also reuses the back end's
services), and the end-to-end suite stands on top of both. Every edge below
was counted from the projects' own
import statements on 2026-10-10. The
module dependency graph shows how
the modules depend on each other.
helpdesk, the
front end above, not by the contract or the back end: 10 runtime modules
in its code, 2 tooling modules without an import
| Dependency | helpdesk | helpdesk-api | helpdesk-server | helpdesk-contract | helpdesk-e2e |
|---|---|---|---|---|---|
| Helpdesk projects | |||||
| @helpdesk/contract | ✓ | ✓ | ✓ | — | ✓ |
| @helpdesk/server | demo only | ✓ | — | — | — |
| NgRx runtime modules | |||||
| @ngrx/store | ✓ + testing in specs | — | — | — | — |
| @ngrx/effects | ✓ + testing in specs | — | — | — | — |
| @ngrx/signals | ✓ + rxjs-interop, entities | — | — | — | — |
| @ngrx/operators | ✓ | — | — | — | — |
| @ngrx/data | ✓ | — | — | — | — |
| @ngrx/component | ✓ | — | — | — | — |
| @ngrx/store-devtools | ✓ | — | — | — | — |
| @ngrx/router-store | ✓ | — | — | — | — |
| @ngrx/entity | ✓ | — | — | — | — |
| @ngrx/component-store | ✓ | — | — | — | — |
| NgRx tooling, used without an import | |||||
| @ngrx/eslint-plugin | lint config | — | — | — | — |
| @ngrx/schematics | generated code | — | — | — | — |
helpdesk-server's real
services and runs them against PGlite, with no server at all
helpdesk-server
helpdesk and helpdesk-api
@ngrx/* and
@helpdesk/* import in each project's source, with specs counted
separately (that is where store/testing and
effects/testing appear). The two tooling modules show up
nowhere in the code: eslint-plugin is loaded by the app's
eslint.config.mjs, and schematics generated the
landing page's state once (nx g @ngrx/schematics:entity). Three
pieces planned for the app were never needed and aren't imported:
concatLatestFrom, router-store/data-persistence
and signals events.