Skip to Content
UNIMAST
DocumentaciónDesarrollarSetup del Repositorio

Setup del Repositorio

Guía rápida para levantar el entorno de desarrollo.

Prerrequisitos

  • Node.js 20+
  • pnpm
  • Docker Desktop (Postgres/Redis)

Backend/App

cd app pnpm install cp .env.example .env # Levanta servicios docker compose up -d # Migra la base de datos pnpm prisma migrate dev # Dev server pnpm dev

La app estará en http://localhost:3000.

Documentación (Nextra)

cd docs pnpm install pnpm dev

Servicios Adicionales

Mikrowisp Proxy

cd mikrowisp-proxy pnpm install pnpm dev

Template Service

cd template-service pnpm install pnpm dev

Builds

  • App: pnpm build en app/
  • Docs estáticas: pnpm build en docs/ (exporta a docs/out)

Variables de entorno mínimas

  • Base de datos (Postgres)
  • REDIS_URL (BullMQ)
  • ECF_ENV (TesteCF/CerteCF/eCF)

Testing

# En el directorio app/ pnpm test # Ejecuta todos los tests pnpm test:watch # Modo watch para desarrollo pnpm test:coverage # Genera reporte de cobertura

Desarrollo

Flujo de trabajo

  1. Crear rama desde main
  2. Desarrollar feature
  3. Ejecutar tests: pnpm test
  4. Linting: pnpm lint
  5. Commit y push
  6. Crear Pull Request

Comandos útiles

# Linting pnpm lint # Verificar código pnpm lint:fix # Corregir automáticamente # Base de datos pnpm prisma studio # Abrir interfaz de BD pnpm prisma generate # Regenerar cliente Prisma pnpm prisma db seed # Ejecutar seeders # Limpieza pnpm clean # Limpiar builds rm -rf .next # Limpiar Next.js cache

Troubleshooting

Problemas comunes

Error de conexión a PostgreSQL

# Verificar que Docker esté corriendo docker ps # Reiniciar servicios docker compose down && docker compose up -d

Error de Redis

# Verificar estado de Redis docker exec -it redis redis-cli ping # Reiniciar solo Redis docker compose restart redis

Problemas de dependencias

# Limpiar cache de pnpm pnpm store prune # Reinstalar dependencias rm -rf node_modules pnpm-lock.yaml pnpm install

Error de migración Prisma

# Resetear base de datos (¡CUIDADO: borra datos!) pnpm prisma migrate reset # O aplicar migraciones manualmente pnpm prisma migrate deploy

Logs útiles

# Ver logs de Docker docker compose logs -f # Logs específicos docker compose logs -f app docker compose logs -f postgres docker compose logs -f redis

Variables de entorno completas

Copia .env.example y configura:

# Base de datos DATABASE_URL="" # Redis REDIS_URL="redis://localhost:6379" # ECF (Facturación electrónica) ECF_ENV="test" # test, cert, prod # AWS S3 (opcional) AWS_ACCESS_KEY_ID="" AWS_SECRET_ACCESS_KEY="" AWS_REGION="" AWS_BUCKET_NAME="" # JWT JWT_SECRET="tu-secreto-super-seguro" # App NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="otro-secreto-super-seguro"

Consejo: usa .env.example como plantilla y nunca commits archivos .env al repositorio.