Skip to content

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

Requirements

  • 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

Features

  • 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)

Admin Page

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

Participant Page

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.

Communication Diagrams

sequenceDiagram

Website ->>+Server: POST /isAdmin (using bearer token)

Server-->>-Website: OK/NOT OK

Loading

Clone this wiki locally