Thing Directory
Thing Directory: Simple and lightweight registry of IoT device metadata - Published in JOSS (2021)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
4 of 10 committers (40.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
Directory of Web of Things (WoT) Thing Descriptions. Maintained fork at https://github.com/TinyIoT/thing-directory
Basic Info
Statistics
- Stars: 21
- Watchers: 5
- Forks: 4
- Open Issues: 6
- Releases: 22
Topics
Metadata Files
README.md
LinkSmart Thing Directory
This is an implementation of the W3C WoT Thing Description Directory (TDD), a registry of Thing Descriptions.
Getting Started
Visit the following pages to get started: * Deployment: How to deploy the software, as Docker container, Debian package, or platform-specific binary distributions * Configuration: How to configure the server software with JSON files and environment variables * API Documentation: How to interact with the networking APIs
Further documentation are available in the wiki.
Features
- Service Discovery
- DNS-SD registration
- LinkSmart Service Catalog registration
- RESTful API
- HTTP API
- Thing Description (TD) CRUD, catalog, and validation
- XPath 3.0 and JSONPath query languages
- TD validation with JSON Schema (default)
- Request authentication and authorization
- JSON-LD response format
- Persistent Storage
- LevelDB
- CI/CD (Github Actions)
- Automated testing
- Automated builds and releases (Docker images, binaries)
Development
The dependencies of this package are managed by Go Modules.
Clone this repo:
bash
git clone https://github.com/linksmart/thing-directory.git
cd thing-directory
Compile from source:
bash
go build
This will result in an executable named thing-directory (linux/macOS) or thing-directory.exe (windows).
Get the CLI arguments help (linux/macOS):
bash
$ ./thing-directory -help
Usage of ./thing-directory:
-conf string
Configuration file path (default "conf/thing-directory.json")
-version
Print the API version
Run (linux/macOS):
bash
$ ./thing-directory --conf=sample_conf/thing-directory.json
To build and run together:
bash
go run . --conf=sample_conf/thing-directory.json
Test all packages (add -v flag for verbose results):
bash
go test ./...
Contributing
Contributions are welcome.
Please fork, make your changes, and submit a pull request. For major changes, please open an issue first and discuss it with the other authors.
Owner
- Name: LinkSmart.eu
- Login: linksmart
- Kind: organization
- Location: European Union
- Website: https://linksmart.eu
- Repositories: 16
- Profile: https://github.com/linksmart
Free, open source for IoT
JOSS Publication
Thing Directory: Simple and lightweight registry of IoT device metadata
Authors
Fraunhofer Institute for Applied Information Technology, Sankt Augustin, Germany
Fraunhofer Institute for Applied Information Technology, Sankt Augustin, Germany
Tags
internet of things web of things wireless sensor networks discovery catalogGitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Farshid Tavakolizadeh | e****l@f****s | 204 |
| Farshid Tavakolizadeh | t****i@f****e | 74 |
| Alexandr Krylovskiy | a****y@g****m | 49 |
| BlubbFish | g****t@b****t | 11 |
| Shreekantha Devasya | s****a@f****e | 4 |
| Rohit Deshmukh | r****3@g****m | 2 |
| shreekantha devasya | d****a@g****m | 2 |
| carlos | c****s@l****t | 2 |
| Farshid Tavakolizadeh | f****h@f****e | 2 |
| Redmine Administrator | r****e@l****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 32
- Total pull requests: 23
- Average time to close issues: 2 months
- Average time to close pull requests: 4 days
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 1.84
- Average comments per pull request: 0.26
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- farshidtz (28)
- yadudoc (3)
Pull Request Authors
- farshidtz (18)
- dschowta (3)
- blubbfish (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 4
- Total dependent repositories: 0
- Total versions: 24
proxy.golang.org: github.com/linksmart/thing-directory
- Homepage: https://github.com/linksmart/thing-directory
- Documentation: https://pkg.go.dev/github.com/linksmart/thing-directory#section-documentation
- License: Apache-2.0
-
Latest release: v1.0.0-beta.22
published almost 5 years ago
Rankings
Dependencies
- github.com/antchfx/jsonquery v1.1.4
- github.com/bhmj/jsonslice v0.0.0-20200507101114-bc37219df21b
- github.com/codegangsta/negroni v1.0.0
- github.com/davecgh/go-spew v1.1.1
- github.com/evanphx/json-patch/v5 v5.1.0
- github.com/gorilla/context v1.1.1
- github.com/gorilla/mux v1.7.3
- github.com/grandcat/zeroconf v1.0.1-0.20200528163356-cfc8183341d9
- github.com/justinas/alice v0.0.0-20160512134231-052b8b6c18ed
- github.com/kelseyhightower/envconfig v1.4.0
- github.com/linksmart/go-sec v1.4.2
- github.com/linksmart/service-catalog/v3 v3.0.0-beta.1.0.20200302143206-92739dd2a511
- github.com/miekg/dns v1.1.29
- github.com/onsi/ginkgo v1.12.0
- github.com/onsi/gomega v1.9.0
- github.com/rs/cors v1.7.0
- github.com/satori/go.uuid v1.2.0
- github.com/syndtr/goleveldb v1.0.0
- github.com/xeipuuv/gojsonschema v1.2.0
- golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
- golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2
- golang.org/x/sys v0.0.0-20200519105757-fe76b779f299
- github.com/ancientlore/go-avltree v1.0.1
- github.com/antchfx/jsonquery v1.1.4
- github.com/antchfx/xpath v1.1.7
- github.com/bhmj/jsonslice v0.0.0-20200507101114-bc37219df21b
- github.com/cenkalti/backoff v2.2.1+incompatible
- github.com/codegangsta/negroni v1.0.0
- github.com/davecgh/go-spew v1.1.0
- github.com/davecgh/go-spew v1.1.1
- github.com/dgrijalva/jwt-go v3.0.0+incompatible
- github.com/eclipse/paho.mqtt.golang v1.2.0
- github.com/evanphx/json-patch/v5 v5.1.0
- github.com/farshidtz/elog v1.0.1
- github.com/farshidtz/mqtt-match v1.0.1
- github.com/fsnotify/fsnotify v1.4.7
- github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
- github.com/golang/protobuf v1.2.0
- github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db
- github.com/gorilla/context v1.1.1
- github.com/gorilla/mux v1.7.3
- github.com/grandcat/zeroconf v1.0.1-0.20200528163356-cfc8183341d9
- github.com/hpcloud/tail v1.0.0
- github.com/jessevdk/go-flags v1.4.0
- github.com/justinas/alice v0.0.0-20160512134231-052b8b6c18ed
- github.com/kelseyhightower/envconfig v1.3.0
- github.com/kelseyhightower/envconfig v1.4.0
- github.com/linksmart/go-sec v1.0.1
- github.com/linksmart/go-sec v1.4.2
- github.com/linksmart/service-catalog/v3 v3.0.0-beta.1.0.20200302143206-92739dd2a511
- github.com/miekg/dns v1.1.27
- github.com/miekg/dns v1.1.29
- github.com/oleksandr/bonjour v0.0.0-20160508152359-5dcf00d8b228
- github.com/onsi/ginkgo v1.6.0
- github.com/onsi/ginkgo v1.7.0
- github.com/onsi/ginkgo v1.12.0
- github.com/onsi/gomega v1.4.3
- github.com/onsi/gomega v1.7.1
- github.com/onsi/gomega v1.9.0
- github.com/pkg/errors v0.8.1
- github.com/pkg/errors v0.9.1
- github.com/pmezard/go-difflib v1.0.0
- github.com/rs/cors v1.7.0
- github.com/satori/go.uuid v1.1.0
- github.com/satori/go.uuid v1.2.0
- github.com/stretchr/objx v0.1.0
- github.com/stretchr/testify v1.3.0
- github.com/stretchr/testify v1.5.1
- github.com/syndtr/goleveldb v1.0.0
- github.com/urfave/negroni v1.0.0
- github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
- github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
- github.com/xeipuuv/gojsonschema v1.2.0
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
- golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
- golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
- golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee
- golang.org/x/net v0.0.0-20180906233101-161cd47e91fd
- golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
- golang.org/x/net v0.0.0-20190620200207-3b0461eec859
- golang.org/x/net v0.0.0-20190923162816-aa69164e4478
- golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa
- golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2
- golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f
- golang.org/x/sync v0.0.0-20190423024810-112230192c58
- golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e
- golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
- golang.org/x/sys v0.0.0-20190412213103-97732733099d
- golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe
- golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e
- golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd
- golang.org/x/sys v0.0.0-20200519105757-fe76b779f299
- golang.org/x/text v0.3.0
- golang.org/x/tools v0.0.0-20191216052735-49a3e744a425
- golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
- golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
- gopkg.in/fsnotify.v1 v1.4.7
- gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
- gopkg.in/yaml.v2 v2.2.1
- gopkg.in/yaml.v2 v2.2.2
- gopkg.in/yaml.v2 v2.2.4
