{"id":13436982,"url":"https://github.com/bbc/node-radiovis-stomp-server","last_synced_at":"2025-06-23T09:33:15.585Z","repository":{"id":136960491,"uuid":"84546982","full_name":"bbc/node-radiovis-stomp-server","owner":"bbc","description":"RadioVIS STOMP server written in node.js","archived":false,"fork":false,"pushed_at":"2024-11-27T15:12:40.000Z","size":309,"stargazers_count":12,"open_issues_count":6,"forks_count":4,"subscribers_count":45,"default_branch":"main","last_synced_at":"2025-04-06T20:36:18.961Z","etag":null,"topics":["javascript","nodejs","radiodns","radiovis","stomp"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bbc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-10T10:11:52.000Z","updated_at":"2023-06-13T00:45:10.000Z","dependencies_parsed_at":"2024-04-13T12:44:45.736Z","dependency_job_id":"48873f69-4e3f-43ef-8677-187a9250e969","html_url":"https://github.com/bbc/node-radiovis-stomp-server","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/bbc/node-radiovis-stomp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fnode-radiovis-stomp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fnode-radiovis-stomp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fnode-radiovis-stomp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fnode-radiovis-stomp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbc","download_url":"https://codeload.github.com/bbc/node-radiovis-stomp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbc%2Fnode-radiovis-stomp-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261453035,"owners_count":23160439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nodejs","radiodns","radiovis","stomp"],"created_at":"2024-07-31T03:00:53.481Z","updated_at":"2025-06-23T09:33:10.565Z","avatar_url":"https://github.com/bbc.png","language":"JavaScript","funding_links":[],"categories":["Hybrid Radio"],"sub_categories":[],"readme":"RadioVis STOMP Server\n=====================\n\nThis is an implementation of a subset of the [STOMP protocol] in [node.js],\nfor purpose of deploying a [RadioVis] service.\n\nRadioVis was standardised in [ETSI TS 101 499], _Hybrid Digital Radio (DAB, DRM, RadioDNS); SlideShow;\nUser Application Specification_.\n\n\n## Running\n\nThe recommended version of Node.js is v20\n\n    npm install\n    npm start\n\nThis will start a STOMP server running on port 61613.\n\n\n## Publishing images and text\n\nContent is pushed to clients via a HTTP POST. The content can be sent using either \nURL encoding, or as JSON. Text and Image can be sent using separate requests or in \nthe same request. A link may optionally be specified at the same time as an image.\n\nFor example to update the *text* for a station using curl:\n\n    curl -v http://localhost:3000/services/station1 -d 'text=Hello World'\n\nOr to update the *image* and *link*:\n\n    curl http://localhost:3000/services/station2 \\\n      -d 'image=http://www.example.com/images/myimage.jpg' \\\n      -d 'link=http://www.example.com/programmes/breakfast'\n\n\n## Running Tests\n\n    npm test\n\nTo generate a test coverage report:\n\n    npm run coverage\n\n\n## Settings\n\nThe [settings.js](settings.js) file is used to configure the server.\nIt supports the following confection options:\n\n| Setting Name         | Default         | Description             |\n| -------------------- | --------------- | ----------------------- | \n| `stompPort`          | `61613`         | STOMP port to listen for client connections on.    |\n| `stompHost`          | `0.0.0.0`       | IP address to bind STOMP connections to.           |\n| `adminPort`          | `3000`          | HTTP port to listen for HTTP admin connections on. |\n| `adminHost`          | `127.0.0.1`     | IP address to bind HTTP admin interface to.        | \n| `servicesFile`       | `services.json` | JSON file to load list of broadcast services from. |\n| `republishFrequency` | `900`           | How often to re-publish messages to subscribers.   |\n| `wildcard`           | `false`         | Enable support for wildcard bearer in topics (`*`) |\n\n\n## Testing\n\nBBC R\u0026D have written a GUI python tool called RadioVisDemo which can be useful to test a RadioVis server:\n\nhttps://github.com/bbc/RadioVisDemo\n\nOr to test using the command-line, you could use the [stomp.py tool] to subscribe to messages:\n\n```\nstomp -H 127.0.0.1 -P 61613 -S 1.0 -L '/topic/fm/ce2/c201/09710/text'\n```\n\nHere is is another example subscribing to all services using a wildcard topic:\n\n```\nstomp -H 127.0.0.1 -P 61613 -S 1.0 -L '/topic/*/text' --verbose\n```\n\n\n## License\n\nCopyright 2017-2024 British Broadcasting Corporation\n\nThe RadioVis STOMP Server is free software; you can redistribute it and/or\nmodify it under the terms of the Apache License, Version 2.0.\n\nThe RadioVis STOMP Server is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\nor FITNESS FOR A PARTICULAR PURPOSE.  See the Apache License, Version 2.0 for\nmore details.\n\n\nThe [favicon.ico] image was created from the Mozilla radio SVG:\n\nhttps://github.com/mozilla/fxemoji/blob/gh-pages/svgs/objects/u1F4FB-radio.svg\n\nWhich is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0):\n\nhttps://creativecommons.org/licenses/by/4.0/\n\n\n\n[node.js]:         https://nodejs.org/\n[STOMP protocol]:  https://stomp.github.io/stomp-specification-1.0.html\n[stomp.py tool]:   https://jasonrbriggs.github.io/stomp.py/commandline.html\n[speculate]:       https://github.com/bbc/speculate\n[RadioVis]:        https://en.wikipedia.org/wiki/RadioVIS\n[ETSI TS 101 499]: http://www.etsi.org/deliver/etsi_ts/101400_101499/101499/03.01.01_60/ts_101499v030101p.pdf\n\n[favicon.ico]:     /public/favicon.ico\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fnode-radiovis-stomp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbc%2Fnode-radiovis-stomp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbc%2Fnode-radiovis-stomp-server/lists"}