Bluewoo HRMS
AI Development GuideFoundations

Technology Stack

Locked technology stack for HRMS - do not deviate

Technology Stack (LOCKED)

This technology stack is finalized. AI agents must not suggest alternatives or upgrades without an approved ADR.

Backend

Framework:    NestJS 10.x
Runtime:      Node.js 20+ (LTS)
ORM:          Prisma 5.x (Stable)
Database:     PostgreSQL 17.x
Cache:        Redis 7.x (Phase 2)
Auth:         Auth.js (NextAuth v5) with Google SSO
AI Vectors:   MongoDB Atlas (AI service only)

Version Requirements

PackageVersionNotes
NestJS10.xStable, well-documented
Prisma5.xStable and battle-tested
Express4.xNOT 5.x (beta)
Node.js20+ LTSCurrent LTS version
PostgreSQL17.xLatest stable
Redis7.xFor caching (Phase 2)

Frontend

Framework:    Next.js 15.x (App Router)
UI:           Shadcn/ui + Tailwind CSS 3.4
State:        React Query (TanStack Query v5)
Forms:        React Hook Form + Zod
Org Chart:    React Flow

Version Requirements

PackageVersionNotes
Next.js15.xApp Router required
React19.xLatest stable
Tailwind CSS3.4Latest stable
TanStack Queryv5For server state
Zod3.xFor validation

Infrastructure

Cloud:        Google Cloud Platform
Container:    Docker + Cloud Run
CI/CD:        GitHub Actions
Monitoring:   Google Cloud Operations
Storage:      Google Cloud Storage

Forbidden Technologies

These are explicitly NOT allowed:

TechnologyReason
GraphQLToo complex for our scale
Redux/MobXUse React Query instead
MicroservicesMonolith is simpler
Event SourcingNo customers to validate
Custom ORMsPrisma is sufficient
Alternative DBsPostgreSQL only

Package Installation

When installing packages, use exact versions:

# Backend packages
npm install @nestjs/core@10.x @nestjs/common@10.x
npm install prisma@5.x @prisma/client@5.x
npm install zod@3.x

# Frontend packages
npm install next@15.x react@19.x react-dom@19.x
npm install tailwindcss@3.4
npm install @tanstack/react-query@5.x

Environment Variables

Required environment variables:

# Database
DATABASE_URL=postgresql://user:pass@host:5432/hrms

# Auth
NEXTAUTH_URL=https://app.example.com
NEXTAUTH_SECRET=your-secret-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

# AI Service
AI_SERVICE_URL=http://localhost:3001
OPENAI_API_KEY=your-openai-key
MONGODB_URI=mongodb+srv://...

# Storage
GCS_BUCKET=hrms-documents
GCS_PROJECT_ID=your-project-id

Adding New Technologies

To add a new technology:

  1. Create an ADR explaining why it's needed
  2. Get approval from project lead
  3. Update this document
  4. Update boilerplate definition
  5. Communicate to team

Without an approved ADR, new technologies are forbidden.