App móvil de transporte urbano ANDROID
El código de la app de transporte de pasajeros privado fue desarrollado previamente por otra empresa, nativamente en JAVA para Android, el cual no funcionaba correctamente y lanzaba muchos errores. CEODATA mejora y corrige el funcionamiento y diseño de la app en cuestión. El trabajo consistió en realizar un análisis del código fuente para luego entregar un informe sobre los pasos a seguir para mejorar el código, depurar, solucionar errores y reconectar la app realizada en JAVA con un sistema administrado vía web y con servidores en Amazon AWS.
Mejoras en diseño y animaciones XML-JAVA
Se realizaron mejoras de diseño solicitadas por el cliente. Estas mejoras consistieron en un rediseño completo de toda la linea empresarial para renovar completamente la cara de la app hacia las marcas auspiciadoras. Se modificaron colores corporativos, logos, iconos, botones y su diseño en general.
Mejoras en programación y código JAVA
Se mejoraron notablemente las funcionalidades de la aplicación entregada, creando un backend y conectando las aplicaciones a un sistema administrador realizado en REACT con NODE JS en AMAZON AWS. Además se mejoró el flujo de la aplicación (UX) agregando funcionalidades que no existían o estaban con errores o bugs, por ejemplo, el tipo de solicitud de vehículo, mejorando la interfaz y el funcionamiento de la alerta, rediseñando por completo como se muestra esta alerta a los conductores, la información proporcionada, el sonido y su duración. Internamente, el algoritmo de búsqueda se desarrollo desde cero para que funcionara como Uber. Anteriormente la solicitud llegaba a todos los conductores, sin ningún limite de radio, tiempo y sin ninguna restricción, lo cual ocasionaba bugs y errores. Se modificó completamente la solicitud para que, al momento en que el pasajero haga la llamada, esta llegara al conductor más cercano dentro de un radio definido en KMs con un tiempo de respuesta acotado. Si el conductor más cercano rechaza o no contesta, salta al segundo conductor más cercano y así sucesivamente. Si la solicitud no era contestada por ningún conductor dentro del radio, se informa al pasajero, dándole la opción de aumentar el radio de búsqueda para abarcar más conductores cercanos.
Desarrollo de administrador web con REACT
Se agregó un administrador web que permite ver la información de todos los pasajeros que se registran en la app, ver, bloquear, editar o aprobar a los conductores que se van registrando y enviando sus documentos, CRUD marcas de vehículos, CRUD de compañías de seguros, estadísticas generales entre las cuales se solicitó poder ver cuales eran las empresas de seguros más utilizadas por los conductores, cuales son las marcas de vehículos más utilizadas, cuales son los % de hombres registrados vs mujeres, cantidad de registros por día, semana y mes, distribución de conductores por edad, distribución de vehículos por años, etc.
Desarrollo de formulario de registro para conductores
Los conductores se registran a través de un formulario web con varios pasos, los cuales le permiten a los conductores enviar sus datos personales, documentos de conducción, penales, permisos e información de sus vehículos y documentos al sistema.
Una vez que los documentos son enviados, se le envía un correo al conductor para que espere la revisión y aprobación de su cuenta.
Desde el administrador se revisan los documentos enviados. Si está todo en orden se aprueba al conductor asignándole una categoría de vehículo según corresponda a los datos enviados. Finalmente el sistema envía un correo de bienvenida al conductor, indicándole que su cuenta ha sido activada, con los datos de ingreso a su cuenta.
Servidores alta disponibilidad Amazon AWS
Se implementaron servidores en Amazon AWS con esquema de alta disponibilidad, balanceador de carga y autoscaling para absorber la demanda de los usuarios de la app móvil. Este tipo de esquema es escalable y permite incrementar o decrementar de forma automática los servidores disponibles. De esta forma si la demanda se dispara o si alguno de los servidores falla, el balanceador de carga se comunica con el autoscaling para aumentar o reemplazar con nuevos servidores y así ofrecer altísima disponibilidad del servicio.