Games Integration
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- javascript, react
- Domain
- api, databases, full-stack
Research direction
Start by reviewing the existing Link and ContentModule flows, then trace how externally hosted games currently use Link#link_type. The work is complete when Game and GameSession records, game management and session CRUD actions, and JSON score-event endpoints support the iframe integration described in the issue.
Written by the indexing model from the issue text.
Description
Goal
- To create the functionality for a first-class games integration so the application can track game completion/scores for students
Context
EndsideOut maintains a library of custom React games outside of this application. Each game has a unique URL slug and is built for a specific ContentModule in the EndsideOut curriculum.
This integration lets EndsideOut admins manage the explicit link between an externally-hosted game and a ContentModule in our app. Creating a Game record associates it with a ContentModule — so once a course/classroom is built using that module, the linked game becomes available to students in that module, the same way a Link is today.
Rather than sending students off-site, we iframe the game on a show page within our own app so students never leave the app to play. Because the games post their session/score data back to us via JSON endpoints, our app becomes the source of truth for game results — which student played which game, and what they scored.
This replaces the existing game option on Link#link_type — games get their own model and their own management flow instead of being a generic link.
Included Features
- Adding a new
Gamemodel, associated with aContentModule, with a unique slug - Removing the
gamelink_type onLinkin favor ofGame - Adding a new
GameSessionmodel to track a student's play of a game - Adding CRUD actions for game sessions
- Adding JSON endpoints so EndsideOut games can post session/score events to our app
- Dominant language
- JavaScript
- Stars
- 11
- Forks
- 4
- Avg merge
- 20h 30m
- Merged PRs (30d)
- 19
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rubyforgood/endsideout
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
rubyforgood/endsideout#110 ·
-
Improve Fixtures Open
rubyforgood/endsideout#111 · 1 assignee ·
-
Game Viewer Open
Difficulty 3/5 1-2 days Newbie friendliness 68/100
rubyforgood/endsideout#81 ·
-
Add SchoolYear Model Open
Difficulty 5/5 Over a week Newbie friendliness 35/100
rubyforgood/endsideout#67 ·
-
Admin CSV Import Open
rubyforgood/endsideout#66 · 1 comment · 1 assignee ·
All issues in rubyforgood/endsideout
Similar issues
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Automattic/safe-publish#594 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dream-num/dsh-univer-office#104 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
avniproject/avni-webapp#1811 ·
-
area/auroraboot area/webui bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100