Prototipo navegable · datos ficticios
Prototipos funcionales con un backend simulado que hace cumplir las reglas de la definición: activación por código, límites de cuentas, administrador único, modo solo lectura y separación entre apps. Todo corre en tu navegador.
Equipo interno
Empresas, usuarios, bloqueos, códigos de activación, solicitudes de acceso y auditoría global.
Abrir consola → 02Administrador y sub administradores
Alta de empresa, activación por código, equipo, suscripción, actividad y apariencia.
Abrir consola → 03Operativos
PWA instalable. Inicio, trabajo, informes condicionados y perfil. Sin registro.
Abrir app →Todas usan la contraseña demo1234.
| Correo | App | Quién es | Para probar |
|---|---|---|---|
dev@plataforma.mx | Plataforma | developer | Todo: suspender, bloquear, crear y cancelar códigos, aprobar solicitudes |
soporte@plataforma.mx | Plataforma | support | Ve lo mismo, pero las acciones sensibles le dan error |
nuevo@plataforma.mx | Plataforma | pendiente | No puede entrar hasta que un developer lo apruebe |
admin@transportescruz.mx | Consola + campo | Administrador | Empresa activa con 25 cuentas e informes. Entra también en la app de campo |
lucia@transportescruz.mx | Consola + campo | Sub administradora | Crea operativos, pero no sub administradores |
admin@clinicaandes.mx | Consola + campo | Administradora | Empresa sin activar: solo llega a la activación y a Ajustes |
admin@panaderiasol.mx | Consola + campo | Administradora | Modo solo lectura: la concesión venció |
marta@transportescruz.mx | Solo campo | Operativa | PWA con informes activados. En la consola da wrong_app |
julio@transportescruz.mx | Solo campo | Operativo | Ascenderlo a sub administrador le añade la consola sin quitarle campo |
diego@panaderiasol.mx | Solo campo | Operativo | PWA en modo solo lectura |
Prueba el acceso por rol: entra con
marta@transportescruz.mx en la consola. La contraseña es correcta
y aun así devuelve wrong_app: su rol es operativa. Ahora entra con
admin@transportescruz.mx en la app de campo y sí pasa —
administrador y sub administradores llegan a las dos.
Se canjean en la consola del cliente, en la pantalla de activación o en Suscripción. Se aceptan con guion o sin él, en mayúsculas o minúsculas. Los códigos nuevos los genera el sistema: 8 caracteres sin I, L, O, U, 0 ni 1.
| Código | Concede | Vigencia | Qué demuestra |
|---|---|---|---|
K7RM-3PQX | 25 cuentas · informes avanzados | 90 días | Activación normal |
W4ND-XH92 | 50 cuentas · informes | Permanente | Concesión sin vencimiento |
P3TJ-8VKB | 10 cuentas · informes | 7 días | Vencimiento cercano — avanza 7 días y verás el modo solo lectura |
R9SZ-2MFC | — | — | code_exhausted: sin canjes disponibles |
H6QW-5NDT | — | — | code_expired: fuera de su ventana |
B2XK-F7YM | — | — | Cancelado y agotado a la vez: se muestra «Cancelado», y al canjearlo responde igual que uno caducado |
NOEXISTE | — | — | code_invalid |
wrong_app.
El botón «Simulación», abajo a la derecha, adelanta el reloj. Es la
forma de ver la caducidad sin esperar 90 días: canjea P3TJ-8VKB, avanza
siete días y la empresa pasa a solo lectura sola. También reinicia los datos.
Son ficheros estáticos, sin compilación ni dependencias. Dos caminos:
# Con Wrangler, desde la raíz del repositorio npx wrangler pages deploy sim --project-name=connectapp-sim
O desde el panel de Cloudflare: Workers & Pages → Create → Pages →
Upload assets, y arrastra la carpeta sim/.
/mobile/ con «Añadir a pantalla de inicio».
Los datos viven en el navegador de cada visitante
(localStorage), así que dos personas que abran el mismo enlace no se
pisan. Nada se envía a ningún servidor.
Esto valida flujos, reglas y aspecto — no es el producto. No hay backend real, ni
Supabase, ni sesiones en servidor, ni cookies httpOnly: las contraseñas
están en claro en el código de la simulación, a propósito, porque no hay nada que
proteger. La zona de trabajo de la app de campo sigue siendo un marcador de posición
mientras el dominio funcional no esté definido.