Repository navigation
Interaction Website Requirements
Strange4 edited this page Oct 1, 2026
·
2 revisions
The interaction website (or just website) is the one thing that allows users to cleanly interact with the Game Server. It must be able
- Use Typescript + React
- Use a webserver that allows us to write custom server side logic (NextJs, Express, Fastify, or other)
- Must be able to run inside docker
- Authenticate/authorize users in the home page using their token
- Allow users to stay logged in/logout
- Listen to server side events for games that are currently being played (you authenticate yourself via your cookie)
The admin page is the page that is responsible for managing the game server as an administrator.
This page needs to:
- Create/Delete new participant tokens (post request to game server)
- Pause submissions of code
- Toggle leaderboard on/off
- Allow uploads of admin test agent as .zip files
- View the leaderboard and all of the latest saved games.
- Start the games between participant agents
The participant page allows each participant to upload their code, queue in for testing their latest uploaded code against the admin test agent, and view a game that they are currently debugging on their computer.
sequenceDiagram
Website ->>+Server: POST /isAdmin (using bearer token)
Server-->>-Website: OK/NOT OK
Interaction Website Requirements
Team Website Meeting Minutes
Team Server Meeting Minutes
Team Viewer Meeting Minutes
User Consent and End-User License Agreement
Overall Architecture and Class Diagrams
Testing Plan and Continuous Integration
Deployment Plan and Infrastructure