A progressive Node.js framework for building efficient and scalable server-side applications.
Descripción:
Este proyecto implementa un sistema de autenticación completo y moderno, utilizando un stack TypeScript integrado: NestJS para el backend y Next.js para micro-frontends independientes. Está pensado para aplicaciones que requieren seguridad avanzada, alta mantenibilidad y una arquitectura lista para producción.
Incluye:
🔑 Autenticación con JWT, cookies HttpOnly, OAuth 2.0 (Google)
🛡️ Seguridad enterprise: 2FA (TOTP), rate limiting, hashing con bcrypt
🏦 PostgreSQL + Prisma (migraciones, schemas tipados)
⚡ Redis como caché y almacenamiento de sesiones/tokens
📬 Emails transaccionales (verificación y recuperación)
🧩 Microservicios frontend en Next.js con UI moderna (Shadcn/UI + Tailwind)
🐳 Orquestación completa con Docker Compose
Perfecto como base para SaaS, dashboards, sistemas internos o cualquier proyecto que requiera un esquema de autenticación robusto y escalable.
Stack Principal: NestNext TS (NestJS + Next.js + TypeScript)
- NestJS: Framework modular y escalable para APIs enterprise-grade.
- PostgreSQL: Base de datos relacional segura.
- Redis: Caching y manejo de sesiones/tokens.
- Prisma: ORM type-safe con migraciones automáticas.
- Docker: Contenedorización y orquestación (Docker Compose).
- TypeScript: Tipado end-to-end.
- Next.js: Framework React con SSR/SSG.
- Shadcn/UI: Componentes accesibles y personalizables.
- Axios: Cliente HTTP con interceptores seguros.
- TanStack Query: Manejo de estado server-side.
- React Hook Form: Formularios eficientes.
- Zod: Validación runtime segura.
- Tailwind CSS: Estilos rápidos y responsive.
Sistema de autenticación multi-capa, con enfoque en seguridad, usabilidad y escalabilidad.
- Passport.js (estrategias locales y sociales)
- JWT (tokens stateless)
- Sesiones con Cookies (HttpOnly, Secure)
- Bcrypt (hashing con salting)
- Tokens temporales (OTP 6 dígitos)
- 2FA / OTP: Integración con Google Authenticator (TOTP)
- Google OAuth 2.0: Login social con scopes y refresh tokens
- Confirmación de email: Enlaces tokenizados con expiración
- Recuperación de contraseñas: Emails temporales y rate limiting
- Rate Limiting & CSRF: Protección ante abusos
- Emails transaccionales: Nodemailer / SendGrid
- Microservicios Frontend: Apps independientes con routing compartido
- Logging & Monitoring: Winston + Sentry (opcional)
- Testing: Jest / Supertest (backend) y React Testing Library (frontend)
- Deployment:
- Frontend → Vercel
- Backend → Railway / Heroku (Docker)
- API REST modular con controladores y guards
- Prisma ORM + migraciones automáticas
- Redis para cacheo y sesiones
- Endpoints seguros (JWT + cookies)
- Micro-apps Next.js (auth, account, dashboard)
- Formularios tipados y validados con Zod
- Fetching con TanStack Query
- Interceptores Axios para refresco de tokens
| Categoría | Descripción | Dependencias Principales | Dev Dependencies |
|---|---|---|---|
| 🧩 Módulos de NestJS | Integraciones para JWT, Passport y caché | @nestjs/jwt@11.0.0, @nestjs/passport@11.0.5, @nestjs/cache-manager |
- |
| 🔐 Estrategias Passport | Autenticación local, JWT y OAuth | passport, passport-jwt, passport-local, passport-google-oauth20, passport-custom |
@types/passport-* |
| 💾 Base de Datos / ORM | Prisma Client + CLI | @prisma/client@6.16.2 |
prisma@6.16.2 |
| ✅ Validación y Transformación | DTOs y schemas | class-transformer, class-validator, zod |
- |
| 🔒 Seguridad y Hashing | Hash, 2FA, QR | bcrypt, speakeasy, qrcode |
@types/bcrypt, @types/qrcode, @types/speakeasy |
| 🧰 Utilidades Generales | Entornos, cookies, UUIDs, emails | cookie-parser, dotenv, resend, uuid |
@types/cookie-parser, @types/uuid |
| ⚡ Caché | Sesiones y tokens con Redis | cache-manager, @keyv/redis |
- |
# Módulos de NestJS
npm install @nestjs/jwt @nestjs/passport @nestjs/cache-manager
# Estrategias de Passport
npm install passport passport-custom passport-google-oauth20 passport-jwt passport-local
# Base de Datos / ORM
npm install @prisma/client
# Validación y Transformación
npm install class-transformer class-validator zod
# Seguridad y Hashing
npm install bcrypt speakeasy qrcode
# Utilidades Generales
npm install cookie-parser dotenv resend uuid
# Caché
npm install cache-manager @keyv/redis
npm install -D @types/bcrypt @types/cookie-parser @types/passport-google-oauth20 @types/passport-jwt @types/passport-local @types/qrcode @types/speakeasy @types/uuid prismaNest framework TypeScript starter repository.
$ npm install# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:covWhen you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the deployment documentation for more information.
If you are looking for a cloud-based platform to deploy your NestJS application, check out Mau, our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
$ npm install -g @nestjs/mau
$ mau deployWith Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.