slibby / koop-sample-provider

Sample provider for Koop.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Koop Sample Provider

This is a sample that demonstrates how to build a Koop Provider. Full documentation is provided here.

The data source in this case is the TriMet Bus API. You can see this provider in action here.

If you want to write your own provider, simply fork this repository or copy the contents.

Files

File Description
index.js Mandatory Configures provider for usage by Koop
model.js Mandatory Translates remote API to GeoJSON
routes.js Optional Specifies additional routes to be handled by this provider
controller.js Optional Handles additional routes specified in routes.js
server.js Optional Reference implementation for the provider
test/model-test.js Optional tests the getData function on the model
test/fixtures/input.json Optional a sample of the raw input from the 3rd party API
config/default.json Optional used for advanced configuration, usually API keys.

Test it out

Run server:

  • npm install
  • npm start

Example API Query:

  • curl localhost:8080/sample/FeatureServer/0/query?returnCountOnly=true

Tests:

  • npm test

With Docker

  • docker build -t koop-sample-provider .
  • docker run -it -p 8080:8080 koop-sample-provider

Publish to npm

  • run npm init and update the fields
    • Choose a name like koop-provider-foo
  • run npm publish

About

Sample provider for Koop.

License:Other


Languages

Language:JavaScript 100.0%