Fase de pruebasEste entorno está en pruebas de prelanzamiento — todos los datos se restablecerán en el lanzamiento.
Mockomat
— Arquitectura

Un modelo que se escribe una vez.
Superficies que se mantienen sincronizadas.

Mockomat se construye alrededor de cuatro ideas. Juntas hacen que los datos simulados se sientan como una extensión de tu código, no como un proyecto secundario. Así es como piensa el sistema — y lo que te devuelve.

— El pipeline

De entidades a dos superficies en vivo.

Tú describes entidades y atributos; Mockomat compila un esquema GraphQL tipado, vincula los atributos al pool de datos y sirve tanto un endpoint JSON como una vista previa renderizada a partir del mismo artefacto compilado.

DISEÑO COMPILACIÓN ENTREGA CONSUMO Tu modelo User · email · fullName · avatarUrl Order · orderNo · total · status Compilador schema · types · resolvers pool ↔ mapeo de campos plan de seed DETERMINISTA Runtime sin estado · con semilla resolver por tipo renderer por tipo seed = sha(...) POST /graphql application/json Para tu código, tu CI y tus agentes de IA GET /preview text/html Para PMs, diseñadores y stakeholders mockomat.pool un pool compartido · solo lectura
— Las cuatro ideas

Principios, no patrones.

No construimos Mockomat acumulando funcionalidades. Cada capacidad se deriva de uno de estos cuatro compromisos. Si los entiendes, puedes predecir cómo se comporta el resto del sistema.

01

Schema-first.

Tú diseñas el modelo. Mockomat lo compila.

Todo parte de tus entidades y atributos. Los datos simulados, el esquema GraphQL, la documentación, la vista previa renderizada — todo se deriva de una única fuente de verdad. Cambia el modelo y todo lo que depende de él se regenera.

seed
02

Reproducción determinista.

Misma semilla. Mismos datos. Siempre.

El motor de ejecución es sin estado y basado en semillas. Una solicitud a /graphql en cualquier momento se reproduce desde la misma semilla que tu equipo acordó — de modo que una instantánea hoy coincide con una instantánea en CI mañana. Sin fixtures inestables, sin desviaciones entre entornos.

03

Multi-tenant por defecto.

Espacios de trabajo, proyectos, roles, claves con alcance.

Cada cuenta es un límite de tenant. Dentro, los proyectos acotan esquemas; los roles acotan derechos de edición; las claves API acotan el acceso externo. La configuración está aislada por tenant desde el primer byte — nunca añadida después del hecho.

JSON UI
04

Dos superficies, un modelo.

Legible por máquinas para el código. Legible por personas para la revisión.

El mismo modelo sirve /graphql para tu aplicación y /preview para las partes interesadas. Los ingenieros consumen JSON; los diseñadores y los PM ven una tabla o lista renderizada de exactamente los mismos datos. Sin segunda fuente de verdad para las revisiones de producto.

— Generación de código

Exporta tu modelo como un proyecto real.

Cuando el prototipado termina y el despliegue comienza, tu esquema de Mockomat no queda atrapado en nuestro servicio. Un clic genera un cliente Angular completamente tipado y un scaffold de servidor NestJS — ambos conectados al mismo contrato GraphQL que ya validaste.

FRONTEND Angular 17 · standalone components · Apollo client
BACKEND NestJS 10 · GraphQL code-first · resolver stubs
SCHEMA GraphQL SDL · se regenera en cada exportación
codegen.pipeline · determinista · idempotente
schema.graphql
tu modelo · 38 tipos · 142 campos
compilar
frontend/ — Angular
consultas tipadas · componentes
backend/ — NestJS
resolvers · DTOs · modules
MY-PROJECT.ZIP
📁 my-project/
📁 frontend/
📄 src/app/users/users.component.ts
📄 src/app/users/users.queries.ts ← consultas Apollo tipadas
📄 src/app/graphql.types.ts
📁 backend/
📄 src/users/users.resolver.ts
📄 src/users/user.dto.ts
📄 src/users/users.module.ts
📄 schema.graphql ← única fuente de verdad
📄 package.json
📄 README.md
— Por qué importa el determinismo

Misma entrada.
Misma salida.
Siempre.

Los datos simulados con semillas aleatorias rompen tests, rompen revisiones y erosionan la confianza. El motor de ejecución de Mockomat vincula cada respuesta a la misma semilla que tu equipo eligió. Recupera un registro el mes que viene — misma estructura, mismos valores, mismas relaciones.

# pedir el mismo usuario dos veces, con tres meses de diferencia
$ curl mockomat.app/p/abc/graphql -d '{ user(id:42) { email } }'
{ "data": { "user": { "email": "ada@bessemer.com" } } }
# 90 días después, la misma consulta…
$ curl mockomat.app/p/abc/graphql -d '{ user(id:42) { email } }'
{ "data": { "user": { "email": "ada@bessemer.com" } } }