What is running, which version, why this choice, and what was rejected. Every entry links to the canonical source — usually package.json, docker-compose.yml, or an ADR.
This is a reference, not a tutorial. For a hands-on walk-through of the running stack, see ../onboarding/day-one.md. For trade-off discussions, follow the ADR pointers.
Wired into compose (vhost ft, port 5672 + UI 15672) but only to the stubbed Fast Track producer (apps/api/src/fast-track/rabbitmq/fast-track.rmq.module.ts:8 returns disabled = true). Receives zero traffic until the stub is removed.
Declared in ebit-api/nest-cli.json; each has its own apps/<name>/, main.ts, and tsconfig.app.json. Shared logic lives under libs/ and is imported via TS path aliases.
App
Port
Role
api
4000
Public + admin REST, Swagger at /swagger
rt
4001
socket.io /events namespace, websocket-only
bj
4002
Blackjack server — architecturally orphaned (no in-repo FE calls it; dropbet hits api's house-game endpoints instead). See architecture.md §Known debt.
Replaced Next.js — admin doesn't need SSR; SPA build is simpler and faster.
React
19.x
Brought in with the Vite migration.
TanStack Router
1.x
File-based routing under src/routes/ (replaces Next App Router groups).
Tailwind CSS
4.x
Utility-first; via @tailwindcss/vite.
no i18n
—
Single-language admin.
Admin-fe migrated from Next.js 14 → Vite + React 19. Known integration bugs around post-login auth and cross-service tracing still apply — see architecture.md §Known debt and the dedicated handover note. SSR-specific bugs no longer apply (no SSR in a Vite SPA).
Stack-level gaps that block production, by component:
Trace propagation across @ExternalControllerClient (Redis pub/sub microservice transport) — three-hop speed-roulette flows surface as three uncorrelated traces in Jaeger. See ADR-0005 and ../audits/perf-trace-coverage-audit.md.
ebit-bj orphan — port 4002 is exposed by compose but no in-repo client reaches it; dropbet's blackjack uses apps/api/src/casino/house/blackjack/. Disposition (delete vs proxy) is open.
RabbitMQ stub — Fast Track module returns disabled = true; broker receives zero traffic. See ADR-0003.
EvoLogger / winston records reach Loki only via the filelog scrape, not OTLP — distinguished by source=docker_filelog. Trace-correlation fields are present but service.name resource attribute is missing on this path. See ADR-0007.
ebit-admin-fe cross-service tracing is broken — three stacked bugs (cookie name mismatch, silent middleware fall-through, missing @vercel/otel) prevent successful post-login SSR. See architecture.md §Known debt.