Plataforma que brinda movilidad como servicio conectando conductores y clientes

Resumen del proyecto

1. ⁠Objetivo del cliente

A. Objetivo principal del proyecto y requisitos clave del negocio

Desarrollar una plataforma de transporte bajo demanda, similar a un servicio de taxi, compuesta por dos aplicaciones móviles independientes: una orientada a los clientes y otra a los conductores.

Adicionalmente, el proyecto contempla el desarrollo de una plataforma web de administración, desde la cual se gestionan las operaciones del sistema y la configuración dinámica de precios mediante parámetros definidos por el negocio.

B. Funcionalidades más relevantes solicitadas por el cliente

Además de las funcionalidades básicas propias de este tipo de plataformas:

  • Gestión de conductores.
  • Gestión de clientes.
  • Gestión de roles para la administración permitiendo que haya roles dinámicos.
  • Visualización de trasa donde se guardan los eventos que suceden dentro de la aplicación. 

 El cliente solicitó la implantación de características avanzadas, entre las que se incluyen:

  • Posibilidad de contraoferta de precio por parte del cliente frente a la tarifa inicial calculada por la plataforma.
  • Soporte para viajes multidestino, permitiendo múltiples paradas entre el origen y el destino final.
  • Gestión de parámetros configurables desde la plataforma de administración, tales como:
  1. Precio por kilómetro.
  2. Tiempo máximo de espera permitido al arribo del conductor.
  3. Monto a cobrar por el tiempo de espera adicional.

C. Restricciones técnicas o comerciales claves

El proyecto estuvo condicionado por diversas restricciones técnicas y operativas, entre las que destacan:

  • La necesidad de soportar operaciones en tiempo real, como el seguimiento de conductores y la actualización inmediata del estado de los viajes.
  • La implementación de lógica de precios flexible y configurable, capaz de adaptarse a distintos escenarios operativos.
  • La obligación de garantizar precisión geoespacial para el cálculo de rutas, distancias y tiempos estimados.
  • La validación del sistema en un entorno controlado con usuarios reales, lo que requirió estabilidad, trazabilidad de errores y rápida capacidad de ajuste.

D. Tipo de sistema: plataforma pública o sistema interno/privado

El sistema está compuesto por dos aplicaciones móviles de acceso público, una para clientes y otra para conductores, diseñadas para su distribución a través de plataformas móviles.

Adicionalmente, cuenta con una plataforma web de administración de uso interno, destinada a la gestión operativa del sistema, configuración de parámetros, control de precios y supervisión general de la plataforma.

Actualmente, aunque las aplicaciones están concebidas como soluciones públicas, el sistema se encuentra en una fase de despliegue controlado, limitada a un grupo reducido de usuarios y conductores para fines de validación y pruebas previas al lanzamiento oficial.


2.⁠ ⁠⁠Detalles sobre su contribución

A. Tecnologías y frameworks utilizados

Para el desarrollo de la plataforma se empleó un stack tecnológico moderno y escalable.

El backend fue desarrollado utilizando PHP 8.3 con el framework Laravel 12, mientras que la base de datos se implementó en PostgreSQL 17, incorporando la extensión PostGIS para el manejo avanzado de coordenadas geoespaciales.

La plataforma de administración fue desarrollada con Node.js 22 y React, y las aplicaciones móviles (cliente y conductor) se construyeron utilizando React Native, permitiendo una experiencia consistente en dispositivos móviles.

B. Arquitectura de la solución y componentes técnicos claves

La solución se diseñó bajo una arquitectura distribuida, separando claramente el backend, la capa de administración y las aplicaciones móviles.

El backend centraliza la lógica de negocio, la gestión de viajes, tarifas y usuarios, mientras que las aplicaciones móviles consumen los servicios a través de APIs seguras.

El uso de PostGIS permitió implementar cálculos geoespaciales eficientes para rutas, distancias y tiempos estimados, fundamentales para la lógica del negocio.

C. Desarrollos e integraciones a medida (pasarelas de pago, servicios de terceros, API, ERP/CRM, etc.)

Se realizaron múltiples integraciones con servicios de terceros para cubrir necesidades específicas de la plataforma, entre ellas:

  • Mapbox, OpenStreetMap (OSM) y GeoApify para la gestión de mapas, cálculo de rutas, geolocalización y geocodificación inversa.
  • Supabase y Expo para el control de estado, sincronización entre aplicaciones y soporte a funcionalidades móviles.
  • EMQX como broker MQTT, utilizado para el envío de coordenadas en tiempo real, seguimiento de conductores y comunicación eficiente entre las aplicaciones.
  • Implementación de notificaciones en tiempo real y sincronización de eventos críticos del sistema.

D. Principales desafíos encontrados

Entre los principales desafíos del proyecto se encontraron:

  • La gestión de comunicación en tiempo real entre conductores y clientes.
  • La precisión y rendimiento en el manejo de datos geoespaciales.
  • La sincronización de estado entre múltiples aplicaciones (cliente, conductor y administración).
  • La coordinación de pruebas en un entorno de despliegue controlado con usuarios reales.

E. Cómo fueron abordados

Un desafío clave fue garantizar la sincronización en tiempo real y el seguimiento preciso de los conductores.

Esto se abordó mediante la implementación de MQTT con EMQX, combinado con una arquitectura orientada a eventos y el uso de servicios de geolocalización optimizados con PostGIS.

Para la sincronizacion de estados entre multiples aplicaiones se utilizó la plataforma Supabase, arpovechando su servicio de realtime. Se creó una tabla para el almacenamiento de notificaiones, las cuales se distribuían en tiempo real a cada aplicacion mediante WebSockets.

Para mejorar la presicion y el rendiomiento en el manejo de datos geoespaciales se utilizó la extension PostGIS de PostgreSQL.

F. Seguridad / Cumplimiento

La plataforma incorpora medidas de seguridad alineadas con buenas prácticas, entre las que destacan:

  • Acceso basado en roles para clientes, conductores y administradores.
  • Separación lógica de datos entre los distintos tipos de usuarios.
  • Integraciones seguras con servicios de terceros, utilizando canales cifrados y control de acceso.
  • Gestión centralizada de permisos desde la plataforma de administración.


3.⁠ ⁠⁠Resumen del éxito del proyecto

A. Composición del equipo del proyecto (roles, no nombres)

El proyecto fue desarrollado por un equipo multidisciplinario, integrado por los siguientes roles clave:

  • Jefe de proyecto: Responsable de la planificación, coordinación y seguimiento general.
  • Analista funcional: Encargado del levantamiento y validación de requisitos.
  • Desarrolladores móviles: Responsables del desarrollo de las aplicaciones para clientes y conductores.
  • Desarrollador backend: A cargo de la lógica de negocio, APIs y gestión de datos.
  • Equipo de infraestructura: Responsable de la configuración, administración y mantenimiento de los servidores, dominios y entornos de despliegue.
  • Equipo de testing y control de calidad: Encargado de la ejecución de pruebas funcionales, validación de requisitos y aseguramiento de la calidad del producto.

Esta composición permitió una ejecución equilibrada del proyecto, cubriendo tanto los aspectos técnicos como operativos y de calidad.

B. Cronograma de ejecución

El proyecto tuvo una duración aproximada de cinco meses de desarrollo. Actualmente, la plataforma se encuentra en su fase final de validación, con una estimación de salida a producción en el plazo de un mes, sujeta a la aprobación final por parte del cliente. 

C. Enfoque de desarrollo (ágil / tradicional / híbrido)

Se adoptó un enfoque ágil, caracterizado por una colaboración continua con el cliente a lo largo de todo el ciclo de desarrollo. El cliente participó activamente en el proceso y recibió reportes mensuales que incluían avances, nuevas funcionalidades implementadas y correcciones realizadas, lo que permitió una adaptación constante a sus necesidades.

Categoría

Desarrollo web, móvil y de software:

  • Mobile Dev
  • Product Management & Scrum
  • QA Testing
  • Web & Mobile Desing
  • Web Dev

URL del proyecto

https://destinoes.com

  • Landing pública
  • No expone ambientes sensibles
  • No viola acuerdos de confidencialidad

Habilidades

Habilidades básicas:

  • PHP 8.3, Laravel 12, Redis, Vue 3, PostgreSQL 17, PostGIS, push notifications
  • SoftSkills
  • Trabajo en equipo multidisciplinario
  • Comunicación efectiva entre frontend y backend
  • Resolución de problemas complejos
  • Pensamiento analítico y lógico
  • Gestión del tiempo y prioridades
  • Adaptabilidad a nuevas tecnologías
  • Enfoque en experiencia de usuario (UX)
  • Responsabilidad y ownership del código
  • Capacidad de aprendizaje continuo
  • Colaboración en entornos ágiles

Habilidades técnicas:

  • Desarrollo backend avanzado con PHP 8.3: Uso de nuevas features del lenguaje, tipado estricto y optimización de performance
  • Arquitectura backend con Laravel 12: Diseño de APIs REST escalables, middleware, policies, jobs y colas.
  • Gestión de cache y colas con Redis: Optimización de tiempos de respuesta, manejo de sesiones y procesamiento en segundo plano
  • Diseño y consumo de APIs RESTful: Comunicación eficiente entre frontend, backend y servicios externos.
  • Frontend moderno con Vue 3 (Composition API): Componentización, manejo de estado y UI reactiva en tiempo real.
  • Comunicación en tiempo real (near real-time): Actualización de estados de viajes, conductores y pasajeros.
  • Base de datos PostgreSQL 17: Modelado de datos, consultas complejas y optimización de índices.
  • Geolocalización avanzada con PostGIS: Cálculo de distancias, búsqueda por proximidad y rutas geográficas.
  • Integración con Mapbox: Visualización de mapas, tracking de vehículos y rutas dinámicas.
  • Uso de Geoapify para geocoding y servicios de ubicación: Conversión de direcciones, validación y enriquecimiento de datos geográficos.
  • Implementación de notificaciones push: Notificaciones en tiempo real para conductores y pasajeros.
  • Integración móvil con Expo: Comunicación entre app móvil y backend, soporte multiplataforma.
  • Integración con Supabase: Autenticación, almacenamiento y servicios backend complementarios.
  • Seguridad y autenticación de usuarios: Manejo de roles (admin, conductor, pasajero), tokens y protección de endpoints.
  • Optimización y escalabilidad de sistemas: Preparación de la app para alta concurrencia y crecimiento de usuarios.