Files
task-stream/libs/web/tracker/application
Josep Piguillem 8fe581ff3e feat: a dashboard for clients, behind a secret link
Owners and admins turn it on in Configuración → General, pick what it
shows (tickets per status, the sprint under way, release forecasts,
open epics and activity per day) and can renew or drop the link. Whoever
has it sees /share/{token} without an account: only those blocks, no
people nor single tickets but the epics, no links into the app, read
again every minute. A renewed or dropped link says it no longer works.

REST (GET/PUT/DELETE /api/projects/{project}/share and the public
GET /api/shared/dashboards/{token}) and GraphQL (dashboardShare,
shareDashboard, unshareDashboard, sharedDashboard). The token is kept
in dashboard_shares and goes with the project.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 10:39:26 +02:00
..
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00

web-tracker-application

Estado del tracker (NgRx Signals con eventos) detrás de facades.

  • Import: @task-stream/web/tracker/application
  • Capa: application · Tags: scope:web-tracker, type:application

Contenido

  • Facades (lo que se exporta): ProjectsFacade y HomeFacade («Mi trabajo») (raíz) y ProjectFacade, BoardFacade, IssueFacade (de ruta, con provideProjectFacade(), provideBoardFacade(), provideIssueFacade()). Tests en facades/facades.spec.ts.
  • ExploreFacade (raíz): proyectos públicos, también sin sesión.
  • ProjectFacade también da la visibilidad (setPublic) y el borrado (deleteProject, vuelve a la portada; y si otro lo borra, también), y la configuración del proyecto (workflow, saveSettings) y sus estadísticas (loadAnalytics, loadBurnup).
  • Interno: stores ProjectsStore, ProjectStore, HomeStore, BoardStore, IssueStore y eventos por origen (*PageEvents, *ApiEvents, *RealtimeEvents).
  • board.reducers.ts: transformaciones puras del tablero (movimiento optimista, cambios en vivo por versión).
  • Puerto Notifications.

Patrón de eventos: Cliente web.

Comandos

npx nx lint web-tracker-application
npx nx test web-tracker-application    # Vitest

Reglas de dependencia entre capas: Arquitectura.