Experience · Backend · Active
cs transaction api
NestJS BFF for CS Transaction Manage, delegating auth/session/role flows to platform-auth-service and subscription status to platform-payments-service while owning onboarding, ledger, transaction, series, investment and agenda APIs.
- NestJS 11
- Prisma 7
- PostgreSQL
- class-validator
- helmet
- cookie-parser
Spec sheet
Repository path
cs-transacion-manage/apps/api
Runtime
NestJS 11 BFF
Default port
3005
Public surface
Same-origin /api on transactions host
Database
transaction-postgres via Prisma 7
Responsibilities
- Expose auth, onboarding, user, relationship, counterparty, transaction, series, pay-yourself-first, investment and agenda endpoints.
- Resolve login and request sessions through platform-auth-service, then maintain product-local user profiles for ledger ownership.
- Resolve AccessContext in the access module and enforce capability guards on sensitive endpoints.
- Persist transaction-management state through Prisma.
- Expose health checks that include database connectivity.
- Keep controllers thin and centralize domain behavior in services.
Interfaces and contract surface
- GET /api/health
- GET /api/auth/bootstrap
- GET /api/auth/me
- POST /api/auth/register
- POST /api/auth/login
- access: role + subscriptionTier + capabilities + isAdmin
- GET /api/transactions
- GET /api/series
- GET /api/investments
- GET /api/agenda
Consumers
Dependencies and external touchpoints
Notes
- The local-stack entrypoint runs Prisma db push and generate before Nest watch.
- Denied capabilities return 403 Forbidden; the frontend capability filter is not the security boundary.
Source references
cs-transacion-manage/apps/api/package.jsoncs-transacion-manage/apps/api/prisma/schema.prismacs-transacion-manage/apps/api/src