Skip to content

About

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

Topics

Resources

Stars

9 stars

Watchers

5 watching

Forks

Latest commit

 

History

761 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARD Eventhub

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

Get Started and Documentation

Important places to go ahead:

Local docs commands:

just docs        # blume dev server
just docs-build  # static build to dist/

Get involved

Service

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

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.

CLI tools (just, sops) are pinned in mise.toml. Install mise, then:

mise install

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 @std/ulid MIT
NPM @swrlab/utils MIT
NPM dd-trace Apache-2.0 OR BSD-3-Clause
NPM hono MIT
NPM zod 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 ulid MIT
NPM DEV oxfmt MIT
NPM DEV oxlint MIT
NPM DEV blume MIT
NPM DEV cookie MIT
NPM DEV license-compliance MIT

Authors

This project was realized by

at SWR Audio Lab

About

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

Topics

Resources

Stars

9 stars

Watchers

5 watching

Forks

Releases

Used by

Contributors

Languages