Repository navigation
Doc 02 Mapa del Sitio
Resumen. Todas las rutas que existen hoy en
www.koptup.com(ramamain), sacadas de la carpetaapps/web/src/app: 18 rutas públicas (más la página 404), el hub y las 28 demos, 6 páginas de cuenta, 12 del portal del prospecto y cliente, 13 del panel de administración, 4 rutas internas, 6 rutas API de Next y los archivos especiales (sitemap, robots, imagen para redes). De cada una verás para qué sirve, quién puede entrar, su título SEO real, si Google la puede indexar y una miniatura.Para quién: el dueño (qué páginas tiene el sitio y quién ve cada una) y un desarrollador (archivo, layout y reglas de acceso). Haz clic en cualquier miniatura para verla en grande.
- El sitio en una imagen
- Cómo leer las tablas
- Páginas públicas
- Demos
- Cuenta: entrar, registrarse y activar
- Portal del prospecto y del cliente (
/dashboard) - Panel de administración (
/admin) - Herramientas internas
- Rutas API de Next
- Archivos especiales: sitemap, robots, imagen para redes
- Layouts: qué envuelve a cada ruta
- Para desarrolladores
- Limitaciones conocidas
- Páginas relacionadas
flowchart LR
classDef visitante fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
classDef sesion fill:#dcfce7,stroke:#16a34a,color:#14532d
classDef admin fill:#fef3c7,stroke:#d97706,color:#78350f
classDef sistema fill:#e0e7ff,stroke:#4f46e5,color:#312e81
classDef externo fill:#f1f5f9,stroke:#64748b,color:#334155
ROOT["www.koptup.com"]:::sistema
subgraph PUB["Públicas"]
HOME["/ Inicio"]:::visitante
RAG["/rag y /rag/salud, /rag/legal, /rag/soporte"]:::visitante
SERV["/services y /pricing que redirige"]:::visitante
SEO["/chatbots-ia, /soluciones-ia, /desarrollo-web-colombia"]:::visitante
CONV["/contact y /solicitar-demo"]:::visitante
INFO["/about, /bienvenido-producthunt"]:::visitante
LEGAL["/privacy, /terms, /cookies"]:::visitante
end
subgraph DEM["Demos"]
HUB["/demo hub"]:::visitante
D1["18 demos Abiertas: /demo/slug"]:::visitante
D2["8 demos Con solicitud"]:::admin
D3["2 demos Solo por invitación"]:::admin
GATE["/demo-acceso/slug pantalla de acceso"]:::sistema
EMB["/embed/chatbot/botId chat para otros sitios"]:::visitante
end
subgraph CTA["Cuenta"]
LOGIN["/login, /register, /auth/callback"]:::visitante
PASS["/forgot-password, /reset-password"]:::visitante
ACT["/activar/token"]:::visitante
end
subgraph POR["Portal: requiere sesión"]
DASH["/dashboard y sus secciones"]:::sesion
MIS["/dashboard/demos Mis demos"]:::sesion
end
subgraph PAN["Panel: requiere rol del equipo"]
COM["/admin/solicitudes, /accesos, /catalogo-demos"]:::admin
OPE["/admin, /orders, /invoices, /deliverables, /conversations, /users, /contacts, /settings"]:::admin
end
subgraph INT["Internas"]
LIQ["/liquidacion: equipo"]:::admin
end
subgraph ARCH["Archivos y API de Next"]
FILES["/sitemap.xml, /robots.txt, /opengraph-image, /icon, /manifest.json, /llms.txt, /widget.js"]:::externo
NAPI["/api/linkedin-ads/generate"]:::externo
end
ROOT --> PUB
ROOT --> DEM
ROOT --> CTA
ROOT --> POR
ROOT --> PAN
ROOT --> INT
ROOT --> ARCH
HUB --> D1
HUB --> D2
HUB --> D3
D2 -.->|"sin acceso"| GATE
D3 -.->|"sin invitación"| GATE
Azul: cualquiera entra. Verde: con sesión. Ámbar: depende del rol o del acceso a la demo. Gris: archivos y rutas técnicas. La línea punteada muestra que una demo restringida, sin acceso, enseña la pantalla de acceso sin cambiar la URL.
| Columna | Valores |
|---|---|
| Quién entra | Público (cualquiera) · Sesión (cualquier cuenta con sesión) · Rol (los roles indicados; ver Roles y permisos) · Acceso a demo (según el modo de la demo) |
| Título SEO | El <title> real que entrega el servidor (el | separa el sufijo de marca) |
| Indexable |
Sí: Google puede indexarla y está en sitemap.xml. No: tiene noindex (en la etiqueta robots o en la cabecera X-Robots-Tag), está bloqueada en robots.txt o ambas |
| Miniatura | Captura real; haz clic para verla completa. "—" cuando la ruta no tiene pantalla propia |
Todas llevan el menú y el pie de página comunes. Detalle de cada una, con capturas grandes, en Páginas públicas.
El modo es el por defecto; el administrador lo cambia en Admin › Catálogo de demos (Manual del administrador). Las demos Con solicitud y Solo por invitación muestran a quien no tiene acceso el título "Nombre: acceso | KopTup"; el título de la tabla es el que ve quien sí entra. Cómo se decide el acceso: Roles y permisos §4.
| Ruta | Demo | Modo | Título SEO | Indexable | Miniatura | Guía |
|---|---|---|---|---|---|---|
/demo/chatbot |
Chatbot RAG con tus documentos | Abierta (siempre) | Demo RAG: prueba con tu documento | KopTup | Sí | ![]() |
Guía |
/demo/code-review-ia |
Revisión de código con IA | Abierta | Demo de code review con IA: revisión de pull requests | KopTup | Sí | ![]() |
Guía |
/demo/crm-ia |
CRM con IA | Abierta | CRM con IA: demo de embudo de ventas y pronóstico | KopTup | Sí | ![]() |
Guía |
/demo/helpdesk-ia |
Mesa de ayuda con IA | Abierta | Helpdesk con IA: demo de mesa de ayuda omnicanal | KopTup | Sí | ![]() |
Guía |
/demo/facturacion-electronica |
Facturación electrónica | Abierta | Facturación electrónica DIAN: simulador | KopTup | Sí | ![]() |
Guía |
/demo/pos |
Punto de venta (POS) | Abierta | POS para retail y restaurantes: demo interactiva | KopTup | Sí | ![]() |
Guía |
/demo/ecommerce |
Tienda en línea | Abierta | Demo de tienda en línea: catálogo, carrito, pago simulado y reportes | KopTup | Sí | ![]() |
Guía |
/demo/loyalty |
Programa de fidelización | Abierta | Programa de fidelización: demo interactiva | KopTup | Sí | ![]() |
Guía |
/demo/control-proyectos |
Gestión de proyectos | Abierta | Demo de gestión de proyectos con portal de cliente | KopTup | Sí | ![]() |
Guía |
/demo/sistema-reservas |
Sistema de reservas | Abierta | Sistema de Reservas Online y Agendamiento de Citas | KopTup | Sí | ![]() |
Guía |
/demo/dashboard-ejecutivo |
Dashboard ejecutivo | Abierta | Demo de tablero ejecutivo: ventas, finanzas y cartera | KopTup | Sí | ![]() |
Guía |
/demo/gestor-documentos |
Gestor documental | Abierta | Gestor Documental Médico para Archivos Clínicos | KopTup | Sí | ![]() |
Guía |
/demo/gestor-contenido |
Gestor de contenido | Abierta | Demo de CMS headless: modelos, editor visual y API | KopTup | Sí | ![]() |
Guía |
/demo/automatizacion |
Automatización de procesos | Abierta | Automatización de Workflows y Procesos | KopTup | Sí | ![]() |
Guía |
/demo/scraping |
Extracción de datos web | Abierta | Demo: extracción y monitoreo de datos de la web y de documentos | KopTup | Sí | ![]() |
Guía |
/demo/moderacion-contenido |
Moderación de contenido con IA | Abierta | Moderación de Contenido con IA: Trust & Safety | KopTup | Sí | ![]() |
Guía |
/demo/saas-boilerplate |
Plataforma SaaS multiempresa | Abierta | SaaS Multi-tenant: Auth y Billing con Stripe | KopTup | Sí | ![]() |
Guía |
/demo/firma-electronica |
Firma electrónica | Abierta | Firma Electrónica de Documentos con Validez Legal | KopTup | Sí | ![]() |
Guía |
/demo/voice-ai |
Voz con IA para call center | Con solicitud | Demo de agente de voz con IA para call center | KopTup | No | ![]() |
Guía |
/demo/erp |
ERP modular | Con solicitud | Demo ERP: ventas, inventario, compras y contabilidad | KopTup | No | ![]() |
Guía |
/demo/delivery |
App de domicilios | Con solicitud | App de domicilios: cliente, sede, operaciones y repartidor | KopTup | No | ![]() |
Guía |
/demo/hrms |
Gestión de talento humano (HRMS) | Con solicitud | Demo de gestión humana y nómina colombiana | KopTup | No | ![]() |
Guía |
/demo/lms |
Plataforma de aprendizaje (LMS) | Con solicitud | Demo LMS: plataforma de cursos virtuales con tutor IA | KopTup | No | ![]() |
Guía |
/demo/telemedicina |
Telemedicina | Con solicitud | Demo de telemedicina para IPS | KopTup | No | ![]() |
Guía |
/demo/wms-logistica |
Logística y bodegas (WMS) | Con solicitud | WMS: Logística de Bodegas, Picking e Inventario | KopTup | No | ![]() |
Guía |
/demo/linkedin-ads |
Generador de contenido para LinkedIn con IA | Con solicitud | Generador de Contenido para LinkedIn con IA | KopTup | No | ![]() |
Guía |
/demo/cuentas-medicas |
Sistema experto para salud (cuentas médicas) | Solo por invitación | Sistema experto para salud: auditar cuentas médicas | KopTup | No | ![]() |
Guía |
/demo/sistema-experto |
Sistema experto de auditoría médica | Solo por invitación | Motor de reglas para auditoría de cuentas médicas | KopTup | No | ![]() |
Guía |
Todas las demos usan datos de ejemplo. Cada demo tiene su propio layout.tsx con sus metadatos y comparte el layout de /demo, que agrega el bloque final "¿Te gustaría algo así para tu negocio?".
Todas están bloqueadas en robots.txt, llevan noindex, nofollow (en la etiqueta y en la cabecera X-Robots-Tag) y un canonical a su propia ruta, salvo /activar/<token>, que no lleva canonical para no repetir el enlace. Recorridos con capturas en Flujos del prospecto y cliente.
Requiere sesión. Un prospecto solo entra a Mis demos y Mi perfil; cualquier otra ruta del portal lo lleva a Mis demos. Todas son noindex y están bloqueadas en robots.txt. El título de la pestaña nombra la sección, por ejemplo "Mis demos · Mi portal | KopTup" ("Mi portal | KopTup" mientras carga). Detalle en Flujos del prospecto y cliente §9.
Requiere un rol del equipo. Todas son noindex y están bloqueadas en robots.txt. El título de la pestaña nombra la sección, por ejemplo "Solicitudes de demo · Panel | KopTup" ("Panel de administración | KopTup" mientras carga). Paso a paso en el Manual del administrador.
Un sales que escribe /admin llega a /admin/solicitudes; cualquier otro rol sin permiso vuelve a su página de inicio.
Viven en apps/web/src/app/api/ y corren en Vercel. La API principal está en Railway (API).
| Ruta | Método | Para qué sirve | Quién la usa |
|---|---|---|---|
/api/linkedin-ads/generate |
POST | Proxy hacia POST /api/linkedin-ads/generate del backend: reenvía el cuerpo, la sesión (cookie → Authorization) y la IP del visitante. Si el backend no responde, devuelve 503 |
Demo LinkedIn Ads |
/api/ está bloqueada en robots.txt y el middleware no la intercepta.
| Ruta | Qué es | Origen |
|---|---|---|
/sitemap.xml |
16 páginas fijas (inicio, /rag y sus 3 sectores, landings, /services, /demo, formularios, /about y legales) y las demos Abiertas y activas según Admin › Catálogo de demos (hoy 18, 34 URLs en total). Lee el catálogo del backend y se regenera como mucho cada hora; si el backend no responde, usa los modos por defecto. Fecha de modificación fija para no simular cambios en cada despliegue |
src/app/sitemap.ts y src/lib/sitemap-demos.ts
|
/robots.txt |
Permite todo menos /dashboard, /admin, /api/, /login, /register, /forgot-password, /reset-password, /auth/, /test, /liquidacion, /activar/, /propuesta/, /demo-acceso/ y URLs con sessionId= o token=. Bloquea por completo a AhrefsBot, SemrushBot, DotBot, MJ12bot, GPTBot y CCBot. Bingbot con Crawl-delay: 5
|
public/robots.txt |
/opengraph-image |
Imagen de 1200 × 630 que se ve al compartir el sitio en redes y chats |
src/app/opengraph-image.tsx (se genera en el servidor) |
/icon |
Ícono del sitio (32 × 32) |
src/app/icon.tsx (se genera al compilar) |
/manifest.json |
Manifiesto de la app web (nombre, colores, íconos) | public/manifest.json |
/llms.txt |
Resumen del negocio en texto para asistentes de IA | public/llms.txt |
/widget.js |
Script del widget del chatbot para pegar en el sitio de un cliente; abre /embed/chatbot/<botId>
|
public/widget.js |
/favicon.ico, /apple-touch-icon.png, /icon-192.png, /icon-512.png, /logo.svg, /og-image.png
|
Íconos e imágenes estáticas | public/ |

La imagen que genera /opengraph-image (reducida). Es la que aparece al compartir www.koptup.com en WhatsApp, LinkedIn o X.
flowchart TD
classDef sistema fill:#e0e7ff,stroke:#4f46e5,color:#312e81
classDef visitante fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
classDef admin fill:#fef3c7,stroke:#d97706,color:#78350f
ROOT["app/layout.tsx: idioma, mensajes, tema, analítica con consentimiento, aviso de cookies, notificaciones"]:::sistema
COND["ConditionalLayout: menú y pie de página"]:::sistema
OWN["Sin menú del sitio: /dashboard y /admin traen su propio encabezado"]:::sistema
META["layout.tsx de metadatos: about, contact, services, solicitar-demo, legales, landings SEO, producthunt y páginas de cuenta"]:::visitante
DEMO["demo/layout.tsx: metadatos del hub y bloque final de contacto"]:::visitante
DSLUG["demo/slug/layout.tsx: título, descripción y canonical de cada demo"]:::visitante
ADM["admin/layout.tsx: noindex y título por sección"]:::admin
DSH["dashboard/layout.tsx: noindex y título por sección"]:::admin
EMB["embed/layout.tsx: noindex, chat a pantalla completa"]:::visitante
TST["test/layout.tsx: noindex y 404 en producción"]:::admin
ROOT --> COND
ROOT --> OWN
COND --> META
COND --> DEMO --> DSLUG
COND --> EMB
COND --> TST
OWN --> ADM
OWN --> DSH
Todas las páginas se renderizan en el servidor en cada visita porque el layout raíz lee la cookie de idioma. El middleware actúa antes que cualquier layout en /admin, /dashboard, /liquidacion y /demo/<slug> (ver Arquitectura §4.2).
Para agregar una página:
- Crea
apps/web/src/app/<ruta>/page.tsx(ylayout.tsxsi necesita metadatos propios desde un componente de cliente). - Define el título con la plantilla
%s | KopTupy verifica que no pase de 60 caracteres:npm run check-titles --workspace=apps/web(el CI lo corre). - Si es pública e indexable, agrégala a
src/app/sitemap.ts(las demos se listan solas según el catálogo). Si es privada, agrégala apublic/robots.txt, dale sus metadatos conprivatePageMetadata()delib/seo-config.ts(noindexy canonical propio, o ninguno si la ruta lleva un token) y, si exige sesión, súmala almatcherdesrc/middleware.tsy alib/auth-roles.ts. - Si es una demo, agrega su slug a
lib/demo-access-defaults.tsy a la semilla del backend (data/demo-catalog.seed.tsyDEFAULT_DEMO_ACCESS_MODES); una prueba verifica que coincidan con las carpetas deapp/demo/. - Agrega sus textos a
messages/es.jsonymessages/en.json(o amessages/demos/<slug>.<idioma>.json).
-
/liquidacionusa el título por defecto del sitio, y tanto ella como las demos restringidas abiertas por alguien con acceso tienen la etiquetaindex, follow, aunque la cabeceraX-Robots-Tag: noindexlas protege. - El sitemap tarda hasta una hora en reflejar un cambio de modo en el catálogo de demos.
-
El botón "GitHub" de
/loginy/registerno hace nada (solo Google está implementado).
- Páginas públicas: cada página pública en detalle.
- Guía de demos: índice de las 28 demos.
- Roles y permisos: quién entra a cada área.
- SEO, analítica y legal: metadatos, sitemap y consentimiento.
- Arquitectura: cómo se sirve cada ruta.
- Plan relacionado: Plan por sección.
Inicio · Estado y próximos pasos · Correcciones pendientes
Documentación (lo que existe hoy)
- 00 · Índice
- 01 · Arquitectura · 02 · Mapa del sitio
- 03 · Páginas públicas
- 04 · Flujos del visitante
- 05 · Prospecto y cliente
- 06 · Manual del administrador
- 07 · Guía de demos (28)
- 08 · API · 09 · Modelos de datos
- 10 · Roles y permisos
- 11 · Operación y despliegue
- 12 · SEO, analítica y legal
- 13 · Glosario y preguntas
- 14 · Diagramas de flujo: negocio · administración · técnicos
Estrategia
Cliente y demos
Sitio
Productos
- 08 · Catálogo de productos
- Producto principal: Sistemas RAG
- Otras soluciones a medida:
- Ventas y atención: CRM · Helpdesk · Voice AI · Fidelización
- Finanzas y talento: ERP · Facturación · HRMS · Firma
- Comercio y logística: E-commerce · POS · WMS · Delivery · Reservas
- Datos y productividad: BI · Documentos · Automatización · Extracción de datos · CMS · Proyectos
- Salud y educación: Telemedicina · LMS
- Tecnología: Code review · QA · SaaS multi-tenant · VPN · Moderación
- Fuera del catálogo: Cuentas médicas · Motor de reglas · LinkedIn Ads
Plataforma
Roadmap














































































