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 devLa app estará en http://localhost:3000.
Documentación (Nextra)
cd docs
pnpm install
pnpm devServicios Adicionales
Mikrowisp Proxy
cd mikrowisp-proxy
pnpm install
pnpm devTemplate Service
cd template-service
pnpm install
pnpm devBuilds
- App:
pnpm buildenapp/ - Docs estáticas:
pnpm buildendocs/(exporta adocs/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 coberturaDesarrollo
Flujo de trabajo
- Crear rama desde
main - Desarrollar feature
- Ejecutar tests:
pnpm test - Linting:
pnpm lint - Commit y push
- 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 cacheTroubleshooting
Problemas comunes
Error de conexión a PostgreSQL
# Verificar que Docker esté corriendo
docker ps
# Reiniciar servicios
docker compose down && docker compose up -dError de Redis
# Verificar estado de Redis
docker exec -it redis redis-cli ping
# Reiniciar solo Redis
docker compose restart redisProblemas de dependencias
# Limpiar cache de pnpm
pnpm store prune
# Reinstalar dependencias
rm -rf node_modules pnpm-lock.yaml
pnpm installError de migración Prisma
# Resetear base de datos (¡CUIDADO: borra datos!)
pnpm prisma migrate reset
# O aplicar migraciones manualmente
pnpm prisma migrate deployLogs ú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 redisVariables 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.