{"id":15501504,"url":"https://github.com/deanrad/trilogy-trivia","last_synced_at":"2026-01-20T15:32:35.140Z","repository":{"id":39577997,"uuid":"109413067","full_name":"deanrad/trilogy-trivia","owner":"deanrad","description":"Fun student assessment, review and polling game. Hackathon finalist 2017.","archived":false,"fork":false,"pushed_at":"2023-01-04T21:36:46.000Z","size":4473,"stargazers_count":1,"open_issues_count":45,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T19:30:56.493Z","etag":null,"topics":["heroku","javascript","mongodb","mongoosejs","react","redux","socket-io","websockets"],"latest_commit_sha":null,"homepage":"https://trilobytes.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deanrad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-03T15:39:45.000Z","updated_at":"2020-02-14T01:00:29.000Z","dependencies_parsed_at":"2023-02-02T20:45:59.959Z","dependency_job_id":null,"html_url":"https://github.com/deanrad/trilogy-trivia","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deanrad/trilogy-trivia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanrad%2Ftrilogy-trivia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanrad%2Ftrilogy-trivia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanrad%2Ftrilogy-trivia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanrad%2Ftrilogy-trivia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deanrad","download_url":"https://codeload.github.com/deanrad/trilogy-trivia/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deanrad%2Ftrilogy-trivia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28606142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T14:45:23.139Z","status":"ssl_error","status_checked_at":"2026-01-20T14:44:16.929Z","response_time":117,"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":["heroku","javascript","mongodb","mongoosejs","react","redux","socket-io","websockets"],"created_at":"2024-10-02T09:04:35.905Z","updated_at":"2026-01-20T15:32:35.122Z","avatar_url":"https://github.com/deanrad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trilobytes\n\n[☞ Here to report an Issue ?](https://github.com/deanius/trilogy-trivia/issues/new)\n\nWatch the Overview video on [Youtube](https://www.youtube.com/watch?v=Tm6ia1D3WuM\u0026feature=youtu.be)\n([Slide Deck](https://s3.amazonaws.com/www.deanius.com/Trilobytes.pdf))\n\n\u003cimg src=\"https://s3.amazonaws.com/www.deanius.com/img/trilobyte-screens.jpg\" width=\"400\" alt=\"Trilogy Mockup\"\u003e\n\n# Question Bank\n\n## [How to Contribute!](https://www.youtube.com/watch?v=pYLsy-6UZdQ) (7:30 minutes, Youtube)\n\nHelp us contribute to this! Because of the way the repo is organized, simply dumping questions/answers/links into [questions.json](./client/src/data/questions.json) would suffice to share questions across all cohorts, if merged in via Pull Requests.\n\nPer [Issue #42](https://github.com/deanius/trilogy-trivia/issues/42), we could deal with choosing a subset of questions at the beginning of the round, and allow categorizing of the questions via topic/module. This bears a longer discussion, but right now, fork/edit/deploy will suffice for anyone to try this tool out with their own questions.\n\nQuestion Schema:\n\n```\n  prompt: String\n  choices: [String]\n  answer: String\n  links: [{href(URL), text(String)}]\n```\n\n* Currently limited to the static list of questions defined in [questions.json](./data/questions.json)\n\n* An authoring tool/question randomizer would be great - but meanwhile, edit the questions and redeploy\n\n# Running a Game\n\n## Setup\n\n* Set up your questions, with answers and reference links, in [questions.json](./data/questions.json)\n* Make a new heroku app, if you don't have one already.\n* Do `yarn build`, and commit built files.\n* Push to your heroku instance.\n* Bring `http://your-app.herokuapp.com/live` up on the shared projector display, and `http://your-app.herokuapp.com/remote` up on a device.\n* Students should see on the home page that they can join at the link `http://your-app.herokuapp.com/`\n* Students will enter their names and wait.\n\n## Instructor clicks 'Advance Question'\n\n* Students answer\n* When the instructor desires, they Reveal the answer\n* Then Advances to the next question\n\n## Ending the game\n\nNot enabled yet!\n\n# State Diagram\n\n![Redux State](https://user-images.githubusercontent.com/24406/32809461-827a80c8-c95c-11e7-8636-1ae202a44cff.png)\n\n* `round` - the current question and any responses\n* `title` - the title of the game\n* `players` - who's playing: map of Guid to `{name}`\n* `clientId` - each browser tab is identified with a Guid stored in state here, and this is sent along with every response to the server\n\n# Synchronization\n\nCurrently every connected browser gets an update of the server-side state object via a `STATE_UPDATE` event.\n\nThis means everyone's response goes to everyone's browser. While that is inefficient, it is intended to be pruned down later. Per [Issue #26](https://github.com/deanius/trilogy-trivia/issues/26) though, it would be nice for a user to know whether they were the first to answer, and thus some knowledge of others' responses could be useful.\n\n# Future work\n\n[The Huboard Kanban Board](https://huboard.com/deanius/trilogy-trivia) has a bunch of issues, which are synced to Github Issues. Huboard is awesome.\n\n_Thank you for helping to make Trilobytes awesome and improve Student fun and retention!_\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeanrad%2Ftrilogy-trivia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeanrad%2Ftrilogy-trivia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeanrad%2Ftrilogy-trivia/lists"}