Services#

Gencaster consists of multiple services which cover various tasks around the concept of a The story graph.

Services#

Name

Description

Frontend

A Javascript frontend which is used to listen to a Stream. The frontend receives the data from the backend via GraphQL (see Schema). When the backend assigned a Stream Point to a listener, the frontend will take care of the connection procedure to the Stream, such that the listener can listen to the stream.

Backend

Stores information about streams and story graphs and manages their coordination

Editor

Create and edit story graphs within the browser

Sound

Wraps the output of scsynth into a WebRTC stream via Janus. This is the streaming server of Gencaster.

digraph Gencaster { node [shape=box, fontname="Arial"] edge [fontname="Arial"] "Caster sound" { rank = source; "Backend" } "Frontend" "Editor" "OSC server" { rank = sink; "Listener" [shape="signature", label="Listener" style="filled" color="#adff00"] } "Database" [shape="cylinder"] "Backend" -> "OSC server" [dir=both, label="OSC"] "OSC server" -> "Caster sound" [dir=both, label="OSC"] "Backend" -> "Frontend" [dir=both, label="GraphQL"] "Listener" -> "Frontend" [label="http"] "Caster sound" -> "Frontend" [dir=both, label="WebRTC"] "Editor" -> "Backend" [dir=both, label="GraphQL"] "Backend" -> "Database" [dir=both] }

The services of Gencaster#