TCHAIClass V01

Step-by-Step Setup and User Guide

Author

Yahya Nazar

Published

June 10, 2026


Overview

TCHAIClass V01 is a browser-based live teaching platform. The teacher runs a small Python server on their laptop. Students connect from any device on the same WiFi network using a session join key.

This guide is configured for teacher Yahya Nazar. The project is installed at: /Users/yahyanazer/Dropbox/TchAIClass

The platform has two windows:

  • Teacher Console — full session control, tool selection, roster management
  • Student View — receive tools, raise hand, react, send questions

Window Layout

The diagram below shows the panel layout for both windows. Each panel is labelled A through F and colour-coded by function.

Figure 1: TCHAIClass V01 — Teacher Console (left) and Student View (right)

Panel Reference — Teacher Console

Panel Name Description
A Program Commands Top bar — session info, theme toggle, clock
B Teacher Tools Tool library organised by category (HTML, Python, Math)
C Send to Students Push selected tool to students, broadcast messages, end session
D Main Window Active tool view — shared live with all students
E Student Roster Lists all students — active, away, hand raised
F Status Bar Server status, session key, student count, sync indicator

Panel Reference — Student View

Panel Name Description
A Program Commands Top bar — session info, student name, theme toggle, clock
C Tools from Teacher Tools pushed by teacher appear here; private notes area
D Main Window Active tool loaded automatically when teacher pushes
E Participation Raise hand, reactions, Q&A messages, progress timer
F Status Bar Connection status, session key, active tool, elapsed time
Note

Panel B exists only in the Teacher Console. Students receive tools automatically when the teacher pushes from Panel C.


Before You Start

Configuration Summary

Teacher Name : Yahya Nazar 
Project Path : /Users/yahyanazer/Dropbox/TchAIClass 
Dev Folder   : /Users/yahyanazer/Dropbox/TchAIClass/Development 
Session Logs : /Users/yahyanazer/Dropbox/TchAIClass/Development/sessions/logs 

Requirements

  • Mac with Python 3.x installed
  • All students on the same WiFi network as Yahya Nazar’s laptop
  • Chrome or Safari browser (teacher and students)
  • Files saved in: /Users/yahyanazer/Dropbox/TchAIClass/Development

Files Required in Development Folder

/Users/yahyanazer/Dropbox/TchAIClass/Development 
├── server.py
├── teacher.html
├── student.html
├── requirements.txt
├── tools/
│   ├── tools_registry.json
│   └── HTML/Whiteboard/whiteboard.html
├── courses/
│   └── demo_course.json
└── students/
    └── demo_roster.json

Step 1 — Disable AirPlay Receiver

macOS reserves port 5000 for AirPlay Receiver. You must turn it off before starting the server.

Instructions:

  • Click Apple menuSystem Settings
  • Click GeneralAirDrop & Handoff
  • Turn AirPlay ReceiverOFF

Verification:

Notes / Issues:



Step 2 — Install Python Packages

Run this command once in Terminal. You do not need to repeat it in future sessions.

pip install flask flask-socketio --break-system-packages

Verification:

Notes / Issues:



Step 3 — Start the Server

Open Terminal and run both commands. Leave Terminal open for the entire session.

```bash
cd /Users/yahyanazer/Dropbox/TchAIClass/Development 
python3 server.py
```

Expected Terminal output:

[DEBUG] TCHAIClass V01 Server starting...
[DEBUG] Teacher  -> http://localhost:5000/teacher
[DEBUG] Student  -> http://192.168.x.x:5000/student
[DEBUG] Share this URL with students on the same WiFi
 * Serving Flask app 'server'
 * Debug mode: on

Verification:

Notes / Issues:


Warning

The warning about urllib3 is harmless — ignore it. If you see Address already in use, repeat Step 1 — AirPlay Receiver is still on.


Step 4 — Open Teacher Window (Panel A)

Open Chrome or Safari and go to the Teacher URL.

http://localhost:5000/teacher

You will see the Start a Session setup card — this is Panel A.

Verification:

Notes / Issues:



Step 5 — Start a Session

Fill in the setup card and launch the session.

Instructions:

  • Select Demo Course from the Course dropdown
  • Select Introduction Class from the Class dropdown
  • Type your name — Yahya Nazar — in the Teacher Name field
  • Click START SESSION

The join key will appear in large letters. Write it down — students need it.

Join Key received: ________

Verification:

Notes / Issues:



Step 6 — Students Open the Student Window (Panel A)

Each student opens a browser on their own device and goes to the Student URL. The exact IP is shown in your Terminal after Step 3.

http://[IP shown in Terminal]:5000/student
Important

Students must use the IP address shown in your Terminal — not localhost. Only Yahya Nazar’s machine can use localhost.

Students fill in the join form:

Field Value
Your Name Student’s own name
Student ID e.g. S001, S002
Join Key Key from Step 5

Students click JOIN CLASS.

Verification:

Notes / Issues:



Step 7 — Select and Push a Tool (Panels B, C, D)

The teacher selects a tool from Panel B and pushes it to students via Panel C. The tool loads in Panel D on both the teacher and student screens.

Instructions:

  • In the Teacher window look at Panel B on the left
  • Click HTML Tools to expand the category
  • Click Whiteboard to select it
  • The tool preview appears in Panel C
  • Click Push to All Students in Panel C

Verification:

Notes / Issues:



Step 8 — Test Participation Features (Panel E)

Students use Panel E to interact with the teacher.

Instructions:

  • In the Student window Panel E, click Raise Hand
  • Click a reaction button (thumbs up, question, etc.)
  • Type a question in Q&A and click Send

Verification:

Notes / Issues:



Step 9 — End Session (Panel C)

When the lesson is complete, the teacher ends the session from Panel C.

Instructions:

  • In the Teacher window, Panel C, click End Session
  • Confirm the dialog that appears

The session log is saved automatically to:

/Users/yahyanazer/Dropbox/TchAIClass/Development/sessions/logs 

Verification:

Notes / Issues:



Troubleshooting

Problem Cause Fix
Address already in use AirPlay still on Repeat Step 1
Blank teacher page File missing from folder Confirm all files are in /Users/yahyanazer/Dropbox/TchAIClass/Development
Student cannot connect Wrong URL Use IP address, not localhost
Key not accepted Session not started Teacher must click START SESSION first
Tool not appearing in student Not pushed Click Push to All Students again in Panel C
Roster not updating Network issue Student should refresh and rejoin with same key

Overall Feedback Form

Overall Rating:

Top Issue or Suggestion:





Tested by : Yahya Nazar 
Version   : V01
Path      : /Users/yahyanazer/Dropbox/TchAIClass 
Field Value
Tested by Yahya Nazar
Date ___________________
Version V01
Project Path /Users/yahyanazer/Dropbox/TchAIClass

Version History

Version Date Description
V01 2026-06-10 Initial build — Local WiFi only
V02 TBD Cloud deployment via Render.com
V03 TBD Production hosting on tchai class.com