Aller au contenu principal

Tech Stack

Last updated: February 2026

Frontend​

TechnologyVersionPurpose
React19.1.1UI framework
Vite7.2.2Build tool and dev server
TypeScript~5.9Type-safe development
MUI (Material UI)7.xComponent library (migrating from Shadcn/UI)
MUI X DataGrid Pro8.xAdvanced data grid with server-side filtering
TanStack Query5.xData fetching, caching, and mutations
TanStack Table8.xHeadless table utilities
React Router7.xClient-side routing
React Hook Form7.xForm state management
Zod4.xSchema validation
Emotion11.xCSS-in-JS (MUI styling engine)
Chart.js + react-chartjs-24.x / 5.xDashboard charts
@react-pdf/renderer4.xPDF report generation
jose6.xJWT token utilities (client-side)
Motion (Framer Motion)12.xAnimations

Backend​

TechnologyVersionPurpose
NestJS11.xApplication framework
TypeScript~5.7Type-safe development
TypeORM0.3.21Database ORM with entity decorators and migrations
PostgreSQL16Primary relational database
Redis (cache-manager-redis-yet)7.xAPI response caching
Passport + @nestjs/jwt11.xAuthentication (custom JWT, no Auth0)
CASL6.7.3Attribute-based access control (RBAC)
Brevo SDK (@getbrevo/brevo)3.xEmail campaign delivery
AWS SDK (S3)3.xDocument storage (S3/R2-compatible)
ExcelJS4.xExcel export generation
Swagger (@nestjs/swagger)11.xOpenAPI documentation
class-validator / class-transformer0.14 / 0.5DTO validation and serialization
nestjs-cls6.xRequest-scoped context (tenant isolation)
nest-commander3.xCLI commands (import, seed, migrations)

Testing​

TechnologyVersionPurpose
Vitest3.xFrontend unit and integration tests
React Testing Library16.xComponent testing
Jest29.xBackend unit tests
Supertest7.xBackend HTTP integration tests
Playwright(via apps/e2e)End-to-end browser tests

Tooling & Infrastructure​

TechnologyVersionPurpose
Yarn4.12.0Package manager (Corepack-managed)
Turborepo2.8.9Monorepo build orchestration and caching
DockerMulti-stage buildsContainerized deployment
DokploySelf-hosted VPSDeployment platform
Traefik(via Dokploy)Reverse proxy, SSL termination
GitHub Actions(CI only)Linting, type-checking, test runs
ESLint9.xCode linting (flat config)
Prettier3.xCode formatting
Husky + lint-staged9.x / 16.xPre-commit hooks
Changesets2.xVersion management
Knip5.xUnused dependency detection

Key Architectural Decisions​

  • No Auth0 — authentication is fully custom using Passport local strategy + JWT tokens issued by the NestJS backend.
  • TypeORM over Prisma — migrated to TypeORM for decorator-based entities, repository pattern, and better NestJS integration with tenant filtering.
  • React + Vite over Next.js — migrated from Next.js 14 to a pure React SPA with Vite for simpler deployment (static files served by Nginx).
  • MUI over Shadcn/UI — ongoing gradual migration from Shadcn/UI to MUI for a richer component set and DataGrid Pro.
  • Dokploy over Render.com — self-hosted deployment on a VPS with Dokploy for cost control and full infrastructure ownership.
  • Yarn 4 + Turborepo over npm workspaces — better monorepo performance with caching and parallel task execution.