Skip to content

basebox Technical Documentation

What is basebox?

basebox is a GraphQL API server with a unique GraphQL to SQL compiler connected to a PostgreSQL database that frees you from writing boiler plate resolver functions. It is written in Rust, thus really fast and safe. Its development is done in compliance to various regulations to ease the certification of (medical) projects using basebox.

The idea in general is:

You provide

A GraphQL schema file with some basebox-specific annotations

... and you get:

A full-fledged, high performance GraphQL API server.

  

Get Started

Ready to get started? Click the button below.

Get Started

Overview

basebox consists of the following components:

bbc

The basebox compiler; compiles a GraphQL schema into an SQL script to initialize the PostgreSQL database and some files that are later used by basebox to translate your client's GraphQL into SQL requests.

bbc is run only once during installation and again should the schema change.

broker

basebox' HTTPS GraphQL server; receives GraphQL requests from your clients, handles OpenID Connect authorization and authentication, sends requests to the database proxy and returns the JSON results to the client.

dbproxy

The database proxy; it translates GraphQL requests into SQL, hits the database and returns JSON results.

OpenID Connect

basebox uses OpenID Connect for authorization and authentication. OpenID Connect is not part of the basebox package itself, so you can integrate your basebox project with an existing OpenID Connect infrastructure (SSO), create a new one or use a commercial service for that purpose.

basebox is written in 100% Rust.

Here is a graphical overview:

basebox Architecture

This is the root page of basebox' developer documentation. For more general information, please visit our main site at basebox.io.