Arquitectura
pakAG es un monorepo pnpm con tres paquetes:
ERRONKA2025_JS/
backend-js/ → @repo/backend-js (API REST)
frontend-app/ → @repo/frontend-app (App Next.js)
docs/ → @repo/docs (Esta documentación)
schema.sql → Schema de la base de datosFlujo de datos
Cliente (frontend-app)
→ API REST (backend-js /api/*)
→ Service (lógica)
→ Repository (SQL / mysql2)
→ MySQL (pakAG_db)Comunicación entre capas
- route.ts: recibe Request, valida con DTO, llama al service, devuelve Response
- service: pura lógica, sin dependencias de HTTP ni SQL
- repository: solo prepared statements, devuelve tipos de dominio
Autenticación
JWT firmado con HS256. El token va en el header Authorization: Bearer <token>.
El middleware src/lib/jwt.ts verifica y extrae el payload en cada request protegida.
Emails
Nodemailer con templates HTML propios (sin librería externa). Los templates están en
src/app/lib/email/templates/ e incluyen diseño responsive con seguimiento de estado del paquete.