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
Step-by-Step Setup and User Guide
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:
The diagram below shows the panel layout for both windows. Each panel is labelled A through F and colour-coded by function.
| 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 | 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 |
Panel B exists only in the Teacher Console. Students receive tools automatically when the teacher pushes from Panel C.
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
/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
macOS reserves port 5000 for AirPlay Receiver. You must turn it off before starting the server.
Instructions:
Verification:
Notes / Issues:
Run this command once in Terminal. You do not need to repeat it in future sessions.
pip install flask flask-socketio --break-system-packagesVerification:
Notes / Issues:
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:
The warning about urllib3 is harmless — ignore it. If you see Address already in use, repeat Step 1 — AirPlay Receiver is still on.
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:
Fill in the setup card and launch the session.
Instructions:
The join key will appear in large letters. Write it down — students need it.
Join Key received: ________
Verification:
Notes / Issues:
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
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:
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:
Verification:
Notes / Issues:
Students use Panel E to interact with the teacher.
Instructions:
Verification:
Notes / Issues:
When the lesson is complete, the teacher ends the session from Panel C.
Instructions:
The session log is saved automatically to:
/Users/yahyanazer/Dropbox/TchAIClass/Development/sessions/logs
Verification:
Notes / Issues:
| 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 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 | 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 |