Sobre este proyecto
it-programming / mobile-development
Abierto
Se esta desarrollando un sistema que consta de 3 factores principales; una plataforma web de uso interno para gestionar, administrar y consultar todos los usuarios del sistema y sus movimientos, una aplicación denominada chofer y otra aplicción llamada pasajero.
Funcionamiento resumido esperado de todo el sistema
--------------------------------------------------------------------------------------------
un potencial pasajero necesita trasladarse de un lado a a un lado b y mediante la app pasajero registra su necesidad, esta información debe ser impactada en la base de datos mediante una api provista, luego el sistema lanza una alerta a todos los coches que se encuentren con la aplicación chofer abierta para que el primer chofer en aceptar la solicitud pueda tomar el viaje y trasladar al pasajero del punto a al punto b.
DESCRIPCIÓN DE Módulos
-----------------------------------------
aplicación chofer
aplicación que el chofer usará para gestionar sus solicitudes de viajes.
Funcionalidades
- Login
Permite al chofer iniciar sesión.
Al iniciar sesión el chofer debe poder elegir qué vehículo va a conducir.
Queda a determinar la manera de iniciar sesión.
Al iniciar sesión la aplicación muestra la pantalla “Esperando solicitudes” donde se deben ir mostrando las solicitudes de viajes.
- Cerrar sesión
Permite al chofer cerrar sesión.
El chofer no debe recibir solicitudes de viaje si su sesión se encuentra cerrada.
En la pantalla se debe mostrar el Login
- Aceptar solicitud de viaje
Permite al chofer aceptar una solicitud de viaje.
Esta solicitud debe llegar mediante notificación push y debe mostrarse en la vista “Esperando solicitudes”. Desde este lugar debe ser posible aceptar la solicitud. No se incluye una opción para cancelar la solicitud ya que se desestima por timeout o porque fue aceptada por otro dispositivo.
Cuando una solicitud es aceptada, las demás pendientes se desestiman automáticamente del teléfono del chofer en cuestión.
En esta instancia la aplicación permanece en estado “solicitud de viaje aceptada”.
Cuando el chofer acepta un viaje
- El sistema debe dejar registrado el viaje con estado “solicitud de viaje aceptada”, con dirección origen y destino e informar a la APLICACIÓN PASAJERO del usuario correspondiente que su solicitud de viaje ha sido aceptada.
- El sistema debe quitar la solicitud recientemente aceptada de los terminales de los demás choferes.
- En el dispositivo móvil del chofer debe mostrarse el mapa demarcando el recorrido entre la ubicación del pasajero (ícono de persona) y la propia (ícono de automóvil). También debe figurar un botón para “Cancelar viaje” y otro “Pasajero a bordo”.
- Cancelar viaje con solicitud de viaje aceptada
Permite al chofer cancelar un viaje con estado “solicitud de viaje aceptada”.
Cuando un chofer cancela un viaje con solicitud de viaje aceptada:
- El sistema debe reemplazar el estado del viaje por “Cancelado por chofer”
- El sistema debe informar al pasajero que el viaje ha sido cancelado por el chofer.
- La APLICACIÓN CHOFER debe retornar a la vista “Esperando solicitudes”.
- Pasajero a bordo
Permite al chofer señalar que ha recogido al pasajero.
Al recoger pasajero
- El sistema debe modificar el estado de viaje a “En curso con pasajero + <ID pasajero>“.
- La APLICACIÓN CHOFER debe pasar a la pantalla “En viaje”, donde se debe mostrar el mapa con la ubicación del vehículo y un botón “Viaje completado”.
- El chofer puede escribir el destino en el campo “A” utilizando los servicios de ubicación de Google, esto hará que el recorrido hacia el destino se marque tanto en el mapa del teléfono del chofer como del pasajero.
- Viaje completado
Al presionar este botón
- El sistema modifica el estado del viaje a “Completado”.
- El sistema debe asumir el viaje completado en el teléfono del pasajero.
- Consideraciones
Optimizar el uso de datos móviles.
Si no hay intervención de un chofer, una solicitud no debe permanecer en pantalla durante más de 50 segundos ni menos de 30.
Si un chofer se encuentra realizando un viaje, puede recibir solicitudes, pero puede aceptar sólo una.
Si el chofer apaga el GPS la aplicación debe exigirle que lo encienda, de lo contrario deja de recibir solicitudes dado que no se conocerá su ubicación.
Detalles que se muestran en la solicitud: nombre y apellido del pasajero, dirección y distancia en metros.}
Ordenar las solicitudes por distancia del pasajero, es decir, la solicitud del pasajero que realizó un pedido a 100 metros del remis debe estar por encima de una solicitud realizada a 200 metros.
APLICACIÓN PASAJERO
Aplicación que utilizan los potenciales pasajeros para gestionar sus viajes.
Funcionalidades
- Login
Permite al pasajero iniciar sesión.
Debe definirse la forma de iniciar sesión.
Al iniciar sesión, la aplicación muestra la pantalla titulada Tu Viaje donde se permite al usuario solicitar un remis.
- Cerrar sesión
Permite al pasajero cerrar sesión.
En esta instancia la aplicación permanece en estado “Ociosa”.
En la pantalla se debe mostrar el login.
- Solicitar Remís
Permite al pasajero realizar la solicitud de un remis.
Se debe mostrar un campo De: (obligatorio para solicitar remis) y otro A: (Opcional) para que el usuario pueda completarlos. El valor por defecto del campo De debe ser la ubicación actual del pasajero pero podrá modificarlo.
El valor a ingresar debe ser seleccionado de la lista de opciones del servicio de ubicación de Google.
Debe haber un botón “Vamos!” para solicitar el remis.
Al presionar el botón Vamos!
El sistema debe enviar las solicitudes a los choferes.
- Cancelar solicitud
Permite al pasajero cancelar un viaje con estado “Solicitud de viaje realizada” o “Solicitud de viaje aceptada por el chofer”
Debe requerir la confirmación del usuario.
Cuando un pasajero cancela una solicitud ya aceptada por un chofer:
- El sistema debe alertar al chofer que tenía asignado ese viaje que el mismo ha sido cancelado por el pasajero.
- El sistema debe cambiar el estado del viaje a “Cancelado por el pasajero”.
- La APLICACIÓN PASAJERO debe retornar a la pantalla Tu Viaje
Cuando el usuario cancela una solicitud no aceptada aún por un chofer, la aplicación debe permanecer en la pantalla para solicitar un remis.
- Ya abordé!
Permite al pasajero informar que a ha abordado el remis.
Cuando un pasajero informa que ha abordado
- El sistema debe modificar el estado del viaje por “En curso con pasajero”.
- El sistema debe asumir el viaje completado en el teléfono del chofer.
- La APLICACIÓN PASAJERO debe pasar a la pantalla “En viaje”, donde se debe mostrar el mapa con la ubicación del vehículo y un botón “Viaje completado”.
- Viaje completado
Al presionar este botón
- El sistema modifica el estado del viaje a “Completado”.
- El sistema debe asumir el viaje completado en el teléfono del chofer y operar según corresponda.
- La APLICACIÓN PASAJERO debe pasar a la pantalla “Calificar chofer” donde se debe permitir calificar al chofer.
También se debe contar con la posibilidad de bloquear al chofer para así no recibir futuras solicitudes del mismo o agregarlo a favoritos para facilitar futuros contactos.
- Menú
- Cerrar sesión
- Consideraciones
- La aplicación debe tener un Menú, las opciones del mismo se describen en el apartado “Menù”.
- Las solicitudes a los choferes deben enviarse según el siguiente protocolo:
- Inicialmente y por 10 segundos debe enviarse la solicitud sólo a choferes que se encuentren en un radio de entre 0 y 1000 metros del sitio desde donde se solicita el servicio.
- Si en los primeros 10 segundos ningún chofer acepta la solicitud, entonces entre el segundo 11 y el 20 deben sumarse a las primeras las solicitudes a choferes ubicados en un radio de entre 1001 y 2000 metros del lugar desde donde se solicitó el servicio.
- Si en los primeros 20 segundos ningún chofer acepta la solicitud, entonces entre el segundo 21 y el 30 deben sumarse a las primeras y segundas las solicitudes a choferes ubicados en un radio de entre 2001 y 3000 metros del lugar desde donde se solicitó el servicio.
Si ponemos un ejemplo en el cual los choferes no intervienen, entonces las solicitudes enviadas en el segundo 1 permanecerán durante 50 segundos en el display del celular de los choferes correspondientes, las enviadas en el segundo 11 se mostrarán durante 40 segundos y las enviadas en el segundo 21 permanecerán por 30 segundos en los terminales.
- Si un chofer acepta la solicitud de viaje, se debe informar al pasajero de los datos personales y vehículo del conductor, al mismo tiempo que mostrar en el mapa de la pantalla Tu Viaje las ubicaciones del chofer y el pasajero hasta recogerlo y que el chofer presione “Pasajero a bordo”. Si ningún chofer acepta la solicitud de viaje, se le informa al usuario que “Los choferes parecen no estar disponibles en este momento, inténtalo nuevamente en unos minutos”.
Categoría Programación y Tecnología
Subcategoría Programación de Apps. Android, iOS y otros
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Experiencia en este tipo de proyectos Sí (He administrado este tipo de proyectos anteriormente)
Integraciones de API Otros (Otras APIs)
Plataformas requeridas Android, iPhone
Plazo de Entrega: 07 Febrero, 2020
Habilidades necesarias