swrlab / ard-eventhub

ARD system to distribute real-time (live) metadata for primarily radio broadcasts.

Home Page:https://swrlab.github.io/ard-eventhub

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ARD Eventhub

ARD system to distribute real-time (live) metadata for primarily radio broadcasts.

Active Data Suppliers

These ARD broadcasters are currently sending live metadata via ARD Eventhub:

Broadcaster TEST PROD
BR
HR
MDR -
NDR
Radio Bremen -
RBB -
SR -
SWR
WDR
Deutschlandradio - -

Get Started and Documentation

Important places to go ahead:

Get involved

  • Open an issue for problems, that you might experience
  • Join ard-eventhub/discussions for ongoing topics about formats, etc.
  • Join #eventhub in the ARD Entwickler Slack

Modules

This project will include two modules: Ingest and API. The first development step is to only supply the Ingest service. Each module uses their own endpoints and checks, while some parts are shared across both (utils). They also both have their own Dockerfiles to start the appropriate service.

Ingest

The Ingest service is responsible for receiving and publishing events and managing subscriptions. You'll find the core code in ./src/ingest/.

Local Setup

This project uses bun as package manager and runtime environment. Please note that this only applies to the package manager and CLI commands. JavaScript still uses the 'traditional' node runtime. Check the Bun documentation for installation instructions.

To install dependencies run:

bun install

To check for minor updates:

bun update

Changelog

See CHANGELOG for latest changes.

License

This project is licensed under European Union Public License 1.2 (EUPL-1.2), which can be found in LICENSE. Detailed information and translations to all 23 official languages of the European Union are available at joinup.ec.europa.eu. The usage of this license does not imply any relationship to or endorsement by the European Union, the joinup initiative or other participating parties. A compatibility matrix is also available and describes the relationships between EUPL-1.2 in upstream and downstream projects.

This source code is provided under EUPL v1.2, except for the spdx-exceptions package, which uses the CC-BY-3.0 license, without adding any legal or technical restrictions guaranteed by their license.

Third-Party Components

Type Name License
Docker node:22-alpine MIT
NPM @google-cloud/datastore Apache License 2.0
NPM @google-cloud/pubsub Apache License 2.0
NPM @google-cloud/secret-manager Apache License 2.0
NPM @swrlab/utils MIT
NPM compression MIT
NPM dd-trace Apache-2.0 OR BSD-3-Clause
NPM express MIT
NPM express-openapi-validator MIT
NPM firebase-admin Apache License 2.0
NPM google-auth-library Apache License 2.0
NPM jsonwebtoken MIT
NPM luxon MIT
NPM slug MIT
NPM swagger-ui-express MIT
NPM ulid MIT
NPM winston MIT
NPM DEV @biomejs/biome MIT
NPM DEV @swrlab/swr-prettier-config MIT
NPM DEV chai MIT
NPM DEV chai-http MIT
NPM DEV docsify-cli MIT
NPM DEV license-compliance MIT
NPM DEV mocha MIT
NPM DEV nodemon MIT
NPM DEV prettier MIT

Authors

This project was realized by

at SWR Audio Lab

About

ARD system to distribute real-time (live) metadata for primarily radio broadcasts.

https://swrlab.github.io/ard-eventhub

License:Other


Languages

Language:JavaScript 98.4%Language:HTML 1.1%Language:Dockerfile 0.5%