{"id":24589300,"url":"https://github.com/bsstudio/robonaut-server","last_synced_at":"2026-04-01T18:19:33.280Z","repository":{"id":37033720,"uuid":"323599930","full_name":"BSStudio/robonaut-server","owner":"BSStudio","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-26T23:34:16.000Z","size":7250,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T05:07:42.101Z","etag":null,"topics":["mongodb","rabbitmq","race-software","racing","robonaut","spring"],"latest_commit_sha":null,"homepage":"https://robonaut.bsstudio.hu/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BSStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-22T10:57:37.000Z","updated_at":"2026-03-26T23:33:35.000Z","dependencies_parsed_at":"2023-09-29T18:53:43.031Z","dependency_job_id":"6d71cd70-caf6-4b54-b62a-a42fd9649e34","html_url":"https://github.com/BSStudio/robonaut-server","commit_stats":null,"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"purl":"pkg:github/BSStudio/robonaut-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSStudio%2Frobonaut-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSStudio%2Frobonaut-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSStudio%2Frobonaut-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSStudio%2Frobonaut-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BSStudio","download_url":"https://codeload.github.com/BSStudio/robonaut-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSStudio%2Frobonaut-server/sbom","scorecard":{"id":1238066,"data":{"date":"2025-09-24T03:11:04Z","repo":{"name":"github.com/BSStudio/robonaut-server","commit":"769d810c33f0f991a848a544a397dcf861ec61c8"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.9,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/16 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/docker.yml:28","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/docker.yml:29","Info: topLevel permissions set to 'read-all': .github/workflows/docker.yml:14","Info: topLevel permissions set to 'read-all': .github/workflows/release.yml:9","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:20"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Maintained","score":10,"reason":"23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:   9 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   9 out of   9 third-party GitHubAction dependencies pinned","Info:   2 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Warn: 'up-to-date branches' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Contributors","score":0,"reason":"project has 0 contributing companies or organizations -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}}]},"last_synced_at":"2025-09-24T05:25:26.385Z","repository_id":37033720,"created_at":"2025-09-24T05:25:26.385Z","updated_at":"2025-09-24T05:25:26.385Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["mongodb","rabbitmq","race-software","racing","robonaut","spring"],"created_at":"2025-01-24T08:14:42.015Z","updated_at":"2026-04-01T18:19:33.250Z","avatar_url":"https://github.com/BSStudio.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RobonAUT Server\n\n[![Docker](https://github.com/BSStudio/robonaut-server/actions/workflows/docker.yml/badge.svg)](https://github.com/BSStudio/robonaut-server/actions/workflows/docker.yml)\n[![Gradle](https://github.com/BSStudio/robonaut-server/actions/workflows/gradle.yml/badge.svg)](https://github.com/BSStudio/robonaut-server/actions/workflows/gradle.yml)\n[![Integration](https://github.com/BSStudio/robonaut-server/actions/workflows/integration.yml/badge.svg)](https://github.com/BSStudio/robonaut-server/actions/workflows/integration.yml)\n[![Release](https://github.com/BSStudio/robonaut-server/actions/workflows/release.yml/badge.svg)](https://github.com/BSStudio/robonaut-server/actions/workflows/release.yml)\n![GitHub Release Date](https://img.shields.io/github/release-date/BSStudio/robonaut-server)\n![GitHub Tag](https://img.shields.io/github/v/tag/BSStudio/robonaut-server)\n![GitHub branch checks state](https://img.shields.io/github/checks-status/BSStudio/robonaut-server/main)\n![Codecov branch](https://img.shields.io/codecov/c/gh/BSStudio/robonaut-server/main)\n![Swagger Validator](https://img.shields.io/swagger/valid/3.0?specUrl=https%3A%2F%2Fraw.githubusercontent.com%2FBSStudio%2Frobonaut-server%2Fmain%2Fserver%2Fweb%2Fsrc%2Fmain%2Fresources%2Fstatic%2Fopen-api.yaml)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/BSStudio/robonaut-server)\n![GitHub](https://img.shields.io/github/license/BSStudio/robonaut-server)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=bugs)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=ncloc)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=BSStudio_robonaut-server\u0026metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=BSStudio_robonaut-server)\n![GitHub deployments](https://img.shields.io/github/deployments/BSStudio/robonaut-server/github-pages)\n\n***\n[RobonAUT](http://robonaut.aut.bme.hu/) is an annual robot competition organized by the Faculty of Electrical Engineering and Informatics of Budapest University of Technology and Economics, dating back more than a decade.\nThe event is livestreamed by BSS, one of the university student-operated video studios.\nDuring the live broadcast, we wanted to show live data to our viewers.\nThe organizers followed the events of the races in their own software.\nTo display the events, we created software that uses [CasparCG](https://casparcg.com/) to display the data on the stream.\n\nThis program persisted the events of the tournament and broadcasted the details of the events to the playout software.\n\n```mermaid\n---\ntitle: Architecture\n---\ngraph RL\nrcs[\"Race Control Software\"]\nserver[\"Robonaut Server\"]\ndb[\"MongoDB\"]\nplayout[\"Playout Server\"]\ncg[\"Caspar CG\"]\n\nrcs --\u003e server\ndb \u003c--\u003e server\nserver \u003c-- Rabbit MQ --\u003e playout\nplayout --\u003e cg\n```\n\n## Run the application\n### Using docker compose\n```shell\ndocker compose up -d\n```\n\n### Using Gradle\n```shell\n./gradlew bootRun\n```\n\n## Dependencies\nThe project using **MongoDB** as its persistent storage.  \nFor message broadcasting **RabbitMQ** is used.\n\n## Environment variables\nThe required environment variables can be found here:  \n`application/src/main/resources/META-INF/additional-spring-configuration-metadata.json`  \nFor MongoDB and RabbitMQ specific variables visit Spring Boot documentations.\n\n## Documentation\n\nTo access the documentation run the application and navigate to `http://localhost:8080/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsstudio%2Frobonaut-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsstudio%2Frobonaut-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsstudio%2Frobonaut-server/lists"}