Saltar a contenido

Primeros Pasos

Guia rapida para desarrolladores de Mini Dream Universe.

Requisitos Previos

  • Node.js 20+
  • Docker y Docker Compose
  • Acceso Git a la organizacion pLim-Inc en GitHub

Repositorios

Repo Stack Proposito
3dplim Next.js 16 SSR Sitio principal + landing page
miniature-forge Vite + React App de usuario (Miniature Forge)
agenthub-mdu Vite + React Panel admin (AgentHub)
mdu-api Express + Node.js Backend API (56+ endpoints)
mdu-stl-pipeline FastAPI + Python Microservicio de exportacion STL

Desarrollo Local

1. Clonar el backend

git clone git@github.com:pLim-Inc/mdu-api.git
cd mdu-api
cp .env.example .env
# Rellenar secretos requeridos: DATABASE_URL, JWT_SECRET, STRIPE_SECRET_KEY
npm install
npm run dev

2. Clonar el frontend

git clone git@github.com:pLim-Inc/miniature-forge.git
cd miniature-forge
npm install
npm run dev
# Se abre en http://localhost:5173

3. Ejecutar infraestructura (Docker)

El backend requiere PostgreSQL, Redis y MinIO:

cd /opt/3dplim
docker compose up -d postgres redis minio

Variables de Entorno

Requeridas

Variable Descripcion
DATABASE_URL Cadena de conexion PostgreSQL
JWT_SECRET Clave de firma HMAC-SHA256
STRIPE_SECRET_KEY Clave secreta de Stripe
STRIPE_WEBHOOK_SECRET Secreto de firma webhook Stripe

Opcionales (Proveedores IA)

Variable Descripcion
TRIPO3D_API_KEY Clave API Tripo3D (prefijo tsk_)
MESHY_API_KEY Clave API Meshy
OPENAI_API_KEY Clave OpenAI (GPT-4o para optimizacion de prompts)

Opcionales (Servicios)

Variable Descripcion
REDIS_URL URL Redis para rate limiting
MINIO_ENDPOINT Endpoint S3 de MinIO
SMTP_HOST / SMTP_USER / SMTP_PASS Credenciales SMTP de Resend

Estructura del Proyecto (mdu-api)

/opt/mdu-api/
  app.js           # App Express + poller
  routes.js         # Todas las rutas API (56+ endpoints)
  plans.cjs         # Limites de planes de suscripcion
  langflow.cjs      # Integracion Langflow/GPT-4o
  ollama.cjs        # Cliente IA local Ollama
  chunker.cjs       # Fragmentacion de texto para RAG
  admin-hub.js      # Backend del panel admin
  requirement-agent.js  # Bot de Soporte CVO
  log-analyzer.js   # Agente Guardian del Sistema

Note

La extension .cjs es necesaria para modulos CommonJS porque package.json tiene "type": "module" (ESM por defecto).

Autenticacion

MDU usa su propio sistema de autenticacion basado en JWT (no Supabase). Ver Autenticacion para mas detalles.

  • Login OTP por email (SMTP Resend)
  • Google OAuth
  • Tokens JWT access + refresh almacenados en localStorage