{"id":23949733,"url":"https://github.com/liaplayground/edrys_and_liascript","last_synced_at":"2026-02-09T20:42:16.617Z","repository":{"id":133197445,"uuid":"475499108","full_name":"LiaPlayground/Edrys_and_LiaScript","owner":"LiaPlayground","description":"Demo of using Edrys","archived":false,"fork":false,"pushed_at":"2022-03-30T23:24:40.000Z","size":4,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-20T17:53:56.436Z","etag":null,"topics":["liascript","liascript-course"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LiaPlayground.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":"2022-03-29T15:13:45.000Z","updated_at":"2025-02-10T09:41:06.000Z","dependencies_parsed_at":"2023-03-22T23:16:19.840Z","dependency_job_id":null,"html_url":"https://github.com/LiaPlayground/Edrys_and_LiaScript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LiaPlayground/Edrys_and_LiaScript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaPlayground%2FEdrys_and_LiaScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaPlayground%2FEdrys_and_LiaScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaPlayground%2FEdrys_and_LiaScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaPlayground%2FEdrys_and_LiaScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LiaPlayground","download_url":"https://codeload.github.com/LiaPlayground/Edrys_and_LiaScript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaPlayground%2FEdrys_and_LiaScript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29280433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T19:05:41.198Z","status":"ssl_error","status_checked_at":"2026-02-09T19:05:37.449Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["liascript","liascript-course"],"created_at":"2025-01-06T11:50:23.615Z","updated_at":"2026-02-09T20:42:16.612Z","avatar_url":"https://github.com/LiaPlayground.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nauthor:   Your Name\n\nemail:    your@mail.org\n\nversion:  0.0.1\n\nlanguage: de\n\nnarrator: US English Female\n\nimport: https://raw.githubusercontent.com/liaTemplates/AVR8js/main/README.md\n\n--\u003e\n\n# TUBAF - Status der Implementierung\n\nhttps://github.com/LiaPlayground/Edrys_and_LiaScript/\n\n## Edrys\n\n![edrys-logo](https://raw.githubusercontent.com/edrys-org/edrys/main/brand/logo.png)\u003c!-- style=\"width:100%\" --\u003e\n\n__The Open Remote Teaching Platform__\n\n__Projekt: https://edrys.org __\n\n__GitHub: https://github.com/edrys-org/edrys __\n\n### Fetatures\n\n* __Live Classrooms:__ Click on a student to talk to them, or create rooms and\n  drag students in \u0026 out\n* __Remote Labs:__ Allow students to interact with your real lab equipment\n  remotely \u0026 asynchronously\n* __Modular:__ Build your class by combining Modules or make your own with an\n  easy real-time API\n* __Easy to start:__ Download and run to start, no databases or any other\n  dependencies to set up\n* __Privacy-friendly:__ Passwordless auth with minimal student PII stored\n* __Fast \u0026 Modern:__ Based on Deno and Vue with a deliberately small codebase\n* __Free and Open Source, forever:__ No paywalled features or lock-in\n\n### Wie Funktioniert es\n\n    {{1-2}}\n__Rollen:__ Student/Teacher/Station\n\n    {{1-2}}\n![stations](https://raw.githubusercontent.com/edrys-org/edrys/main/docs/stations/structure.png)\n\n    {{2}}\n![arduino-stations](https://raw.githubusercontent.com/edrys-org/edrys/main/docs/stations/arduino-lab.png)\n\n    {{2}}\n__Orte:__ Lobby/Room/Station\n\n#### Kommunikation\n\n``` html\n\u003cscript src=\"https://edrys-org.github.io/edrys/module/edrys.js\"\u003e\u003c/script\u003e\n```\n\n                 {{1}}\n***********************************************************\n\n__Konfiguration__\n\n``` js\n// Is one of \"teacher\", \"student\", or \"station\"\nconsole.log(Edrys.role);\n\n// Always available\nconsole.log(Edrys.module.config);\n\n// Only available when this module is loaded to a student\nconsole.log(Edrys.module.studentConfig);\n// Only available when this module is loaded to a teacher\nconsole.log(Edrys.module.teacherConfig);\n// Only available when this module is loaded on a station\nconsole.log(Edrys.module.stationConfig);\n```\n***********************************************************\n\n\n                 {{2}}\n***********************************************************\n\n__Senden und Empfangen__\n\n``` js\n// To send a message:\nEdrys.sendMessage(\"subject\", \"body\");\n\n// To receive messages:\nEdrys.onMessage(({ from, subject, body }) =\u003e {\n  console.log(\"Got new message: \", from, subject, body)\n});\n```\n***********************************************************\n\n                 {{3}}\n***********************************************************\n__Promiskuität__\n\n``` js\n// To receive messages:\nEdrys.onMessage(\n  ({ from, subject, body, module }) =\u003e {\n    console.log(\"Got new message: \", from, subject, body, module)\n  }, promiscuous=true);\n```\n***********************************************************\n\n## Live demo\n\n### Klassenraum\n\n__LiaScript Module:__ https://github.com/edrys-org/module-liascript\n\n__Konfiguration:__\n\n```json\n{\n  \"course\": \"https://raw.githubusercontent.com/LiaPlayground/Edrys_and_LiaScript/main/README.md\"\n}\n```\n\n#### Synchronisierung\n\n__Quiz:__ Was ist Edrys?\n\n[[ ]] Ein Learning Management System (LMS)\n[[X]] Eine Möglichkeit Klassenräume kollaborativ zu gestallten\n[[ ]] Ein online Game\n\n---\n\n__Umfrage:__ Wie fanden Sie die Vorstellung bis jetzt?\n\n[(Note 1)] sehr gut\n[(Note 2)] gut\n[(Note 3)] befriedigend\n[(Note 4)] ausreichend\n[(Note 5)] noch nicht ganz ausreichend\n\n---\n\n__Umfrage:__ Was wünschen Sie sich (Begriffe können mit Komma getrennt werden)?\n\n[[___]]\n\n#### Lokales testen\n\n\u003cdiv id=\"example\"\u003e\n\u003cwokwi-led color=\"red\"   pin=\"13\" label=\"13\"\u003e\u003c/wokwi-led\u003e\n\u003cwokwi-led color=\"green\" pin=\"12\" label=\"12\"\u003e\u003c/wokwi-led\u003e\n\u003cwokwi-led color=\"blue\"  pin=\"11\" label=\"11\"\u003e\u003c/wokwi-led\u003e\n\u003cwokwi-led color=\"blue\"  pin=\"10\" label=\"10\"\u003e\u003c/wokwi-led\u003e\n\u003cspan id=\"simulation-time\"\u003e\u003c/span\u003e\n\u003c/div\u003e\n\n``` cpp\nbyte leds[] = {13, 12, 11, 10};\nvoid setup() {\n  Serial.begin(115200);\n  for (byte i = 0; i \u003c sizeof(leds); i++) {\n    pinMode(leds[i], OUTPUT);\n  }\n}\n\nint i = 0;\nvoid loop() {\n  Serial.print(\"LED: \");\n  Serial.println(i);\n  digitalWrite(leds[i], HIGH);\n  delay(250);\n  digitalWrite(leds[i], LOW);\n  i = (i + 1) % sizeof(leds);\n}\n```\n@AVR8js.sketch(example)\n\n\n\n#### Live Coding\n\nhttps://github.com/edrys-org/module-code\n\n``` bash\narduino-cli sketch new ./arduino\nrm ./arduino/*\necho \"Writing Code-----------------------------------\"\necho $CODE | base64 --decode \u003e ./arduino/arduino.ino\necho \"Compiling Code---------------------------------\"\narduino-cli compile ./arduino -b arduino:avr:uno -v --output-dir ./arduino\necho \"Uploading Code---------------------------------\"\narduino-cli upload ./arduino -b arduino:avr:uno -p /dev/ttyACM0\n```\n\n``` arduino\n// the setup function runs once when you press reset or power the board\nvoid setup() {\n  // initialize digital pin LED_BUILTIN as an output.\n  pinMode(LED_BUILTIN, OUTPUT);\n}\n\n// the loop function runs over and over again forever\nvoid loop() {\n  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)\n  delay(1000);                       // wait for a second\n  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW\n  delay(1000);                       // wait for a second\n}\n```\n\n---\n\n__Konfiguration__\n\n```json\n{\n  \"editorText\": \"// the setup function runs once when you press reset or power the board\\nvoid setup() {\\n  // initialize digital pin LED_BUILTIN as an output.\\n  pinMode(LED_BUILTIN, OUTPUT);\\n}\\n\\n// the loop function runs over and over again forever\\nvoid loop() {\\n  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)\\n  delay(1000);                       // wait for a second\\n  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW\\n  delay(1000);                       // wait for a second\\n}\",\n  \"terminalText\": \"Starting text in terminal...\",\n  \"commands\": \"arduino-cli sketch new ./arduino\\nrm ./arduino/*\n  echo \\\"Writing Code-----------------------------------\\\"\\necho $CODE | base64 --decode \u003e ./arduino/arduino.ino\\necho \\\"Compiling Code---------------------------------\\\"\\narduino-cli compile ./arduino -b arduino:avr:uno -v --output-dir ./arduino\\necho \\\"Uploading Code---------------------------------\\\"\\narduino-cli upload ./arduino -b arduino:avr:uno -p /dev/ttyACM0\\n\",\n  \"language\": \"cpp\",\n  \"theme\": \"light\"\n}\n```\n\n\n### Global\n\n__Heroku:__ https://thawing-peak-50396.herokuapp.com/\n\n\n## Ausblick\n\n\n* {{1}} Headless Browser via [puppeteer](https://puppeteer.github.io/puppeteer/)\n\n* {{2}} WebViz \u0026 ROS: https://webviz.io\n\n  {{2}}\n  !?[WebView Ros](https://open-source-webviz-ui.s3-us-west-2.amazonaws.com/landing/rawvelodyne.webm)\u003c!-- autoplay --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliaplayground%2Fedrys_and_liascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliaplayground%2Fedrys_and_liascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliaplayground%2Fedrys_and_liascript/lists"}