Bluewoo HRMS

Backend Stack

NestJS, Express, and API technologies

Backend Stack

Required Versions

TechnologyVersionNotes
Node.js20.x LTSActive LTS (20.18.0+)
TypeScript5.7.xCurrent stable
NestJS10.xLatest stable
Express4.xNOT 5.x (5.x is beta)
Prisma5.xNOT 6.x (6.x too new)
PostgreSQL17.xVia Google Cloud SQL
BullMQ5.xBackground jobs
Redis7.xNOT 8.x (8.x too new)

Architecture

  • Framework: NestJS with Express adapter (not Fastify)
  • Pattern: Controllers → Services → Repositories
  • API: REST only (no GraphQL)
  • ORM: Prisma with type-safe queries
  • Auth: Auth.js (NextAuth) + custom RBAC

When to Use BullMQ

Use BullMQDon't Use BullMQ
Async work that can be retried (emails)Synchronous request-response
Long-running operations (> 5 seconds)Service-to-service calls (use REST)
Scheduled/delayed tasksQuick operations (< 1 second)
Work that shouldn't block HTTPOperations needing immediate results

Key Rules

  1. No Fastify - Express is fast enough, better ecosystem
  2. No Express 5.x - Still beta, not production-ready
  3. No EventEmitter - Use BullMQ for background work
  4. No Beta/RC versions - Wait for stable releases
  5. Exact versions - Don't upgrade major versions without approval

Specifics to be defined during implementation