Skip to content

Repository files navigation

VialCentiva Conductor

Logo oficial VialCentiva

PMV React Capacitor Supabase

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.

Estado Online

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 a https://vialcentiva.com/calificar.

Contrato de tablas, vistas, RPC y Storage: docs/base-datos-supabase.md. Ejemplo seguro de variables: .env.example.

Evidencia De Campo

QR instalado en mototaxi Afiche promocional VialCentiva

Problema Que Atiende

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.

Producto Implementado

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

Arquitectura Funcional

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
Loading

Contrato De Datos

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

Experiencia Del Conductor

  1. Ingresa con telefono y codigo de acceso.
  2. Revisa su reputacion global, nivel y avance.
  3. Descarga una ficha QR imprimible para instalar en la unidad.
  4. Recibe calificaciones desde la web del pasajero.
  5. Acumula VialPuntos y desbloquea beneficios.
  6. Canjea cupones que luego pueden ser validados por aliados.

Experiencia Del Aliado

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.

Panel Administrativo

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.

Stack

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

Ejecucion Local

npm install
npm run dev

Build web:

npm run build
npm run preview

Build Android con Capacitor:

npm run build
npx cap sync android
npx cap open android

Variables De Entorno

Crea .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/calificar

VITE_APP_PASAJERO_URL define a donde apunta el QR generado por el conductor. En desarrollo puede apuntar al puerto local del repositorio pasajero.

Documentacion Interna

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

Seguridad Y Privacidad

  • 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.

Roadmap

  • 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.

Creditos

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.

About

Aplicacion web para conductores de VialCentiva con acceso, perfil operativo y generacion de QR.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages