https://github.com/alan-turing-institute/trexcontroller
Web app to remotely control Unity app.
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
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
Metadata Files
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.htmlis set towss://localhost:8080. - If you don't already have them, install
nodeandnpm. Then docd 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.htmltowss://{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
- Website: https://turing.ac.uk
- Repositories: 477
- Profile: https://github.com/alan-turing-institute
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
- node 14 build
- 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
- express ^4.19.2
- ws ^8.17.0
- actions/checkout v3 composite
- docker/login-action v1 composite
- actions/checkout v3 composite
- docker/login-action v1 composite