kurbisio

module
v0.0.0-...-0b08f29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2024 License: MIT

README

Kurbisio

Kurbisio is a golang framework for developing backends. Core features are:

  • declarative infrastructure (in JSON)
  • auto generation of interfaces and relational database models
  • row-level based access control with different roles
  • full type safety (with JSON schema)
  • timer events and job processing
  • abstracts underlying core AWS services (such as RDS and S3)

History

Kurbisio was initially developed 2021 by Dalarub & Ettrich GmbH, a consultancy company founded by Daniel Alarcon-Rubio and Matthias Ettrich. It was used for internal projects, including a running and fitness app which later became twaiv.

Contributors: Daniel Alarcon-Rubio Matthias Ettrich Gregory Lenoble Dima Shelamov

Unit Tests

You need a postgres database:

docker run --rm --name some-postgres -p 5432:5432 -e POSTGRES_PASSWORD=docker -d postgres

Then use standard go commands, like

POSTGRES="host=localhost port=5432 user=postgres dbname=postgres sslmode=disable" POSTGRES_PASSWORD="docker" go test ./... -count 1

The -count 1 parameter disables test result caching. If you also specify -v you will see t.Log(...) output also for the passing unit tests. This can be handy for test-fist development.

Directories

Path Synopsis
Package core implements the configurable backend and tools around it
Package core implements the configurable backend and tools around it
access
Package access provides utilities for access control
Package access provides utilities for access control
backend
Package backend implements the configurable backend
Package backend implements the configurable backend
client
Package client provides easy and fast in-process access to a REST api
Package client provides easy and fast in-process access to a REST api
registry
Package registry provides a persistent registry of objects in a SQL database
Package registry provides a persistent registry of objects in a SQL database
schema
Package schema implements JSON validation utilities
Package schema implements JSON validation utilities
examples
iot
Package iot provides core IoT functionality
Package iot provides core IoT functionality
credentials
Package credentials implements a REST interface which provides device credentials to things
Package credentials implements a REST interface which provides device credentials to things
mqtt
Package mqtt provides the IoT broker with device twin support
Package mqtt provides the IoT broker with device twin support
twin
Package twin provides the REST interface for the core IoT appliance device twin
Package twin provides the REST interface for the core IoT appliance device twin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL