POP — Minnt Studio · Mayo 2026

ARQUITEC
TURA
POP

Las siete secciones fijas que todo proyecto POP comparte. Cómo se organizan por dominio y cómo se aplican sin importar la plataforma, el lenguaje o el tamaño del equipo.

POP v2.0 Siete secciones Multi-plataforma
02 Arquitectura
01Las 7 secciones 02Por dominio 03Plataformas 04Escala 05Proyectos reales 06Migración 07Limitaciones 08Hoja de ruta
01

LAS SIETE
SECCIONES

Todos los proyectos POP comparten la misma arquitectura base. Las siete secciones son fijas. Lo que varía es su contenido. No importa si es una app móvil, un videojuego, una herramienta de escritorio o un sitio web estático, la estructura no cambia.

Esto tiene una ventaja concreta: cuando alguien llega a un proyecto POP por primera vez, ya sabe dónde buscar. No hay que aprender la arquitectura de cada proyecto porque la arquitectura es siempre la misma.

01

estructura/

Qué existe y cómo está organizado visualmente. Pantallas, páginas, ventanas, escenas, componentes de interfaz. Todo lo que el usuario ve directamente.

PantallasPáginasComponentes UIEscenas
02

estetica/

Cómo se ve. Colores, temas, tipografías, animaciones, estilos globales. Todo lo visual que no es estructura pero que define la identidad del producto.

Variables CSSTemasTipografíasAnimaciones
03

funciones/

Qué hace el proyecto. Acciones organizadas por dominio de negocio. Es la sección más grande y más importante. Aquí vive toda la lógica.

AccionesPor dominiocomun/Lógica pura
04

datos/

Qué almacena y cómo está estructurado. Moldes y Registros organizados por dominio. Define la forma de los datos, no dónde se guardan.

MoldesRegistrosPor dominioSin lógica
05

conexion/

Con qué se comunica externamente. APIs, bases de datos, sockets, sistemas de archivos, servicios de terceros. Todo lo que cruza los límites del proyecto.

APIs RESTBases de datosSocketsArchivos
06

configuracion/

Cómo se comporta el proyecto según el contexto. Variables de entorno, idioma, permisos, feature flags. Todo lo que cambia entre producción, desarrollo y test.

EntornoIdiomaPermisosFeature flags
07

assets/

Recursos estáticos externos que el proyecto usa pero no genera. Imágenes, iconos, audio, video, fuentes, modelos 3D. No se transforman, solo se consumen.

ImágenesIconosAudioFuentesSpritesModelos 3D
Sección Pregunta que responde Nunca contiene
estructura/¿Qué ve el usuario?Lógica de negocio, datos crudos
estetica/¿Cómo se ve?Componentes interactivos, datos
funciones/¿Qué hace?Definición de datos, estilos
datos/¿Cómo está estructurada la información?Lógica de procesamiento, conexiones
conexion/¿Con qué habla externamente?Lógica de negocio, definición de datos
configuracion/¿Cómo se comporta según el entorno?Código de producción, assets
assets/¿Qué recursos consume?Código, configuración, lógica
Estructura base de cualquier proyecto POP - Minnt Studio
02

ORGANIZACIÓN
POR DOMINIO

Las secciones son el nivel 1. El dominio de negocio es el nivel 2. Un dominio es un contexto de negocio coherente: usuario, producto, pedido, inventario, pago. No es un tipo técnico.

La regla es directa: si la lógica habla de usuarios, va en funciones/usuario/. Si los datos describen productos, van en datos/producto/. La pregunta "¿de qué habla esto?" siempre tiene una respuesta, y esa respuesta es el dominio.

E-commerce — árbol completo
funciones/
usuario/ iniciarSesion registrarse cerrarSesion actualizarPerfil recuperarContrasena producto/ buscarProducto filtrarPorCategoria obtenerDetalle carrito/ agregarItem eliminarItem calcularTotal pedido/ crearPedido cancelarPedido rastrearPedido pago/ procesarTarjeta procesarTransferencia emitirReembolso comun/ validarCorreo formatearPrecio generarId hashContrasena
datos/
usuario/ Molde.Usuario Molde.Sesion producto/ Molde.Producto Molde.Categoria pedido/ Molde.Pedido Molde.LineaPedido pago/ Molde.Pago Molde.Factura
conexion/
api/ autenticacion pasarela-pago base-datos/ usuarios productos pedidos
estructura/ estetica/ configuracion/ assets/
Organización por dominio dentro de funciones/ - Minnt Studio
03

LA MISMA
ESTRUCTURA EN TODAS

La arquitectura de siete secciones no cambia con la plataforma. Cambia el contenido de cada sección, pero las siete secciones siempre están. Eso significa que un desarrollador que conoce POP puede orientarse en cualquier proyecto POP sin importar si es web, móvil, escritorio o videojuego.

W

Aplicación web

estructura/ paginas, rutas, layouts estetica/ variables CSS, temas, fuentes funciones/ login, busqueda, carrito datos/ usuario, sesion, producto conexion/ api REST, websocket, cdn configuracion/ entorno, idioma, rutas assets/ imagenes, iconos, fuentes
M

App móvil

estructura/ pantallas, navegacion, modales estetica/ temas, colores, tipografias funciones/ autenticacion, camara, notifs datos/ usuario, config local, cache conexion/ api, almacenamiento local configuracion/ permisos, entorno, idioma assets/ iconos, sonidos, animaciones
G

Videojuego

estructura/ escenas, menus, hud estetica/ shaders, efectos, paletas funciones/ combate, inventario, mapa datos/ personaje, nivel, objetos conexion/ guardado, multijugador, api configuracion/ controles, graficos, sonido assets/ sprites, audio, mapas, modelos
D

App de escritorio

estructura/ ventanas, paneles, dialogos estetica/ tema claro/oscuro, fuentes funciones/ exportar, importar, editar datos/ documento, preferencias conexion/ sistema de archivos, apis configuracion/ atajos, idioma, actualizacion assets/ iconos, plantillas, sonidos
04

POP A
ESCALA

Un proyecto pequeño tiene dos o tres dominios. Un proyecto mediano tiene ocho o diez. Un proyecto grande puede tener treinta. La estructura no cambia, solo crece dentro de las mismas secciones.

Cuando un dominio crece demasiado, se divide. Si funciones/usuario/ tiene veinte acciones, se separa en funciones/autenticacion/ y funciones/perfil/. Esa división no rompe la arquitectura, la refina.

Proyecto pequeño — 2 dominios
funciones/
usuario/
  iniciarSesion
  registrarse
nota/
  crear
  eliminar
  actualizar
comun/
  validarCorreo
datos/
usuario/
  Molde.Usuario
  Molde.Sesion
nota/
  Molde.Nota
Proyecto grande — 8+ dominios, dominio dividido
funciones/ — antes
usuario/
  iniciarSesion
  registrarse
  actualizarFoto
  cambiarContrasena
  verificarEmail
  gestionarRoles
  cerrarSesion
  recuperarAcceso
  ... 12 acciones más
funciones/ — después de dividir
autenticacion/
  iniciarSesion
  registrarse
  cerrarSesion
  recuperarAcceso
  verificarEmail
perfil/
  actualizarFoto
  cambiarContrasena
  actualizarDatos
roles/
  asignarRol
  revocarRol
  verificarPermiso
La arquitectura crece por dominio, no por capa

En OOP cuando el proyecto crece se agregan capas: más servicios, más repositorios, más interfaces. En POP cuando el proyecto crece se agregan dominios. Eso mantiene cada sección manejable y el árbol de carpetas legible.

05

PROYECTOS
REALES

Tres proyectos completos con su arquitectura POP. Cada uno muestra cómo las siete secciones se adaptan al dominio sin cambiar la estructura base.

Caso 01

Blog personal con CMS propio

Sitio estático con panel de administración para crear y editar artículos. Un solo usuario. Sin base de datos externa.

estructura/
pagina-inicio pagina-articulo pagina-admin componente-nav componente-footer
estetica/
reusable.css inicio.css articulo.css admin.css
funciones/
articulo/ crear editar eliminar publicar admin/ iniciarSesion comun/ generarSlug formatearFecha
datos/
articulo/ Molde.Articulo data.json
conexion/
almacenamiento-local
configuracion/
sitio.json
assets/
logo.svg favicons/
Caso 02

Juego de rol por turnos

RPG 2D con combate por turnos, sistema de inventario, mapa del mundo y guardado de partida. Plataforma: web con JavaScript canvas.

estructura/
escena-menu escena-mundo escena-combate hud-combate hud-inventario
funciones/
combate/ ejecutarAtaque calcularDano aplicarEstado verificarDerrota personaje/ subirNivel equiparObjeto aprenderHabilidad inventario/ agregarObjeto usarObjeto venderObjeto mapa/ moverPersonaje iniciarEncuentro guardado/ guardarPartida cargarPartida
datos/
personaje/ Molde.Personaje Molde.Habilidad enemigo/ Molde.Enemigo Catalogo.Enemigos.json objeto/ Molde.Objeto Catalogo.Objetos.json
conexion/
almacenamiento-local tabla-clasificacion
estetica/ configuracion/ assets/
sprites/ audio/ mapas/ fuentes/
Caso 03

Herramienta de diseño colaborativo

App web donde múltiples usuarios editan un tablero en tiempo real. Tiene autenticación, permisos por rol y exportación de archivos.

funciones/
autenticacion/ iniciarSesion registrarse verificarToken tablero/ crear invitarColaborador cambiarPermiso elemento/ agregar mover redimensionar eliminar exportacion/ exportarPNG exportarSVG exportarPDF colaboracion/ sincronizarCambios resolverConflicto
datos/
tablero/ Molde.Tablero Molde.Permiso elemento/ Molde.Elemento Molde.Capa
conexion/
api-rest websocket-tiempo-real almacenamiento-s3 base-datos-postgresql
estructura/ estetica/ configuracion/ assets/
06

MIGRAR
A POP

Migrar un proyecto existente a POP no requiere reescribir todo. Se puede hacer de forma incremental, dominio por dominio, sin romper lo que ya funciona.

Paso 1
Crear la estructura de carpetas

Crear las siete carpetas en el proyecto sin mover nada. El código existente sigue donde está. Solo se establece el destino.

Paso 2
Identificar dominios

Listar los contextos de negocio del proyecto. Usuario, producto, pedido, etc. Sin mover código todavía.

Paso 3
Mover por dominio

Elegir el dominio más pequeño y mover su código a la nueva estructura. Verificar que sigue funcionando antes de continuar con el siguiente.

Paso 4
Documentar las Acciones

A medida que se mueve el código, agregar las declaraciones de entrada, resultado y posibles fallas en formato POP, aunque sea como comentarios.

Paso 5
Eliminar la estructura vieja

Solo cuando todo está migrado y probado, eliminar la estructura original. No antes.

07

LIMITACIONES
CONOCIDAS

POP es una propuesta conceptual en desarrollo. Estas son las preguntas que aún no tienen respuesta y los problemas que aún no están resueltos.

Escala enterprise

No está probado si siete secciones son suficientes para proyectos con más de cien dominios. Puede necesitar un nivel de agrupación adicional como módulos o bounded contexts.

Sintaxis formal

La notación de Molde, Acción, Registro y Solución es descriptiva. No existe una especificación gramatical que permita construir un compilador o parser real.

Sin tooling

No hay linter, formateador ni validador. La adherencia a POP depende del criterio del desarrollador. En equipos grandes eso introduce inconsistencias difíciles de detectar.

Acciones con estado

Las Acciones son stateless por diseño. Los casos donde el estado persiste entre llamadas, como sesiones activas o conexiones persistentes, no tienen una estrategia definida.

Dominios ambiguos

Hay lógica que genuinamente pertenece a varios dominios. La regla "un propósito, un lugar" no siempre resuelve esa ambigüedad de forma obvia.

Sin comparativa empírica

No hay datos sobre cuánto mejora o empeora la productividad de un equipo usando POP. La propuesta se basa en razonamiento, no en mediciones.

08

HOJA DE
RUTA

Lo que viene, en orden de prioridad.

Fase 1
Especificación formal del lenguaje

Definir la gramática completa. Moldes con tipos, Acciones con firmas completas, Soluciones con condiciones. Suficiente para que una herramienta la entienda.

Fase 2
Transpilador experimental

Un prototipo que traduzca POP a JavaScript o Python. El objetivo no es producción, es validar que la especificación funciona en la práctica.

Fase 3
Pruebas con proyectos reales

Dos o tres proyectos medianos construidos con POP estrictamente. Medir tiempo de orientación para nuevos integrantes y frecuencia de ubicación errónea de archivos.

Fase 4
Comparativa contra OOP

Mismo proyecto, dos equipos, dos paradigmas. Medir productividad, errores de organización y tiempo de incorporación de desarrolladores nuevos.

Fase 5
Tooling y documentación pública

Linter de los siete principios, plantillas de proyecto para web, móvil, escritorio y juegos, y documentación pública con ejemplos reales.