Está en la página 1de 5

BuStop

Documento técnico

El propósito de este documento es mostrar una visión global de la arquitectura usada para el
desarrollo del software.

El contenido de este documento consta de dos secciones que abarcan todo el desarrollo funcional del
proyecto, el Back end y el Front end.

La aplicación tiene como nombre BuStop, el cual esta enfocado en el seguimiento de estudiantes en el
viaje que realizan en los buses del colegio en las rutas casa – colegio y colegio – casa.
Back End
En el desarrollo se implementó como lenguaje base Python versión 3.6 y como framework para los
servicios REST se utilizó Django Rest Framework versión 3 con la versión 2.1 de Django.

EL API junto con el CRUD se creo según la cantidad de tipos de usuarios implementados en la aplicación
(Administradores, Estudiantes, Conductores, Buses y Padres). Se mantuvo la creación de las vistas y
rutas con el ModelViewSet.

La distribución de los modelos en la BD es la siguiente:

Adicionalmente a las funciones de enviar correo electrónico, recuperación de credenciales y subida de


banner que poseen llamadas URL específicas, ubicados en el archivo views.py.

2
El servidor de prueba utilizado es PythonAnywhere donde se aloja todo el código del BE incluyendo la
base de datos MySQL directamente instalada.

Front End
El desarrollo se realizó en Ionic versión 4, las vistas de la aplicación de dividieron en 8 (Login, Conductor,
Padre, Administrador, Agregar, Lista y Estadísticas). Los servicios que consultan el back end se separaron
en la carpeta proveedores donde se hacen todas las consultas del CRUD según se implementen en la
aplicación.

Para la funcionalidad de mapas se implementó la versión nativa para teléfonos celulares de GoogleMaps
4.8.2 en las vistas del padre y el administrador ya que ofrece una interfaz más interactiva. Para la versión
del Conductor se utilizó la versión Web de GoogleMaps que incluye el servicio de mostrar rutas, calcular
tiempo y destino.

Los estados del conductor se dividieron en 3 (Detenido, En ruta Casa – Colegio, En ruta Colegio – Casa).
Para el estudiante se utilizaron 5 (En casa, En el colegio, en la ruta, ausente y dormido)

Funcionalidades de la aplicación

Administrador
El administrador podrá consultar la localización de los autobuses registrados siempre que tengan
asignados un conductor y éste tenga la aplicación activa.

Podrá consultar la lista de todos los usuarios, editar, agregar, asignar conductores a los buses y
posteriormente asignar buses a las dos direcciones del estudiante.

3
Dispone de una interfaz de datos actuales de la APP, numero de usuarios registrador, actualizar banner
y ver listado por grupos.

En cada interfaz de seguimiento se observan los detalles del conductor y del bus según como se
observa en la base de datos.

Para asignar un bus a un estudiante previamente deben estar llenas ambas direcciones, de lo contrario
no se podrá asignar.

Padre
El representante del estudiante tiene la funcionalidad de asignar las dos direcciones de búsqueda, la
cual se podrá realizar una única vez según la posición actual.

Podrá monitorear el bus asignado a su hijo tanto al momento de buscarlo para ir al colegio como de
entregarlo de nuevo a la casa. Se dispone de una alarma de proximidad que suena cuando el bus se
encuentra a 5 minutos de llegar a la casa.

Todas estas funcionalidades aplican sólo cuando la aplicación esta abierta en el dispositivo y en
funcionamiento.

Podrá en cualquier momento validar la ultima localización de sus hijos mientras se encuentre en el bus
y la última posición una vez lo abandone.

No se dispone de un límite de hijos y cada uno es monitoreado individualmente.

Los estudiantes tendrán unos estado preasignados los cuales son:

 Casa: cuando la posición del estudiante es la casa


 Colegio: cuando la posición del estudiante es el colegio
 En camino: cuando el estudiante se encuentra en el bus
 Ausente: cuando no se debe buscar al estudiante a la casa, en este caso la ruta del autobús no
toma en cuenta está punto de parada.
 Oversleep: cuando el estudiante no bajó a tiempo y el bus continuó su recorrido

4
Conductor
El conductor observará en la aplicación la lista de los estudiantes asignados, así como su localización.
Tiene dos opciones principales dependiendo de la ruta a seguir:

Casa – Colegio:

En esta funcionalidad el conductor buscará a los estudiantes para llevarlos al colegio, al activar
la opción se desplegará la ruta a seguir para buscar al primer estudiante. Al momento de recogerlo
deberá ingresar el código del estudiante, en ese momento la ruta cambiará para recoger al siguiente
estudiante. Este proceso se deberá repetir hasta buscar y registrarlos a todos, una vez eso ocurra
aparecerá la dirección del colegio donde deberá presionar el botón de finalizar la ruta para bajar a todos
los estudiantes.

Colegio – Casa:

En esta funcionalidad el conductor llevará a los estudiantes de vuelta a sus casas, deberá ingresar
el código de cada estudiante y luego iniciar la ruta para que se despliegue la primera dirección de entrega,
al llegar deberá volver a escribir el código del estudiante para avanzar a la siguiente dirección que se
desplegará, así hasta terminar con todos e indicar final de la ruta en la aplicación.

Los estados del conductor son:

 Detenido: cuando el bus está en el colegio y no hay conductor


 En camino casa – colegio: cuando se va a realizar la ruta de la casa al colegio
 En camino colegio – casa: cuando se va a realizar la ruta del colegio a la casa

La dirección de las rutas se arman al momento que el conductor seleccione una de las dos opciones,
cualquier cambio en los estudiantes asignados en ese momento no se tomará en cuanta.

También podría gustarte