skip to content
pca erp preview

pca erp

Multi-tenant SaaS ERP built from scratch as the sole engineer at PCA Company Services.

PCA ERP is a multi-tenant SaaS ERP I built from scratch as the sole engineer for commercial launch to client companies in Vietnam. It is a pnpm monorepo with a NestJS and Prisma backend and a React frontend, where every business module lives in its own PostgreSQL schema and can be switched on per tenant. I shipped CRM, invoicing with government e-invoice sync, a no-code form builder, a drag-and-drop email campaign builder, task management, document management, HR, and the workflow automation engine that ties them together, plus the CI/CD pipeline that deploys it.

  • nestjs
  • prisma
  • postgresql
  • react
  • redis
  • bullmq
  • zitadel oidc
  • docker
  • Schema-per-module tenant isolation across 12 PostgreSQL schemas and 150+ versioned migrations
  • Workflow engine with lease-based run claiming, recovery sweeps and per-tenant concurrency limits
  • Transactional outbox publishing domain events to BullMQ with bounded retries
  • Migrated from local passwords to ZITADEL OIDC with PKCE and revocable Redis-backed sessions
  • Department-based permission model replacing a hard admin/user split
  • 8-stage GitHub Actions pipeline running 2,800+ tests, migration replay and container scanning
invoiceflow