bear256 / gost

GOST - Go implementation of OGC SensorThings API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


MIT licensed GoDoc Build Status Go Report Card Coverage Status Join the chat at https://gitter.im/Geodan/gost

GOST (Go-SensorThings) is an IoT Platform written in Golang (Go). It implements the Sensing profile (part 1) of the [OGC SensorThings API] (http://ogc-iot.github.io/ogc-iot-api/api.html) standard including the MQTT extension.


Implementation of the Tasking profile (part 2) and Rules Engine profile (part 3) of the OGC SensorThings API is planned as a future work activity.

The GOST website and blog can be found at www.gostserver.xyz.

Disclaimer

GOST is alpha software and is not (yet) considered appropriate for customer use. Feel free to help development :-)

Binaries

Current release 0.3: 2016-12-06

[https://github.com/Geodan/gost/releases/tag/0.3] (https://github.com/Geodan/gost/releases/tag/0.3)

Binaries are build for Windows, Ubuntu and OSX.

Roadmap

Date Version Features
2017-02-06 0.4 OGC Test level 3 compliant
2017-03-06 0.5 TBD

Docker support

See GOST and Docker

TL;DR:

$ wget https://raw.githubusercontent.com/Geodan/gost/master/src/docker-compose.yml 

$ docker-compose up

OGC Compliance testing status

GOST is being tested against the OGC SensorThings API Test Suite https://github.com/opengeospatial/ets-sta10

Conformance Class Reference Implementation status Test Status
Sensing Core A.1 beta 6/6
Filtering Extension A.2 alpha 6/8
Create-Update-Delete A.3 beta 9/9
Batch Request A.4 - Tests not implemented
Sensing MultiDatastream Extension A.5 - Tests not implemented
Sensing Data Array Extension A.6 - Tests not implemented
MQTT Extension for Create and Update A.7 alpha Tests not implemented
MQTT Extension for Receiving Updates A.8 alpha Tests not implemented

Status GOST on OGC site: http://www.opengeospatial.org/resource/products/details/?pid=1419

Installation and configuration

GOST installation

GOST configuration

Samples

HTTP Api: For sample requests (setting up sensors/datastreams/things and adding observations) see the tests in the playground. For a complete collection of working requests install Postman and import the Postman file

MQTT: For getting started with Gost and MQTT for publishing/receiving data see GOST and MQTT - Getting started

Goals

  • Complete implementation of the OGC SensorThings spec
  • Test coverage!
  • Frontend
  • Benchmarks
  • Authentication
  • Different storage providers such as MongoDB (Now using PostgreSQL)

TODO

See wiki

Benchmarks

Publish observation (MQTT)

About

GOST - Go implementation of OGC SensorThings API

License:MIT License


Languages

Language:Go 67.1%Language:CSS 16.8%Language:Shell 6.3%Language:JavaScript 5.3%Language:HTML 4.1%Language:Batchfile 0.2%Language:Nginx 0.2%