CheckTrips

Propuesta Reto Viajes Transparentes.

Descripción

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

Objetivos

  • Transparentar inteligentemente la información pública que se genera sobre los viajes de trabajo nacionales e internacionales de los comisionados y los servidores públicos del IFAI para fomentar un debate público informado y rendir cuentas en la materia.
  • Desarrollar una herramienta web de código abierto que pueda ser replicada a nivel nacional e internacional por otras instituciones públicas.
  • Generar una primera práctica de reutilización de datos abiertos sobre viajes de trabajo para retroalimentar un posible primer estándar de publicación de datos abiertos en viajes de servidores públicos.
  • Difundir y dar uso a la información derivada de los trabajos realizados durante los viajes para asociar su costo a los resultados que producen a la luz de las tareas sustantivas y agenda estratégica de la institución.
  • Generar estadísticas y métricas sobre distintos aspectos de los viajes de trabajo, así como visualizaciones que permitan realizar comparaciones históricas, temáticas y por servidor público, y que faciliten el seguimiento y la evaluación.

Funcionamiento

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:

  • Usuario: Se refiere a público en General. Contarán con el servicio de viajes realizados, perfiles de funcionarios, costos generales, detalles importantes como viáticos, hospedaje y compartir esa información en redes sociales, comparar 2 perfiles y demostrar con su visualización amigable una inconformidad de manera sencilla. Otra caracteristica de nuestro Proyecto es el uso de WhatsApp para el seguimiento de los funcionarios. Cuando este de de alta un nuevo viaje, aparecerá un mensaje de nuestra plataforma que avisara una actualización o aclaracion en proceso.
  • Funcionario: Son las personas que mostrarán el control de sus viajes, cuanto dinero manejan, sus gastos, cargos, dependencias a la que pertencen, relacion de costos y sus medios de contacto básico. Para ellos se ofrecen la edicion de viajes, notificaciones de inconformidad según la sociedad mexicana, si ya se ha actualizado ó aclarado algún proceso.
  • Administrador (ifai): Persona encargada del manejo de la información respectiva de cada área; serán quienes gestionen las bases de datos y manejen la plataforma segun la encomienda que se tenga. Agregan funcionarios, viajes, temas, tipos de comision, representacion y demás datos adicionales que los funcionarios podrán escoger para sus perfiles.

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.

Search

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.

Tarjetas

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.

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.

Perfil de 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.

Botón flotante

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.

Botón solicitar aclaración.

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.

Botón seguir

De las funciones más destacadas de la aplicación.

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.

Perfil de funcionario

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.

Gráficas

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.

Comparación

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.

Login y alta

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.

API

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.

TOP

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...
    ]
}

Búsqueda por consecutivo

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 ...
    ]
}

Obtener todos los viajes o funcionarios

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...
    ]
}

Búsqueda por nombre de 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...
    ]
}

Búsqueda de viajes por máximos gastos en pasaje, viáticos y hospedaje

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...
    ]
}

Tecnologías aplicadas

  • MongoDB ~ v2.6.4
  • NodeJS ~ v0.10.30
  • Phyton ~ v2.6
  • Express ~ v4.9.0
  • Bootstrap ~v3.2.0

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.

CheckTrips

By Luis Enrique Villa

CheckTrips

Propuesta del reto Viajes Transparentes ifai.

  • 1,035