Skip to content

ludwigrubio/seguridadmap

Repository files navigation

Seguridad Map

Seguridad Map es una herramienta tecnológica de código abierto desarrollada en el marco del programa Retos Jalisco del gobierno del estado de Jalisco.

Esta herramienta automatiza el registro, seguimiento, manejo de información y análisis de datos, de manera suficiente, veraz, oportuna y actualizada para la toma de decisiones en materia de seguridad, marginación y pobreza, que permite a los diferentes actores involucrados compartir e intercambiar información en diferentes coberturas del Estado de Jalisco, tales como son: Municipios, AGEBS y Colonias.

La aplicación integra bases de datos de delitos de la Fiscalía General del Estado, e información geográfica-estadística del Instituto de Información Estadística y Geográfica.

##Tecnologías

Seguridad Map está construido con las siguientes tecnologías Open Source:

Desarrollo

Antes de correr este proyecto, deberás instalar y configurar las siguientes dependencias en tu equipo:

[Node.js]: Usamos Node para correr un servidor web de desarrollo y construir el proyecto. Dependiendo de su sistema operativo podrá instalar Node vía consola, o con un instalador.

Después de instalar Node podrá correr el siguiente comando para instalar algunas herramientas de desarrollo (como [Bower] y [BrowserSync]).Deberás correr éste comando nuevamente cada vez que las dependencias cambien dentro del archivo package.json

npm install

Usamos [Gulp] como automatizador de tareas. Instale la herramienta de manera global con el siguiente comando:

npm install -g gulp-cli

Ejecute los siguientes comandos en dos terminales separados para crear una experiencia de desarrollo ágil donde su navegador se actualiza automáticamente cuando los archivos cambien.

./mvnw
gulp

Bower se utiliza para administrar las dependencias CSS y JavaScript utilizadas en esta aplicación. Puede actualizar las dependencias especificando una versión más reciente en el archivo 'bower.json'. También puede ejecutar 'bower update' y 'bower install' para administrar las dependencias. Agregue el indicador '-h' en cualquier comando para ver obtener ayuda del cómo puede utilizarlo. Por ejemplo: 'bower update -h'.

Producción

Para optimizar la aplicación Seguridad Map para un ambiente de producción, ejecute:

./mvnw -Pprod clean package

Esto concatenará y comprimirá los archivos CSS y JavaScript del cliente. También modificará el archivo 'index.html' para que haga referencia a estos nuevos archivos. Para asegurar que todo funcionó, ejecute:

java -jar target / *. war

Deberá ingresar a http://localhost:8080 en el navegador de su preferencia.

Tests

Para iniciar los test de su aplicación, ejecute:

./mvnw test clean

Unit tests

Las pruebas unitarias son ejecutadas por [Karma] y escritas con [Jasmine]. Están ubicados dentro del proyecto en la ruta 'src/test/javascript/' y se pueden ejecutar con:

gulp test

Otros test

Las pruebas de rendimiento son dirigidas por [Gatling] y escritas en Scala. Están ubicados en la ruta 'src/test/gatling' y se pueden ejecutar con:

./mvnw gatling:execute

Configuraciones

Para lograr la ejecución exitosa de este proyecto deberá tomar en cuenta las siguientes configuraciones:

Geoserver

Para la correcta utilización de este proyecto deberá montar su propio Geoserver, siguiendo las siguientes indicaciones:

  1. Instale una instancia de [Geoserver 2.9.4] revise la documentación en el sitio oficial Geoserver.
  2. Monte en una nueva base de datos postgres en el mismo servidor de la aplicación Geoserver, el respaldo de base de datos postgreSQL dentro del directorio 'assets/shp_mapaseguridad.zip'
  3. Una vez realizados los pasos anteriores, reemplace el directorio data dentro de su instalación de Geoserver por el contenido en el directorio 'assets/data.zip' dentro de este proyecto, esta carpeta contiene workspaces, capas, estilos, etc.
  4. Verifique que pueda acceder a las previsualización de las capas ingresando a su aplicación Geoserver en el menú "Layers Preview", en caso de no tener una previsualización exitosa ingrese a editar cada capa, en de la parte inferior haga clic en la opción "Reload feature type".

Variables Globales

Para que su aplicativo se comunique con los servicios web de su Geoserver deberá seguir los siguientes pasos:

Diríjase al archivo 'gulp/config.json' dentro de este proyecto, localice las siguientes variables y coloque valores, como los siguientes, o en su caso del dominio que usted definió.

  • Dominio de la aplicación:

      baseDomainUrl: http://geodelito.example
    
  • Texto del dominio que será remplazado para la visualización dentro de textos en la aplicación:

      baseDomainText: geodelito.example
    
  • URL de servicos WMS de su geoserver instalado:

      baseWMSURL: http://geodelito.example/geoserver/mapa_jalisco/wms
    

CUENTAS DE ACCESO

Una vez montado, se habrán creado 3 cuetas de manera automática por cada uno de los diferentes roles que pueden utilizar esta plataforma:

Administrador

Usuario: Admin / Contraseña: Admin

Investigador

Usuario: Investigador / Contraseña: Investigador

Ciudadano

Usuario: Ciudadano / Contraseña: Ciudadano

LICENCIAMIENTO

GNU AFFERO GENERAL PUBLIC LICENSE