Technology Stack
Technology decisions for the HRMS
Technology Stack
Decisions
We will use the following technologies:
| Layer | Technology | Version |
|---|---|---|
| Runtime | Node.js | 20.x LTS |
| Language | TypeScript | 5.7.x |
| Frontend | Next.js | 15.x |
| Frontend | React | 19.x |
| Styling | Tailwind CSS | 3.4 |
| Forms | react-hook-form + Zod | 7.x + 3.x |
| Backend | NestJS | 10.x |
| HTTP | Express | 4.x |
| ORM | Prisma | 5.x |
| Database | PostgreSQL | 17.x |
| Cache | Redis | 7.x |
| Queue | BullMQ | 5.x |
| Auth | Auth.js | 5.x |
| AI Service | Express | 4.x |
| AI Database | MongoDB Atlas | Latest |
Critical Constraints
These versions are LOCKED:
- ✅ Prisma 5.x (NOT 6.x)
- ✅ Express 4.x (NOT 5.x)
- ✅ Redis 7.x (NOT 8.x)
- ✅ Zod 3.x
- ✅ PostgreSQL 17.x
Architecture Decisions
- Monolithic HRMS application (not microservices)
- Separate AI service (Express + MongoDB)
- REST APIs only (no GraphQL)
- PostgreSQL for HRMS data
- MongoDB for AI vectors only
Success Criteria
- All packages install without version conflicts
- TypeScript compiles without errors
- Tests pass with specified versions