ARD system to distribute real-time (live) metadata for primarily radio broadcasts.
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 | - | - |
Important places to go ahead:
- The ard-eventhub repository
- Our Quickstart documentation
- The full docs on swrlab.github.io/ard-eventhub
- OpenAPI specification on eventhub-ingest.ard.de/openapi
- Internal documentation in Confluence
- 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
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.
The Ingest service is responsible for receiving and publishing events and managing subscriptions. You'll find the core code in ./src/ingest/
.
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
See CHANGELOG for latest changes.
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.
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 |
This project was realized by