VialCentiva Conductor es la aplicacion operativa del ecosistema VialCentiva. Permite que el mototaxista gestione su identidad digital, visualice su reputacion, genere un QR imprimible para recibir evaluaciones, acumule VialPuntos, canjee beneficios y participe en un modelo de movilidad preventiva sostenido por aliados locales.
El repositorio tambien incorpora rutas para administracion y validacion de aliados, por lo que funciona como centro de operacion del PMV: conductor, aliado y administrador comparten un mismo contrato de datos en Supabase.
El sistema esta preparado para operacion online: la app del conductor consulta Supabase en la nube, genera un QR con la URL publica del modulo pasajero y permite que aliados y administradores trabajen desde rutas protegidas. La base de datos utilizada es Supabase y la conexion se realiza con variables de entorno.
Variables principales:
VITE_SUPABASE_URL: URL del proyecto Supabase.VITE_SUPABASE_ANON_KEY: clave anonima publica protegida por RLS.VITE_APP_PASAJERO_URL: URL online del formulario de calificacion del pasajero. El codigo tiene fallback ahttps://vialcentiva.com/calificar.
Contrato de tablas, vistas, RPC y Storage: docs/base-datos-supabase.md. Ejemplo seguro de variables: .env.example.
|
|
En el transporte local, el buen conductor suele quedar indistinguible del resto. Manejar con prudencia, no usar el celular, respetar paraderos y tratar bien al pasajero no genera una ventaja visible. VialCentiva cambia ese incentivo: convierte la buena conducta en reputacion verificable, ranking y beneficios concretos.
La aplicacion del conductor es clave porque lleva el sistema al punto operativo: el conductor obtiene un perfil, una ficha QR, un tablero de avance y una billetera de beneficios.
| Modulo | Ruta / archivo | Funcion |
|---|---|---|
| Login multirol | /, src/pages/Login.jsx |
Acceso para conductor, aliado y administrador mediante RPC de Supabase |
| Dashboard conductor | /dashboard, src/pages/Dashboard.jsx |
Promedio, nivel, VialPuntos, progreso y metricas por criterio |
| Identidad QR | /mi-qr, src/pages/MiQR.jsx |
Genera QR y ficha exportable en PNG para impresion |
| Perfil | /perfil, src/pages/Perfil.jsx |
Datos del conductor, unidad asignada y foto en Supabase Storage |
| Beneficios | /beneficios, src/pages/Beneficios.jsx |
Catalogo, canje de cupones, historial y saldo |
| Consejos | /consejos, src/pages/Consejos.jsx |
Recomendaciones segun comportamiento observado |
| Validador aliado | /validador, src/pages/Validador.jsx |
Negocios aliados validan cupones activos |
| Panel admin | /admin/* |
Gestion de conductores, unidades, aliados, beneficios y canjes |
| Android | android/, capacitor.config.json |
Empaquetado movil con Capacitor |
flowchart TB
A["Conductor"] --> B["Login conductor"]
B --> C["Dashboard reputacional"]
C --> D["Mi QR"]
D --> E["Sticker impreso en mototaxi"]
E --> F["Modulo Pasajero"]
F --> G["Calificaciones en Supabase"]
G --> C
C --> H["VialPuntos"]
H --> I["Beneficios y canjes"]
I --> J["Validador aliado"]
K["Administrador"] --> L["Panel admin"]
L --> G
L --> I
| Tabla, vista o RPC | Uso en la app |
|---|---|
login_conductor_app |
Autenticacion de conductor por telefono y codigo |
login_aliado_app |
Autenticacion de negocio aliado |
login_admin_app |
Autenticacion de administrador |
v_conductor_resumen_app |
Resumen del conductor: promedio, criterios, unidad y sello |
config_niveles |
Rangos de avance y niveles de reputacion |
conductores |
Perfil, foto, VialPuntos y datos operativos |
unidades |
Placa, padron y qr_unico asociado |
v_beneficios_app |
Beneficios disponibles para canje |
canjes_historial |
Historial de cupones y estado de uso |
v_admin_resumen |
Indicadores globales para administracion |
v_admin_conductores |
Vista de gestion de conductores |
v_admin_beneficios |
Vista de beneficios y aliados |
v_admin_canjes |
Historial administrativo y validador |
marcar_canje_utilizado |
RPC para cerrar un cupon entregado |
fotos-conductores |
Bucket de Supabase Storage para avatar del conductor |
- Ingresa con telefono y codigo de acceso.
- Revisa su reputacion global, nivel y avance.
- Descarga una ficha QR imprimible para instalar en la unidad.
- Recibe calificaciones desde la web del pasajero.
- Acumula VialPuntos y desbloquea beneficios.
- Canjea cupones que luego pueden ser validados por aliados.
El aliado no participa solo como patrocinador. Desde /validador, el negocio puede revisar cupones vinculados a su local, buscar por codigo o conductor y marcar beneficios como entregados. Esto convierte el incentivo en una transaccion verificable dentro del piloto.
El panel /admin/* centraliza la operacion:
- Resumen global de reputacion, conductores, unidades, auditorias, aliados, beneficios y canjes.
- Gestion de conductores y unidades.
- Registro de aliados.
- Registro de beneficios y cupones.
- Seguimiento de canjes activos o utilizados.
- Registro de administradores segun rol.
| Capa | Tecnologia | Uso |
|---|---|---|
| UI | React 19 | Interfaz conductor, aliado y admin |
| Build | Vite 8 | Desarrollo y empaquetado |
| Mobile | Capacitor 8 | Contenedor Android y recursos nativos |
| Datos | Supabase JS 2 | Tablas, vistas, RPC y Storage |
| QR | qrcode.react |
Generacion del QR de unidad |
| Exportacion | html-to-image |
Ficha PNG imprimible |
| Estilos | Tailwind CSS 4 | Sistema visual responsive |
| Iconos | Lucide React | Iconografia operativa |
npm install
npm run devBuild web:
npm run build
npm run previewBuild Android con Capacitor:
npm run build
npx cap sync android
npx cap open androidCrea .env.local en la raiz del proyecto:
VITE_SUPABASE_URL=https://tu-proyecto.supabase.co
VITE_SUPABASE_ANON_KEY=tu_clave_anonima
VITE_APP_PASAJERO_URL=https://tu-dominio-pasajero.com/calificarVITE_APP_PASAJERO_URL define a donde apunta el QR generado por el conductor. En desarrollo puede apuntar al puerto local del repositorio pasajero.
| Documento | Contenido |
|---|---|
docs/arquitectura-conductor.md |
Arquitectura, rutas, datos, roles y ejecucion |
docs/base-datos-supabase.md |
Contrato de Supabase: variables, tablas, vistas, RPC y Storage |
docs/despliegue-online.md |
Guia de despliegue online, PWA/Android y QR |
docs/validacion-campo.md |
Evidencia de campo y lectura academica de la validacion |
docs/reference/VialCentiva_Documentacion_Validacion_Final_Local.docx |
Informe tecnico editable usado como base |
- El pasajero no debe estar obligado a entregar DNI ni cuenta.
- El celular del pasajero debe mantenerse opcional.
- El conductor visualiza reputacion agregada, no identidad del pasajero.
- Los datos sensibles del conductor no deben publicarse sin consentimiento.
- Los roles admin, aliado y conductor dependen de RPC y politicas RLS bien configuradas.
- Endurecer autenticacion y politicas RLS por rol.
- Agregar pruebas E2E para login, QR, canje y validador.
- Integrar auditoria de patrones anormales en calificaciones.
- Exportar reportes para asociaciones, aliados y jurado.
- Formalizar consentimiento de uso de imagen y datos de conductores piloto.
- Medir impacto por paradero, periodo, nivel de sello y tipo de beneficio.
Proyecto desarrollado por William Medina como sistema de reputacion e incentivos para mejorar la cultura vial en mototaxis mediante tecnologia accesible, validacion de campo y colaboracion con aliados locales.


