https://github.com/alan-turing-institute/trexcontroller

Web app to remotely control Unity app.

https://github.com/alan-turing-institute/trexcontroller

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Web app to remotely control Unity app.

Basic Info
  • Host: GitHub
  • Owner: alan-turing-institute
  • License: mit
  • Language: JavaScript
  • Default Branch: main
  • Size: 728 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme License

README.md

TRexController

Remotely control the T-REG-HMI Unity app.

This has two components: * A simple webpage with some controls (implemented in src/public/index.html). * A websockets server (implemented in src/index.js, which also acts as the http server for the webpage described above).

Running locally

  • Ensure that the WebSocket connection string in src/public/index.html is set to wss://localhost:8080.
  • If you don't already have them, install node and npm. Then do cd src npm install node index.js

Deploying this as an Azure WebApp

  • Choose a name for your Azure webapp (e.g. "t-reg-control").
  • Set the WebSocket connection string in src/public/index.html to wss://{webapp_name}.azurewebsites.net.
  • Save, commit, and push this file. A GitHub Action will then build and push the docker image.
  • Create a container-based WebApp via the Azure portal, and point it to the relevant image on dockerhub.
  • In your client app, also set the WebSocket connection string to wss://{webapp_name}.azurewebsites.net.

Thoughts on generalising to other apps with separate controller+visualization.

Custom bits of code are: * the code for controller app in index.html and joy.js. * the websockets connection string in index.html - this could be inserted programatically if we were to have a "setup-your-own-apps" script. * logic in src/index.js for sending messages to different clients, based on a handshake message (in this case "TREG"). We could design a protocol for this. * The GitHub Action defined in .github/workflows/build-docker.yaml has the name of the docker image. (The Dockerhub username and password are repository secrets).

We could think about something like Pulumi/Terraform to auto-deploy an Azure WebApp. Could also potentially use an API to auto-generate a QR code that could be displayed on the "visualization" app, to point the user to the "controller" app.

Owner

  • Name: The Alan Turing Institute
  • Login: alan-turing-institute
  • Kind: organization
  • Email: info@turing.ac.uk

The UK's national institute for data science and artificial intelligence.

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Dockerfile docker
  • node 14 build
src/package-lock.json npm
  • accepts 1.3.8
  • array-flatten 1.1.1
  • body-parser 1.20.2
  • bytes 3.1.2
  • call-bind 1.0.7
  • content-disposition 0.5.4
  • content-type 1.0.5
  • cookie 0.6.0
  • cookie-signature 1.0.6
  • debug 2.6.9
  • define-data-property 1.1.4
  • depd 2.0.0
  • destroy 1.2.0
  • ee-first 1.1.1
  • encodeurl 1.0.2
  • es-define-property 1.0.0
  • es-errors 1.3.0
  • escape-html 1.0.3
  • etag 1.8.1
  • express 4.19.2
  • finalhandler 1.2.0
  • forwarded 0.2.0
  • fresh 0.5.2
  • function-bind 1.1.2
  • get-intrinsic 1.2.4
  • gopd 1.0.1
  • has-property-descriptors 1.0.2
  • has-proto 1.0.3
  • has-symbols 1.0.3
  • hasown 2.0.2
  • http-errors 2.0.0
  • iconv-lite 0.4.24
  • inherits 2.0.4
  • ipaddr.js 1.9.1
  • media-typer 0.3.0
  • merge-descriptors 1.0.1
  • methods 1.1.2
  • mime 1.6.0
  • mime-db 1.52.0
  • mime-types 2.1.35
  • ms 2.0.0
  • ms 2.1.3
  • negotiator 0.6.3
  • object-inspect 1.13.1
  • on-finished 2.4.1
  • parseurl 1.3.3
  • path-to-regexp 0.1.7
  • proxy-addr 2.0.7
  • qs 6.11.0
  • range-parser 1.2.1
  • raw-body 2.5.2
  • safe-buffer 5.2.1
  • safer-buffer 2.1.2
  • send 0.18.0
  • serve-static 1.15.0
  • set-function-length 1.2.2
  • setprototypeof 1.2.0
  • side-channel 1.0.6
  • statuses 2.0.1
  • toidentifier 1.0.1
  • type-is 1.6.18
  • unpipe 1.0.0
  • utils-merge 1.0.1
  • vary 1.1.2
  • ws 8.17.0
src/package.json npm
  • express ^4.19.2
  • ws ^8.17.0
.github/workflows/build-docker.yaml actions
  • actions/checkout v3 composite
  • docker/login-action v1 composite
.github/workflows/build-docker.yaml~ actions
  • actions/checkout v3 composite
  • docker/login-action v1 composite