Skip to main content

Backend de renta de autos construido para cargas reales de producción

Personal ProjectNestJSPostgreSQLTypeScriptVitest
Arquitectura limpia/gritona — módulo → controlador → servicio → repositorio

El Desafío

  • Disciplina en monorepo TypeScript: Mantener TypeScript strict en todo el monorepo con cero errores de compilación
  • Capas de arquitectura limpia en NestJS: Separación estricta entre módulo, controlador, servicio y repositorio sin acoplamientos cruzados
  • Queries tipadas con Drizzle ORM: Drizzle ORM + PostgreSQL para queries completamente tipadas sin capa de abstracción adicional
  • JWT auth + cobertura de tests Vitest: Autenticación JWT con guards de NestJS y tests unitarios e integración con Vitest

Arquitectura de la Solución

RouteCallDataValidateGuardUnitIntegrationFeature ModuleControllerServiceRepositoryDrizzle ORMPostgreSQLZod ValidationJWT AuthVitest Tests
System architecture diagram showing nodes and connections

Monorepo / TypeScript Strict

Monorepo TypeScript con modo strict activo en todo el proyecto. Cero errores de compilación como requisito no negociable.

Arquitectura Limpia NestJS

Capas separadas: módulo (límite de contexto), controlador (HTTP), servicio (casos de uso), repositorio (acceso a datos). Sin acoplamientos cruzados.

Drizzle + PostgreSQL + Zod

Drizzle ORM para queries SQL tipadas sobre PostgreSQL. Esquemas Zod compartidos entre capas para validación de entrada consistente.

JWT Auth + Vitest

Guards de NestJS para autenticación JWT. Tests unitarios sobre servicios y tests de integración sobre repositorios con Vitest.

Resultados

0

Errores TypeScript en compilación

100%

Validación Zod compartida entre capas

Unit + Integration

Estrategia de pruebas

Renta de Autos — Monorepo TypeScript + Arquitectura Limpia NestJS | Joel May