Skip to content

Latest commit

 

History

History
90 lines (70 loc) · 2.82 KB

README.md

File metadata and controls

90 lines (70 loc) · 2.82 KB

GFW Fires API

This repository is the microservice that it implement the viirs fires funcionality and exposed the /viirs-active-fires endpoint in the api-gateway

View the documentation for this API

First time user

Perform the following steps:

  • Install docker
  • Clone this repository: git clone [email protected]:Vizzuality/gfw-viirs-fires-api.git
  • Enter in the directory (cd gfw-viirs-fires-api)
  • After, you open a terminal (if you have mac or windows, open a terminal with the 'Docker Quickstart Terminal') and execute the next command:
    docker-compose -f docker-compose-develop.yml build

Run in develop mode (Watch mode)

Remember: In windows and Mac, open the terminal with 'Docker Quickstart Terminal'

docker-compose -f docker-compose-develop.yml build
//this command up the machine. If you want up in background mode, you add the -d option

Execute test

Remember: In windows and Mac, open the terminal with 'Docker Quickstart Terminal'

docker-compose -f docker-compose-test.yml run test

Install in heroku

Is necessary define the next environment variables:

  • API_GATEWAY_URI => Url the register of the API Gateway. Remember: If the authentication is active in API Gateway, add the username and password in the url
  • NODE_ENV => Environment (prod, staging, dev)
  • CARTODB_APIKEY => API key to connect to CartoDB
  • CARTODB_USER => User to connect to CartoDB

Is necessary the pem file of Google Earth Engine authentication in the root of the project

Config

register.json

This file contain the configuration about the endpoints that public the microservice. This json will send to the apigateway. it can contain variables:

  • #(service.id) => Id of the service setted in the config file by environment
  • #(service.name) => Name of the service setted in the config file by environment
  • #(service.uri) => Base uri of the service setted in the config file by environment

Example:

{
    "id": "#(service.id)",
    "name": "#(service.name)",
    "urls": [{
        "url": "/story",
        "method": "POST",
        "endpoints": [{
            "method": "POST",
            "baseUrl": "#(service.uri)",
            "path": "/api/v1/story",
            "data": ["loggedUser"]
        }]
    }, {
        "url": "/story/:id",
        "method": "GET",
        "endpoints": [{
            "method": "GET",
            "baseUrl": "#(service.uri)",
            "path": "/api/v1/story/:id"
        }]
    }, {
        "url": "/user",
        "method": "GET",
        "endpoints": [{
            "method": "GET",
            "baseUrl": "#(service.uri)",
            "path": "/api/v1/story"
        }]
    }]
}


```