ARD system to distribute real-time (live) metadata for primarily radio broadcasts.
Important places to go ahead:
- The ard-eventhub repository
- Our Quickstart documentation
- The full docs on swrlab.github.io/ard-eventhub
- Internal documentation in Confluence
Local docs commands:
just docs # blume dev server
just docs-build # static build to dist/- Open an issue for problems, that you might experience
- Join ard-eventhub/discussions for ongoing topics about formats, etc.
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/.
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.
CLI tools (just, sops) are pinned in mise.toml. Install mise, then:
mise installTo install dependencies run:
bun installTo check for minor updates:
bun updateSee 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 | @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 |
This project was realized by