
Propuesta Reto Viajes Transparentes.
Checktrips es una plataforma especializada en la visita guiada de los viajes que realizan servidores públicos tanto en la república mexicana, así como al extranjero. Es dinámica, de fácil uso y orientada al público en general que busca respuestas, cumpliendo así con los objetivos de este reto
Este proyecto esta basado en la nueva tendencia que google trae para nosotros: “Google Material Design” con su interfaz práctica y manejable. Esta gran empresa tiene un lema… “Concentrate en el usurio y todo lo demás seguirá.”(“Focus on the user and all else will follow.”) por eso decidimos realizar una amplia investigación para lograr asi una implementación de Software inteligente y amigable con la sociedad, sin dejar de un lado el gran impacto que se pretende con el manejo de información que el IFAI brindará al individuo mexicano.
Por ser de uso General se podrá manipular por 3 tipos de individuos:
Demo disponible en http://checktrips.jit.su/
El botón explorar nos dirige a la página inicial donde aparecen 4 pestañas principales Top, Viajes, Funcionarios y Dependencias.

En la pestaña top podemos ver algunos viajes que nos permiten explorar cuando no tenemos búsquedas específicas, los viajes que aparecen son los más recientes, y los más costosos en viáticos, traslado y hospedaje.
Dentro de las otras tres pestañas nos muestras tarjetas con información relevante a cada una de las mismas y con una barra de búsqueda para refinar los resultados.


Las tarjetas nos ayudan a tener una vista agradable de cada viaje, destaca el mapa que tiene el origen del viaje y el botón Check.

El botón Check nos permite guardar viajes y/o funcionarios para su posterior comparación con otros elementos. Éste además de encontrarse en cada tarjeta, se encuentra en la barra de navegación, para poder ver en todo momento los elementos que almacenamos.
Éste también aparece en las vistas de funcionario y viaje.

Al hacer clic en el mapa del viaje o en el número de consecutivo (en algunos casos), cambia la vista al detalle del viaje. En ésta se organiza la información detallada del viaje, separándola en 4 tarjetas con información similar.
Esto ayuda a comprender de una mejor forma la información de cada viaje.


En la misma vista notamos la aparición de un botón que nos sigue en todo momento, éste nos ayudará a compartir la información en las 3 principales redes sociales.

Para hacer notar las inconsistencias en algunos viajes, se da la opción de solicitar aclaración, que notificará al funcionario y/o dependencia en la que se desempeña para que puedan elaborar una aclaración de los gastos que se realizaron.

Permite al usuario seguir la información de algún funcionario, dependencia o viaje. Esto mediante correo electrónico o Whatsapp, sabemos lo molesto que es recibir notificaciones en tu muro o timeline, por eso la notificación se envía mediante un discreto mensaje de Whatsapp.


Ayuda a ver los viajes de cada funcionario con gráficas interactivas y descargables. El botón check sigue presente para poder comparar con otros funcionarios.


Utilizamos gráficas interactivas para mostrar información relevante de los viajes, con solo clic's se pueden adaptar a lo que necesita el usuario y descargar en cualquier formato (JPG,PNG,PDF,SVG) o incluso imprimir.
Al llegar aquí se compara la información de los funcionarios o viajes, de manera atractiva para el usuario. Para llegar aquí se deben seleccionar dos viajes y/o dos funcionarios, y dar clic en el botón con tick que nos ayudará a comparar la selección.



Para dar de alta un viaje se necesita ser administrador o funcionario, esto le facilita la entrada de un nuevo viaje, ya que algunos de los campos se auto rellenan en base a su tipo. Para entrar en este caso, se necesita ingresar con el correo electrónico del funcionario y su clave.
Se cuenta con una api, para extender el uso de los datos en cualquier plataforma, ya sea web o aplicaciones nativas, respondiendo a consultas simples GET con un JSON.
La consulta top devuelve un JSON con los 4 viajes mas, actuales, con mas gastos en pasajes, mas gastos en viáticos, y las unidades con mas viajes.
Tendrás que redirigir la petición GET a checktrips.mx/api/top
{
Categoría1 : [
Viajes1:{
Datos de Viaje ,
Funcionario:{
Datos de Funcionario
}
},
Viajes2:{
Datos de Viaje ,
Funcionario:{
Datos de Funcionario
}
},
Viajes3:{
Datos de Viaje ,
Funcionario:{
Datos de Funcionario
}
},
Viajes4:{
Datos de Viaje ,
Funcionario:{
Datos de Funcionario
}
},
]
},
Categoría2...
]
}
Para realizar una consulta por medio del consecutivo del viaje o parte de el, se realiza una petición GET al servidor a la siguiente url:
checktrips.mx/api/viaje/consecutivo/[número de consecutivo]
{
[
Viaje1 : {
Datos del Viaje,
Funcionario:{
Datos del Funcionario
}
},
viaje2 ...
]
}La petición para obtener esto es la siguiente:
checktrips.mx/api/All/[viaje | funcionario]
{
[
Viaje1:{
Datos del Viaje,
Funcionario:{
Datos del Funcionario
}
},
viaje2...
]
}
{
[
Funcionario1:{
Datos del funcionario,
viajes:[Viajes_id]
},
Funcionario...
]
}checktrips.mx/api/funcionario/nombre/[param]
donde param puede ser la búsqueda de un nombre concreto o parte del mismo.
{
[
Funcionario1:{
Datos del funcionario,
Viajes :[Viajes_id]
}
Funcionario2...
]
}checktrips.mx/api/viaje/[maxPasaje | maxViaticos | maxHospedaje]/[limite]
Arroja un arreglo de mayor a menor dependiendo del parámetro enviado, el limite es el establecido en [limite] o menor en caso de que los resultados sean menores al mismo
{
[
viaje1:{
Datos del Viaje:{},
Funcionario:{
Datos del Funcionario
}
},
viaje...
]
}Esta base de datos no relacional, es open software y una de sus principales características es la facilidad de escalar la base de datos, sin ninguna perdida y reutilizando los datos antiguos.


Entorno de programación en la capa del servidor basado Javascript, en una arquitectura orientada a eventos. Fue creado con el enfoque de ser útil en la creación de programas de red altamente escalables y por eso mismo se tomo en cuenta para la propuesta.
Además cuenta con módulos para optimizar el rendimiento del servidor, así como mejorar la experiencia del usuario final, dándole un grado mas de interactividad a aplicaciones web, que se logra al usar la compatibilidad de eventos en el servidor y eventos del usurio, gestionado por un mismo lenguaje.