README.md 8.14 KB
Newer Older
david's avatar
david committed
1

david's avatar
david committed
2

David Trattnig's avatar
David Trattnig committed
3
<img src="./assets/images/aura-logo.png" width="200" vspace="20" />
david's avatar
david committed
4

david's avatar
david committed
5
```bash
6
7
8
9
10
11
12
13
14
[meta]: Hello, welcome, this is meta!
[you]: Oh, hi meta, what are you meta about?
[meta]: I am the place where all the work behind the 'real' work is happening.
[meta]: I collect stuff about the AuRa project and greet new visitors.
[you]: Ah, kool. Well... I am a new visitor, what can you tell me about this?
[meta]: **loading project overview info**
[meta]: Hello new visitor, here you go:
```

david's avatar
david committed
15
# AuRa - automated radio playout and management for community radio stations
16
17
18
19
20
21
22
23
24
25
26
27
28

What is this about? You probably already know. If not, here are some links
that explain in more detail what the community radio stations in .AT land and
.DE land are which call themselves _Freie Radios_ (literally it would be
translated to _free radios_, but as the thing with _free_ here is the same
as with [free software](https://en.wikipedia.org/wiki/Free_and_open-source_software#Free_software)
in general).

Unfortunately most of those links are in German language as our constituency
is located primarily in Austria and German. We will provide a short intro
in English language as soon as we find some time.

About _Freie Radios_:
29

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
* http://freie-radios.at - Website of the Austrian association of free radio stations
* http://www.freie-radios.de - Website of the German association of free radio stations
* https://cba.fro.at - Audio portal of Austrian free radio stations
* https://www.freie-radios.net - Audio portal of German free radio stations

**And what is this here now?**

_AuRa_ is an attempt to create a suite of program scheduling and playout
automation software that fits the needs of free radio stations. The initiative
took of in Austria, where several stations are still using and depending on
_Y.A.R.M._ (which is just yet another radio manager). _Y.A.R.M._ was an
awesome project that provided a software which was tailored to how
community radio stations create their diverse programmes. Unfortunately it
is also a piece of monolithic Java code that has come into the years.
Also it never really took of as a free software project and depended on
single developers. Today nobody really wants to touch its code anymore.

Now we urgently need something new, and all those other solutions out there
(FLOSS as well as commercial) do not really fulfill all our requirements.
Therefore we decided to pool our resources and develop something new, while
reusing a lot of work that has already been done at one or another stations.

david's avatar
david committed
52
## Architecural overview
53
54

Some of our core organisational and architectural requirements for _AuRa_ are:
55
56

* **modular architecture**: the whole suite should be made up of modular components which could be exchanged with other custom components
57
* **transparent API**: every component shall provide a well-documented API through which other components can interact with it, ideally as a REST API
58
* **reuse of existing components**: we do not want to reinvent the wheel. Several stations already developed single components as free software and we can adapt and build on those
59
60
61
* **modern frameworks**: we do not code from scratch but use modern application development frameworks which provide maintainability as well as security

Out of these requirements we came to an architecture which visually represented
david's avatar
david committed
62
63
in the components diagram.

david's avatar
david committed
64
![Diagram illustrating the AuRa components](https://gitlab.servus.at/autoradio/meta/raw/master/docs/components.png "AuRa Components")
65

david's avatar
david committed
66
67
68
So we have four AuRa components for our architecture which we codenamed _autoradio_. The following list depends the order of
dependencies and recommended installation:

david's avatar
david committed
69
* [Steering](https://gitlab.servus.at/autoradio/pv) - this is the scheduling module, where the actual program schedule of the whole station is stored as well as all infos regarding single shows and emissions. This module mainly acts as the administration interface, while most users will use *Dashboard* to get their work done.
david's avatar
david committed
70

david's avatar
david committed
71
* [Dashboard](https://gitlab.servus.at/autoradio/dashboard) - this is the frontend, were we get a good look on our shows and files to play. The interface aims for a simple experience and allows hundrets of people collaborating within the radio station. The module talks to *Steering* and *Tank* via OpenID, to retrieve program information as well as uploading audio files. Note the *Dashboard* itself has no data-store.
david's avatar
david committed
72

david's avatar
david committed
73
* [Tank](https://gitlab.servus.at/autoradio/tank) - just spleen without steam. Our tank is an importer module that is used to upload preprocessed emissions (audio data) and to streamline all audio so our _engine_ gets only the good stuff to power our radio channels. The module talks to *Steering* via OpenID to retrieves the current schedules. Additionally it delivers audio to the *Engine*.
david's avatar
david committed
74

david's avatar
david committed
75
* [Engine](https://gitlab.servus.at/autoradio/engine) - this is where the schedule is actually translated into some stream of sound, our playout server. It is responsible for playing the right audio sources at the right times and to record everything.
david's avatar
david committed
76

77

david's avatar
david committed
78
## Getting started
79
80
81
82
83
84
85
86

Currently we are not yet in a state where we could provide some simple
.deb packages or some kind of easy install script. So if you want to try it
out you will have to prepare for a little shell and config trickery. Also not
all components do provide all functionalities already. Here is a rough guide
on what to try. More info on the individual modules can be found in their
repos.

david's avatar
david committed
87
We suggest to set up the components as in the order above, as
88
they will partly only be insightful if they interact with each other.
david's avatar
david committed
89
90
91
Head over to to each project site. There you will also find a `README.md` 
with all necessary infos for the setup:

David Trattnig's avatar
David Trattnig committed
92
| | [<img src="./assets/images/aura-steering.png" width="150" align="left" />](https://gitlab.servus.at/autoradio/pv)  |  [<img src="./assets/images/aura-dashboard.png" width="150" align="left" />](https://gitlab.servus.at/autoradio/dashboard)  |  [<img src="./assets/images/aura-tank.png" width="150" align="left" />](https://gitlab.servus.at/autoradio/tank) | [<img src="./assets/images/aura-engine.png" width="150" align="left" />](https://gitlab.servus.at/autoradio/engine)  |
david's avatar
david committed
93
94
95
|---|---|---|---|---|
| **Component** | [Steering](https://gitlab.servus.at/autoradio/pv)  | [Dashboard](https://gitlab.servus.at/autoradio/dashboard)  | [Tank](https://gitlab.servus.at/autoradio/tank)  | [Engine](https://gitlab.servus.at/autoradio/engine)  |
| **Dependencies** |  | Steering, Tank | Steering | Steering, Tank |
96

david's avatar
david committed
97
The whole _AuRa_ infrastructure is super flexible in the way it can be setup,
98
that's why we have started compiling a very opinionated [Installation Guide](docs/administration/installation-guide.md).
david's avatar
david committed
99

100
101
There is also an _AuRa_ demo setup hosted by https://o94.at. In case you are
interested for a trial-run, please get in touch.
david's avatar
david committed
102

david's avatar
david committed
103
## Read more
104

105
* [User Guide](docs/user/index.md)
106
* [Installation Guide](docs/administration/installation-guide.md)
David Trattnig's avatar
David Trattnig committed
107
* [Maintenance Guide](docs/administration/maintenance-guide.md)
David Trattnig's avatar
David Trattnig committed
108
* [API Specification](docs/development/api-definition.md)
David Trattnig's avatar
David Trattnig committed
109
* [Conflict Resolution](docs/administration/conflict-resolution.md)
110

david's avatar
david committed
111
112
## Contributors

113
If you want to support the project in some way, check out the [contributors page](development/contributors.md).
114

115
## Contact
david's avatar
david committed
116

117
If you want to reach us via email, sent you request to `aura-dev (at) subsquare.at`.
david's avatar
david committed
118

119
You also can get in touch via the [Aura Mailinglist (aura-users)](https://mailman.o94.at/mailman/listinfo/aura-users).
david's avatar
david committed
120

121
122
123
124
# Sponsors

Current sponsors include:

David Trattnig's avatar
David Trattnig committed
125
126
127
128
<a href="https://o94.at/"><img src="https://o94.at/themes/custom/radio_orange/logo2.png" width="500" style="margin:64px" /></a>
<a href="https://helsinki.at/"><img src="https://helsinki.at/wp-content/uploads/logo.png" width="300" style="margin:64px" /></a>
<a href="https://www.fro.at/"><img src="./assets/images/logo-radio-fro.jpg" width="135" style="margin:64px" /></a>
<a href="https://www.frf.at/"><img src="https://www.frf.at/wp-content/uploads/cropped-FRFlogofont_mHand_einzeil1.jpg" width="400" style="margin:64px" /></a>
129
130
131


# License
david's avatar
david committed
132
133
134
135

All Aura source code is licensed under [GNU Affero General Public License (AGPL) v3.0](https://www.gnu.org/licenses/agpl-3.0.en.html).

All graphic materials and text are licensed under [Creative Commons BY-NC-SA v3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/)