Portal de acceso al sistema de gestión de créditos corporativos CupoFlow
Translation pending
BusinessHTML · JavaScriptGitHub @Cabrales16OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Gestión de cupos de crédito para una distribuidora de materiales: formulario, panel de aprobación y portal de consulta. Demo sin servidor, con pruebas E2E.
Translation pending
Loading the full README.
Read the full README ↗Solicitud, aprobación y consulta de cupos de crédito para una distribuidora de materiales de construcción. Cuatro aplicaciones web (índice, formulario, panel y portal) que corren 100 % en el navegador, con un servidor simulado y datos ficticios.
Proyecto de portafolio. Todo lo que ves en la demo (empresas, NIT, personas, centros de distribución, correos y montos) es inventado. El repositorio no contiene credenciales, identificadores de recursos, direcciones de despliegue ni datos reales; el flujo de despliegue ejecuta un escáner de secretos.
No hay servidor: un backend simulado corre en tu navegador y guarda los cambios en localStorage.
Cada pantalla tiene una píldora DEMO (abajo a la izquierda) con accesos rápidos por rol, la bandeja de correos simulados y el botón Restablecer datos.
Contraseña de todas: Demo2025!
| Rol | Correo | App | Qué puede hacer |
|---|---|---|---|
| ADMIN | [email protected] | Panel + Portal | Todo: aprobar, devolver, rechazar, editar, usuarios, copias de seguridad, auditoría, IA |
| OPERACIONES | [email protected] | Portal | Consultar créditos, marcar perfil creado por centro y comentar |
| CONSULTAS | [email protected] | Portal | Solo lectura (las acciones de escritura son rechazadas) |
| Ejecutivo comercial | [email protected] | Portal | Vista de solicitudes de sus clientes (rol CONSULTAS) |
| Inactivo | [email protected] | — | Para probar el mensaje de cuenta desactivada |
| Solicitante | (cualquier correo) | Formulario | No requiere cuenta: el código de verificación aparece en pantalla |
| Servicio | En la demo |
|---|---|
| Correo (códigos, cartas, alertas) | Bandeja simulada dentro de la página; los códigos se muestran en pantalla |
| Almacenamiento de documentos | Solo metadatos; el visor abre un PDF de ejemplo generado en el navegador |
| Base de datos | localStorage con datos semilla ficticios |
| IA (análisis de expedientes, chat, extracción) | Respuestas de ejemplo con aviso «simulado» |
| Autenticación y sesiones | Sesiones en localStorage con el mismo contrato |
| Exportaciones Excel / PowerPoint | Archivos .xlsx y .csv reales generados en el navegador |
Formulario de solicitud (público)
Panel de control (administración)
Portal de consulta (operaciones y ejecutivos)
Índice: portal de acceso a las tres herramientas.
Capturas reales tomadas de la demo con un navegador headless (npm run screenshots).
| Login y accesos rápidos por rol | Panel · Dashboard |
| Panel · Solicitudes | Panel · Detalle y acciones |
| Panel · Créditos | Panel · Usuarios |
| Panel · Auditoría | Panel · Copias de seguridad |
| Portal · Dashboard | Portal · Créditos |
| Portal · Notificaciones | Formulario · Paso 1 |
flowchart LR
subgraph Build["node demo/build.mjs"]
SRC["src/*/Index.html<br/>(frontends, include() resueltos)"]
SHIM["demo/shim<br/>API en el navegador · store · semilla · UI demo"]
MOCK["demo/mock/*.js<br/>backend simulado por app"]
end
SRC & SHIM & MOCK --> SITE["site/ (HTML estático)"]
SITE --> PAGES["GitHub Pages"]
subgraph Navegador
FE["Frontend"] -- "google.script.run.apiXxx()" --> SH["shim.js"]
SH --> H["DemoKit.handlers.apiXxx"]
H <--> LS[("localStorage<br/>demo-db")]
H --> SIM["Correo · documentos · IA<br/>simulados"]
end
PAGES --> FE
La lógica del frontend no se toca: shim.js implementa la interfaz de la API y despacha cada llamada a un handler que reproduce el contrato (argumentos y forma de la respuesta) de cada operación api*.
.
├── src/ # Frontends de las 4 apps (HTML, CSS y JS del cliente)
│ ├── indice/ # Portal de acceso
│ ├── formulario/ # Solicitud de crédito
│ ├── panel/ # Panel de control
│ └── portal/ # Portal de consulta
├── demo/
│ ├── build.mjs # genera ./site a partir de src/ + shim + mocks
│ ├── shim/ # API en el navegador, localStorage, semilla, UI de la demo, xlsx
│ └── mock/ # backend simulado: indice / formulario / panel / portal
├── tools/
│ ├── e2e/ # pruebas E2E con Playwright (todos los roles y flujos de escritura)
│ ├── scan-secrets.mjs # escáner de secretos y datos personales
│ ├── screenshots.mjs # capturas reales de la demo
│ ├── cover.mjs # portada tipo mockup
│ └── serve.mjs # servidor estático local
├── assets/ # portada, capturas y logo de la demo
├── .github/workflows/pages.yml # build + escaneo + despliegue en GitHub Pages
└── package.json
npm install # solo instala playwright-core (para pruebas y capturas)
npm run build # genera ./site
npm run serve # http://localhost:4173
npm test # E2E de todas las apps (usa Chrome o Edge instalado)
npm run scan # escaneo de secretos sobre todo el repo
No necesitas dependencias para construir o servir la demo:
demo/build.mjssolo usa Node 18 o superior.
Este proyecto se desarrolló con asistencia de IA (Claude) en el código, los datos de ejemplo y la documentación. La revisión, las decisiones y las pruebas son mías.
Andrés Cabrales Baena · Desarrollador de software · andrescabralesbaena.com