Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/resource-watch/converter
Microservice to convert sql to Feature Service and Feature Service to SQL
https://github.com/resource-watch/converter
Last synced: 1 day ago
JSON representation
Microservice to convert sql to Feature Service and Feature Service to SQL
- Host: GitHub
- URL: https://github.com/resource-watch/converter
- Owner: resource-watch
- License: other
- Created: 2016-07-07T11:38:08.000Z (over 8 years ago)
- Default Branch: dev
- Last Pushed: 2024-01-09T09:42:24.000Z (10 months ago)
- Last Synced: 2024-04-09T11:25:01.971Z (7 months ago)
- Language: JavaScript
- Size: 1.27 MB
- Stars: 1
- Watchers: 9
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Query converter microservice
[![Build Status](https://travis-ci.com/resource-watch/converter.svg?branch=dev)](https://travis-ci.com/resource-watch/converter)
[![Test Coverage](https://api.codeclimate.com/v1/badges/b67e263c0e624c8bb50f/test_coverage)](https://codeclimate.com/github/resource-watch/converter/test_coverage)This repository contains the microservice that converts RW API queries between different formats
## Dependencies
You will need [Control Tower](https://github.com/control-tower/control-tower) up and running - either natively or with Docker. Refer to the project's README for information on how to set it up.
The Converter microservice is built using [Node.js](https://nodejs.org/en/), and can be executed either natively or using Docker, each of which has its own set of requirements.
Native execution requires:
- [Node.js](https://nodejs.org/en/)Execution using Docker requires:
- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/)Dependencies on other Microservices:
- [Geostore](https://github.com/gfw-api/gfw-geostore-api)
## Getting started
Start by cloning the repository from github to your execution environment
```
git clone https://github.com/resource-watch/converter.git && cd converter
```After that, follow one of the instructions below:
### Using native execution
1 - Set up your environment variables. See `dev.env.sample` for a list of variables you should set, which are described in detail in [this section](#configuration-environment-variables) of the documentation. Native execution will NOT load the `dev.env` file content, so you need to use another way to define those values
2 - Install node dependencies using YARN:
```
yarn install
```3 - Start the application server:
```
yarn start
```The endpoints provided by this microservice should now be available through Control Tower's URL.
### Using Docker
1 - Create and complete your `dev.env` file with your configuration. The meaning of the variables is available in this [section](#configuration-environment-variables). You can find an example `dev.env.sample` file in the project root.
2 - Execute the following command to run Control tower:
```
./converter.sh develop
```The endpoints provided by this microservice should now be available through Control Tower's URL.
## Testing
There are two ways to run the included tests:
### Using native execution
Follow the instruction above for setting up the runtime environment for native execution, then run:
```
yarn test
```### Using Docker
Follow the instruction above for setting up the runtime environment for Docker execution, then run:
```
./converter.sh test
```## Configuration
### Environment variables
- PORT => TCP port in which the service will run
- NODE_PATH => relative path to the source code. Should be `app/src`
- MICROSERVICE_TOKEN =>You can optionally set other variables, see [this file](config/custom-environment-variables.json) for an extended list.