Skip to content

Tutorial desarrollo del núcleo de API CNIG (Cliente)

IngenieroGeomatico edited this page Aug 13, 2024 · 9 revisions

En esta página vamos a guiar paso por paso cómo comenzar con el desarrollo de la parte cliente de API-CNIG

1./ Creamos un "fork" o bifurcación del repositorio de API-CNIG a nuestro GitHub personal desde: https://github.com/IGN-CNIG/API-CNIG/fork . Si se van a hacer desarrollos de forma activa, es recomendable no marcar la opción de copiar sólo la rama máster. Con este paso, tendremos una copia del repositorio de API-CNIG donde podremos desarrollar.

2./ Realizamos un "clone" del repositorio en la máquina donde se vaya a desarrollar:

    cd {ruta de la carpeta donde se quiera hacer el clone}
    git clone https://github.com/{nuestro_repositorio}/API-CNIG.git

3./ Vamos a la carpeta del proyecto y nos cambiamos a la rama "develop":

    cd ./API-CNIG
    git checkout develop
    git pull

4./ Una vez descargado el repo y estando posicionados en "develop", creamos una rama de trabajo y nos posicionamos en ella, en este caso la vamos a llamar "prueba":

    git checkout -b prueba

5./ Instalamos las dependencias del proyecto

    cd ./api-ign-js
    npm i

6./ Arrancamos la página de test en la que queramos visualizar los desarrollos a realizar. Por ejemplo, si queremos visualizar el código de un objeto mapa:

    npm start -- --name=CP-0001-map/CP-001

Este comando levantará en localhost:8080/test/development/CP-0001-map/CP-001.html. En esta página, se llama a la parte de javascript (CP-0001-map/CP-001.js) donde se hacen las importaciones de los métodos y clases de la librería API-CNIG. El código de la librería se encuentra en API-CNIG/api-ign-js/src/facade/js/ y es importada desde aquí a partir de la clase M ( import { map as Mmap } from 'M/mapea' )

7./ Para comprobar que en producción funcionará el código que hemos desarrollado, se compila el núcleo, creando un minimizado de la librería javascript de API-CNIG

    npm run build:core

Cuando termina, crea una carpeta "dist". Dentro de ella, en la carpeta "js" se encuentra el archivo apiign.ol.min.js que se puede importar a un html para comprobar el resultado final del desarrollo una vez compilado el núcleo de API-CNIG. En la carpeta test/production/, se puede crear un html y un js para realizar la comprobación.

8./ Una vez realizado el desarrollo, subimos el código a nuestro repositorio. Desde este enlace: https://git-scm.com/docs se puede obtener documentación sobre Git y sus comandos.

    cd ../ # volvemos a la carpeta API-CNIG
    git add ./{ruta del archivo que se ha modificado}
    git commit -m "{comentario descriptivo del desarrollo realizado}"
    git push

9./ Ya subido el código a nuestro repositorio, realizamos un Pull Request para integrar estos desarrollos al repositorio de API-CNIG. Para ello, en la parte de la izquierda seleccionaremos nuestro repositorio y la rama "prueba" y a la izquierda el repositorio de API-CNIG y la rama "develop"

10./ En este punto, el equipo de desarrollo de API-CNIG hará el control de calidad y las pruebas necesarias para validar la incorporación del nuevo código al repositorio y poder ser utilizado por al comunidad en próximas versiones de API-CNIG

1.INICIO
   1.1. Componentes de la API-CNIG
   1.2. Documentación y Puntos de acceso
   1.3. Primeros pasos
   1.4. Diagrama API CNIG

2. MAPA
2.1. Capas

 ■ 2.1.1. Fuentes
   • 2.1.1.1. Capas vectoriales
     + Vector
     + WFS
     + GeoJSON
     + KML
     + MVT
     + OGCAPIFeatures
     + MBTilesVector
     + GenericVector
     + MapLibre
   • 2.1.1.2. Capas ráster
     + WMS
     + WMTS
     + TMS
     + XYZ
     + OSM
     + MBTiles
     + GenericRaster
     + GeoTIFF
   • 2.1.1.3. Capas rápidas
   • 2.1.1.4. Grupo de capas

 ■ 2.1.2. Simbolización
   • 2.1.2.1. Genérica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.2. Básica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.3. Avanzada
     + Coropletas
     + Proporcional
     + Categorías
     + Estadísticos
     + Mapas de Calor
     + Cluster
     + Línea de flujo
     + Composición

 ■ 2.1.3. Filtros

2.3.-Plugins

  > Creación de plugin en cliente

  » Tutorial de creación de un plugin

2.4. Paneles

  » Creación de panel desde cero sin controles

  » Tutorial Panel de un único control

  » Tutorial Panel de un único control con más de un botón

  » Tutorial Panel con más de un control

2.5. Eventos

  » Gestión de eventos
  » Gestión de eventos en controles personalizados

    2.6. Internacionalización

    2.7. Configuración

    2.8. Acceso librerías base

3. UTILIDADES

4. PROXY

5. API REST
 5.1. Parametrización API-REST
 5.2. Base de Datos API-REST
 5.3. API REST Actions
 5.4. Servicio de correos electrónicos
 5.5. Capas rápidas

6. PARAMETRIZACIÓN VISUALIZADORES

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

9. GUÍA DE DESARROLLO
  > Guía para el desarrollo de API-CNIG
  » Tutorial desarrollo del núcleo de API-CNIG - (Cliente)
  > Guía de desarrollo de componentes
  » Tutorial desarrollo del núcleo de API-CNIG - (Servidor)
  > Guía de desarrollo de plugins
  » Tutorial desarrollo de plugins ya creados
  » Tutorial desarrollo de nuevos plugins
  > Guía de desarrollo de visualizadores con React

  > Compilación proyecto API-CNIG

Clone this wiki locally