ROADMAP-01 Fases de producto y alcance por etapa
ROADMAP-01 — Fases de producto y alcance por etapa
Sección titulada «ROADMAP-01 — Fases de producto y alcance por etapa»Propósito
Sección titulada «Propósito»Ubicar cada capacidad en una fase y registrar el inventario completo de pantallas sin crear un documento por pantalla. Este documento es el índice; los US/BE/FE reales se crean solo cuando una fase arranca (RF-01: se registra con su US antes de implementarse).
La deuda de capacidad (1.000 / 10.000 usuarios) vive en ARCH-06. Aquí se fija en qué fase se atiende, sin inventar un nodo por ítem.
| Fase | Nombre | Estado | Contenido |
|---|---|---|---|
MVP_0 |
Base end-to-end | EN CURSO | Compra completa Mercado Pago sandbox + reset visual + admin de catálogo, órdenes y métricas |
MVP_1 |
Catálogo completo y cuenta | PLANIFICADA | Variantes, marcas, etiquetas, direcciones, recuperación de contraseña, perfil, auth recovery |
MVP_2 |
Operación y conversión | PLANIFICADA | Marketing, CMS, envíos, RBAC granular, inventario avanzado, reembolsos, reseñas |
MVP_3 |
Plataforma y localidad | PLANIFICADA | Constructor visual, plugins (SUNAT, WhatsApp), multi-idioma/moneda, dominios/SSL |
Inventario de pantallas por módulo y fase
Sección titulada «Inventario de pantallas por módulo y fase»Tabla de referencia. Cada fila se promueve a
US/BE/FEcuando su fase arranca; hasta entonces no genera nodos.
| Módulo | Pantallas | Fase |
|---|---|---|
| 1. Landing pública | Home / listado (búsqueda y filtro categoría), detalle, carrito, checkout, login, registro, mis pedidos | MVP_0 |
| 1. Landing pública (cuenta) | Recuperar contraseña, Mi cuenta / perfil | MVP_1 |
| 2. Catálogo | Productos: listado, crear, editar, duplicar, importar Excel, exportar | MVP_1 |
| 2. Catálogo (extras) | Categorías: listado/crear/editar · Marcas: listado/crear/editar · Etiquetas · Variantes | MVP_1–MVP_2 |
| 3. Inventario | Stock general, Movimientos, Ajustes, Entradas, Salidas, Kardex | MVP_2 |
| 4. Pedidos | Dashboard, Lista, Detalle, Seguimiento, Reembolso, Cambios y devoluciones | MVP_2 |
| 5. Clientes | Lista, Perfil, Historial de compras, Direcciones, Segmentos | MVP_1–MVP_2 |
| 6. Marketing | Cupones (crear/listado), Promociones (2x1, descuentos, packs), Banners (home/categorías), Email (campañas/plantillas) | MVP_2 |
| 7. CMS | Páginas, Blog (entradas), Menús, Footer | MVP_2–MVP_3 |
| 8. Config visual | Tema (presets modern/market/fashion), Colores, Tipografía, Logo, Favicon, Hero |
MVP_1 (tokens) |
| 8. Config visual (builder) | Constructor Home + bloques: hero, categorías, destacados, banner, testimonios, FAQ, newsletter | MVP_3 |
| 9. Pagos | Métodos de pago, Configuración API, Historial de pagos | MVP_2 |
| 10. Envíos | Transportistas, Tarifas, Zonas, Seguimiento | MVP_2–MVP_3 |
| 11. Reportes | Dashboard, Ventas, Productos, Clientes, Inventario | MVP_0 base / MVP_2 extendido |
| 12. Usuarios y roles | Usuarios, Roles, Permisos (Owner/Manager/Marketing/Inventario/Atención) | MVP_2 |
| 13. Config tenant | Datos empresa, Facturación, Moneda, Impuestos, Dominios, Certificados SSL | MVP_2–MVP_3 |
| 14. Marketplace | WhatsApp Business, Facturación Electrónica (SUNAT), Chat IA, Puntos, Afiliados, Dropshipping, ERP, CRM | MVP_3 (catálogo de plugins) |
Infra y deuda de capacidad (cuándo, sin nodo extra)
Sección titulada «Infra y deuda de capacidad (cuándo, sin nodo extra)»No se crean BE-15 «Redis» ni un FE «CDN». Si el ítem ya tiene dueño en MVP_0, se hace dentro de esa tarea. Si no, se decide y se documenta al arrancar la fase.
| Ítem | Fase | Dónde se ejecuta | No es |
|---|---|---|---|
Rate limit auth, CORS, JWT vs X-Store-Id |
MVP_0 |
BE-09 | una tarea «seguridad extra» |
limit máximo 50 |
MVP_0 |
DS-02 + OpenAPI al tocar listProducts |
un BE de paginación |
Índices cart_items(cart_id), unique ACTIVE |
MVP_0 |
siguiente migración Flyway al tocar carrito/inventario (BE-05 / BE-08, DS-01) | un BE «índices» |
N+1 del carrito; GET /cart al aterrizar; UX 429 |
MVP_0 |
deuda BE-04 / FE-05 / FE-02 al volver a tocar el módulo | FE nuevas |
| Checkout, webhooks, órdenes, reservas | MVP_0 |
BE-05, BE-06, BE-07, BE-08, FE-06, FE-07, ARCH-05 | reescribir esos nodos |
| Secretos, pool Hikari, health sin detalles | MVP_0 |
BE-11, BE-10, DEPLOY-01 | un ADR de «prod» |
Índice FTS/trigram de products.name |
MVP_1 |
DS-01 + migración cuando el catálogo deje de ser semilla | un BE «búsqueda» ahora |
| Imágenes de producto + CDN de estáticos | MVP_1 |
ADR + DS de almacenamiento; el CDN entra con las fotos | FE de CDN en MVP_0 |
| SSR / service worker | MVP_1 |
se decide al haber catálogo público real (ADR) | FE de Angular SSR ahora |
| Caché de catálogo (Redis u origin cache) | MVP_1 |
ADR + DS después de que exista la compra | un BE Redis ahora |
Cookies HttpOnly vs localStorage |
MVP_1 |
ADR que revisa ADR-04, al primer entorno no-local o con cuenta real | un ADR en MVP_0 |
| Réplica Postgres, Kubernetes, multi-instancia | MVP_3 o al haber tráfico público sostenido |
DEPLOY futuro | nodos de escala en MVP_0 |
Qué NO se documenta como nodo (descartado)
Sección titulada «Qué NO se documenta como nodo (descartado)»- Un documento por cada pantalla antes de su fase (Anti-YAGNI, ARCH-02).
- PayPal, FedEx y DHL como núcleo peruano: quedan como plugin opcional o fuera (ADR-18, ADR-19).
- Fork, repo/JAR o despliegue por cliente;
if (storeId == …)(ADR-17). - Runtime de plugins en
MVP_0; multi-idioma/multimoneda antes deMVP_3. - Imágenes de producto y recuperación de contraseña dentro de
MVP_0(siguen excluidas ahí; entran enMVP_1). - Promociones, banners y cupones en la landing de
MVP_0(ARCH-05; módulo Marketing enMVP_2). - Email marketing, ERP, CRM, dropshipping, chat IA y afiliados como módulos a construir: existen solo como catálogo de extensiones (
MVP_3). - Tareas sueltas de «escala», Redis, CDN, índices o rate limit: el cuándo está en la tabla de arriba, no en un nodo extra (ARCH-06).
Decisiones diferidas (no se elevan a ADR hasta su fase)
Sección titulada «Decisiones diferidas (no se elevan a ADR hasta su fase)»| Tema | Se decide en | Documento futuro |
|---|---|---|
| Variantes de producto (SKU/precio/stock) | MVP_1 |
ADR + DS |
Cookies HttpOnly vs localStorage para refresh |
MVP_1 |
ADR que revisa ADR-04 |
| Caché de catálogo (Redis vs Cache-Control/CDN) | MVP_1 |
ADR + DS |
| SSR / service worker | MVP_1 |
ADR |
| Almacenamiento y CDN de imágenes | MVP_1 |
ADR + DS |
| Facturación electrónica SUNAT | MVP_3 |
ADR + DS + BE/FE |
| Couriers peruanos (Olva, Shalom) | MVP_2 |
ADR + DS |
| QR Yape/Plin vía Culqi Órdenes | MVP_2 |
RES-02; ADR + DS + BE/FE al arrancar la fase |
| RBAC granular y permisos | MVP_2 |
ADR + DS |
| CMS propio vs. headless | MVP_2 |
ADR |
| Dominios y certificados SSL por tenant | MVP_3 |
ADR + DS |
| Multi-idioma / multimoneda | MVP_3 |
ADR |
| Topología multi-instancia (réplica, orquestación) | MVP_3 o tráfico público sostenido |
DEPLOY |
Elevar cualquiera de estas exige crear su ADR/DS antes del código (ADR-01, ADR-10).
Trazabilidad
Sección titulada «Trazabilidad»- Tesis y verticales: VISION-01.
- Bounded contexts y fronteras técnicas: ARCH-04.
- Negocio y planes: ADR-18. Extensibilidad: ADR-19.
- Capacidad 1k/10k y dueños de deuda: ARCH-06.
- UX de compra y exclusión de promociones en
MVP_0: ARCH-05. - Reset visual, presets y Theme Engine: ADR-21 (spec en ARCH-07).