Lizandro Guarnizo 4872053fd1 feat: Fase 1 — Auth JWT+MFA, portales CRUD, UI completa
API:
- AuthModule: register, login, refresh, logout, MFA/TOTP setup+verify
- JwtStrategy + JwtAuthGuard + RolesGuard + CurrentUser decorator
- PackagesModule: CRUD paquetes + historial de estados
- PreAlertsModule: pre-alertas por usuario
- UsersModule: gestión de usuarios + roles + activación
- B2BModule: solicitudes de carga pesada/cotización
- ValidationPipe global + CORS configurado

Web (Next.js 15):
- globals.css completo (design system + utility classes)
- Layout raíz con WhatsApp flotante
- /login + /registro funcionales con JWT y redirección por rol
- /portal: dashboard, mi-casillero, mis-paquetes, pre-alerta, calculadora, perfil
- /admin: dashboard, usuarios (gestión roles/activación), tarifas, reportes, auditoría
- /bodega: dashboard, paquetes (crear+actualizar estado), verificación, despacho
- /tracking: tracking real con progreso visual + historial
- /calculadora: calculadora interactiva real (API SENAE §15)
- /como-funciona, /tarifas, /quienes-somos, /casillero
- /carga-pesada + /carga-pesada/cotizacion (formulario B2B)
- lib/api.ts: cliente HTTP con auto-refresh de token

Roles sincronizados con schema: SUPER_ADMIN, ADMIN_EMPRESA,
OPERADOR_BODEGA, AGENTE_ADUANERO, CLIENTE, SOPORTE
2026-06-01 09:42:38 -05:00

Moraworld Imports — Software

Casillero internacional (EE.UU. → Ecuador). Monorepo con Next.js, NestJS, PostgreSQL y Redis.

Requisitos

  • Node.js 20+
  • pnpm 9+ (ver instalación abajo si sale command not found)
  • Postgres + Redis — en Coolify (recomendado) o Docker local

Instalar pnpm (si no lo tienes)

npm install -g pnpm@9.15.0

Cierra y abre la terminal, luego:

pnpm -v   # debe mostrar 9.15.x

Alternativa sin instalar global (usa npx):

npx pnpm@9.15.0 install
npx pnpm@9.15.0 dev

Desarrollo local (paso a paso)

1. Variables de entorno

cp .env.example .env

Pega DATABASE_URL y REDIS_URL de Coolify. Guía: docs/VARIABLES-COOLIFY.md

2. Infraestructura (solo si NO usas Coolify para BD)

pnpm docker:up

Levanta PostgreSQL (localhost:5432) y Redis (localhost:6379).
Si Postgres/Redis ya están en Coolify, omite este paso.

3. Instalar dependencias

pnpm install

4. Base de datos

pnpm db:generate
pnpm db:migrate

Nombre sugerido para la primera migración: init.

5. Arrancar apps

pnpm dev
Servicio URL
Web (Next.js) http://localhost:3000
API (NestJS) http://localhost:3001/api/health
Estado http://localhost:3000/status

Estructura

apps/
  api/          # NestJS REST API
  web/          # Next.js (landing + futuro portal)
packages/
  database/     # Prisma + PostgreSQL

Coolify

Ver docs/COOLIFY.md para desplegar API y Web en Coolify (Postgres/Redis como servicios del panel o externos).

Roadmap

Ver ROADMAP.md — Fase 0 en curso.

Prototipos HTML (legacy)

Los archivos index.html, portal-cliente.html, etc. en la raíz del repo son maquetas de referencia hasta completar la migración a Next.js (Fase 1).

S
Description
No description provided
Readme
521 KiB
Languages
TypeScript 60.5%
HTML 35.7%
CSS 3.6%
Dockerfile 0.2%