Commit 1b3938d1 authored by David Trattnig's avatar David Trattnig
Browse files

Kickstart notes.

parent e5fbb86b
......@@ -5,8 +5,8 @@ This page gives insights on extending Aura Engine internals or through the API.
<!-- TOC -->
- [Aura Engine Development Guide](#aura-engine-development-guide)
- [Architecture](#architecture)
- [Components](#components)
- [AURA Componentes](#aura-componentes)
- [Engine Components](#engine-components)
- [API](#api)
- [Required Data Sources](#required-data-sources)
- [Provided API Endpoints](#provided-api-endpoints)
......@@ -18,14 +18,34 @@ This page gives insights on extending Aura Engine internals or through the API.
<!-- /TOC -->
## Architecture
## AURA Componentes
AURA Engine as part of the AURA Radio Suite uses an modulear architecture
based on a REST API. All external information is retrieved using JSON data-structures.
To get the basic architectural overview, visit the [Aura Meta](https://gitlab.servus.at/autoradio/meta) repository.
### Components
Starting development of engine can be quite tedious, as it requires all most all other AURA components to be up and running.
For example:
- Steering, to get the main incredient of an play-out engine: schedules (or "timeslots" in Steering terms),
which hold the actual information on playlists and their entries.
- Dashboard, to have a neat interface, being able to programm the schedules
- Tank, to get the references to audio files and other audio sources. Plus the actual files.
If you need to test and develop against the Engine's API you'll also need to get the `engine-api` project running.
For a start it's recommended to create a general `aura` project folder. In there you start cloning all the sub-projects.
After having all the sub-projects configured, and verified that they are working, take a look at the AURA `meta` project.
There's a convenience script to start all of the three main dependencies (Steering, Dashboard, Tank) all at once:
```bash
~/code/aura/meta$ ./run.sh aura local
```
### Engine Components
**engine-core.py**: It is the server which is connected to the external programme source (e.g. aura steering and tank), to liquidsoap and is listening for redis pubsub messages. This precious little server is telling liquidsoap what to play and when.
......@@ -61,7 +81,7 @@ to be played and its meta-data:
api_tank_playlist="http://localhost:8040/api/v1/shows/${SLUG}/playlists"
More information you can find here: <https://gitlab.servus.at/autoradio/meta/blob/master/api-definition.md>
You can find more information here: <https://gitlab.servus.at/autoradio/meta/blob/master/api-definition.md>
### Provided API Endpoints
......@@ -100,7 +120,7 @@ Aura Engine requires a number of ports for internal and external communication.
Those are the default port numbers:
* `1234` ... Liquidsoap Telnet Server
* `3333` ... Exposes the Engine API
* `8008` ... Exposes the Engine API
* `5000` ... Svelte development mode; dynamically uses some other port if occupied
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment