Skip to main content

Participant journey

How a participant moves through the platform. Step names come from client/src/constants/experimentSteps.js (shared with the admin live monitor).

Entry points​

PathWhoWhat happens
/AnyoneHome: join experiment (university + code), friends, or solo
/survey/[university]Official experimentExperimentRouter loads GET /api/experiments/{university}/current, then ExperimentSurvey runs steps
/play/[roomCode]Friends / soloWaiting + play without the full survey battery
/surveyFallbackSurvey landing

Friends/solo skip the university survey pipeline and go straight to play after room creation/join.

Official experiment steps (0–11)​

Canonical labels:

StepNameTypical UI
0Connecting…Socket / session coming up
1EntryUsername / user details (may skip if already known)
2Consent FormUCF or USU consent components
3SQ SurveySQSurveyBlock
4EQ SurveyEQSurveyBlock
5StPSQ SurveyStPSQSurveyBlock
6Game InstructionsGameInstructionsBlock
7Single PlayerSinglePlayerForaging
8Arithmetic TestArithmetic UI (skippable when stress task disabled → jump toward multiplayer)
9MultiplayerMultiplayerForaging
10Exit SurveyExitSurveyBlock → POST /api/exit-survey
11CompleteCompletion screen; clears local session storage

ExperimentRouter does not own the step index — it only supplies the current experiment config. Step progression lives in the survey/experiment UI (ExperimentSurvey and related blocks).

Backend touchpoints​

PhaseMechanisms
Experiment discoveryHTTP /api/experiments/...
Surveys / exitParticipant routes + POST /api/exit-survey; socket helpers in surveySocket.js
Rooms & foragingroomSocket / foragingSocket + RoomService / ForagingGame
ArithmeticarithmeticSocket + ArithmeticTest
PersistencePrisma models User, SurveyResponse, ExitSurvey, foraging tables, GameSession / PlayerSession

Admin visibility​

Live monitor and dashboard step colors use the same STEP_NAMES / STEP_COLORS so moderator views match what participants experience. Moderator operations are covered in Phase 2 (experiment-flow/moderator-guide, Admin category).