A

Arcademy

Admin & Teacher Handbook — v1.0

→ Dashboard

Contents

  1. Onboarding a New School & Teacher
  2. Setting Up a Class
  3. Adding Students
  4. How Students Log In
  5. Day-to-Day Operations
  6. Credential Reference
  7. Troubleshooting
🏫

1 — Onboarding a New School & Teacher

⚠️
These steps are done by the Arcademy admin (you) in the Supabase dashboard. Teachers cannot sign themselves up yet — this is intentional to control access.

Step A — Create the School Record

  1. 1
    Go to Supabase → Table Editor → schools → Insert row

    Fill in the fields below and save.

FieldExampleNotes
nameOakwood PrimaryFull school name
slugoakwood-primaryLowercase, hyphens only
license_tierfullcore / full / trust
max_players200Max students across all classes
license_expires2026-08-31Leave blank for no expiry

Step B — Create the Teacher's Login

  1. 1
    Supabase → Authentication → Users → Invite user

    Enter the teacher's email address. They'll receive a link to set their password.

  2. 2
    Copy the User UUID

    Once invited, click on the user in the list and copy their UUID (looks like a1b2c3d4-...).

  3. 3
    Table Editor → teachers → Insert row

    Link the auth user to the school.

FieldValue
idPaste the UUID from Step 2
school_idPaste the school UUID from Step A
display_nameMrs Smith
roleteacher
The teacher can now log into /arcade/teacher/ with their email and password and manage everything themselves from here.
📋

2 — Setting Up a Class

ℹ️
Done by the teacher inside the dashboard. No admin involvement needed.
  1. 1
    Log in to the Teacher Dashboard

    Go to /arcade/teacher/ → enter email and password.

  2. 2
    Click "Create New Class"

    Enter the class name (e.g. "Year 5 Tigers") and year group.

  3. 3
    Note the Join Code

    A 6-character code is auto-generated (e.g. TIGER5). This is what students enter at login. You can click it to copy.

💡
A teacher can have multiple classes — one per class group. Each class gets its own unique join code.
👥

3 — Adding Students

ℹ️
Done by the teacher in the dashboard. Students have no personal data — only an alias and PIN.
  1. 1
    Open the class in the dashboard

    Click on the class card to open the student list.

  2. 2
    Click "+ Add Player"

    Type the student's alias — a fun name like Blue Falcon or Star Fox 7. No real names.

  3. 3
    Note the auto-generated PIN

    A 4-digit PIN is created automatically and shown in a popup. Write it down or print the class credential sheet. This is the only time the plain PIN is shown.

  4. 4
    Hand credentials to the student

    Give them: Class Code + Alias + PIN.

🔐
PINs are hashed immediately — the database never stores the plain PIN. If a student forgets their PIN, delete their player record and re-add them (their badges and XP will be lost).
🎮

4 — How Students Log In

Student Login Flow

  1. 1
    Go to the Arcade

    Open any game or the main arcade page.

  2. 2
    Click "Sign In" or "Player Login"

    A login panel appears on the game's intro screen.

  3. 3
    Enter three things

    Class Code (e.g. TIGER5) · Alias (e.g. Blue Falcon) · PIN (4 digits)

  4. 4
    Play — progress saves automatically

    XP, badges, and session data are recorded to their profile.

Login sessions last 8 hours — long enough for a full school day without re-logging in.
🔒
Students can only see their own data — no access to other players' records.
📅

5 — Day-to-Day Operations

Task Who Where Type
Onboard a new school Arcademy Admin Supabase Dashboard Manual
Create a teacher account Arcademy Admin Supabase → Auth + teachers table Manual
Create a class Teacher /arcade/teacher/ dashboard Self-serve
Add a student Teacher /arcade/teacher/ dashboard Self-serve
Reset a student PIN Teacher (or Admin) Delete player → re-add (PIN resets) Manual
View student progress Teacher /arcade/teacher/ dashboard Self-serve
Export session data Teacher / Student In-game "Save Evidence" button Automatic
Deactivate a class Teacher Teacher dashboard → toggle Active Self-serve
Renew a school licence Arcademy Admin Supabase → schools → update license_expires Manual
🔑

6 — Credential Reference

👩‍🏫 Teacher Credentials

FieldFormat
Emailtheir@school.com
PasswordSet via invite link
Login URL/arcade/teacher/

🎮 Student Credentials

FieldFormat
Class Code6 chars e.g. TIGER5
Aliase.g. Blue Falcon
PIN4 digits e.g. 7391
Never store student PINs in plain text — once the dashboard popup is dismissed, the plain PIN is gone. PINs in the database are bcrypt hashed. If a PIN is lost, the student record must be deleted and recreated.
🛠️

7 — Troubleshooting

Student can't log in

  1. 1
    Check the class code

    Must be exact — 6 characters, case-insensitive. Confirm in teacher dashboard.

  2. 2
    Check the alias

    Must match exactly (spaces matter). "Blue Falcon" ≠ "BlueFalcon".

  3. 3
    Check the PIN

    4 digits only. If unknown, delete and re-add the student to generate a new PIN.

  4. 4
    Too many attempts?

    After 10 failed attempts in 60 seconds the login locks for 1 minute. Wait and retry.

Teacher can't log in to dashboard

  1. 1
    Check the teachers table

    Supabase → Table Editor → teachers. The teacher's auth UUID must have a matching row here with the correct school_id.

  2. 2
    Resend invite

    Supabase → Authentication → Users → find user → send reset email.

Game progress not saving

  1. 1
    Confirm student is logged in

    Progress only saves when a player token is active. The game intro should show their alias.

  2. 2
    Check browser console for errors

    Open DevTools (F12) → Console. A 401 or RLS error means the session token has expired — log out and back in.

  3. 3
    Session expired?

    Sessions last 8 hours. After a full day, students need to log in again.

Adding a player fails

  1. 1
    Duplicate alias?

    Each alias must be unique within a class. Try a different alias.

  2. 2
    Player limit reached?

    Check school's max_players in Supabase → schools table. Increase if needed.


Arcademy Admin Handbook · v1.0 · Updated March 2026