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-Incen 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:
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