Browser-based touchscreen app for EYP coding camp activities. Use GitHub Pages for browser access or the local Python server for offline classroom playback and LAN diagnostics.
Open the public site at:
https://gowanginc.github.io/eyp-touchscreen/
Sing & Play vocal videos and Sing & Watch use official YouTube embeds on GitHub Pages, so those activities require internet access. GitHub Pages does not provide the local /healthz endpoint.
From inside this folder:
python3 server.pyOr use the helper script:
./start-touchscreen-server.shIf the helper script is not executable yet, run this once:
chmod +x start-touchscreen-server.sh
./start-touchscreen-server.shThe server listens on all network interfaces at port 8899 by default. It is configured for many simultaneous classroom browsers, reuses the port after a restart, and prints the current classroom URL at startup.
On the same computer:
http://127.0.0.1:8899/
On the BenQ TV or another device on the same network, use the server computer's local IP address:
http://<server-computer-ip>:8899/
Example (the address changes with the school network):
http://10.80.20.65:8899/
If a PC cannot connect, first open this small health endpoint from that PC:
http://<server-computer-ip>:8899/healthz
It should show touchscreen server ready. If it does not, confirm that the PC and server are on the same school network; this Mac must remain awake and connected.
To find the server computer's local IP on Linux:
hostname -IUse the first address on the school network.
If port 8899 is already busy:
TOUCHSCREEN_PORT=9090 python3 server.pyThen open:
http://127.0.0.1:9090/
For another device on the same network:
http://<server-computer-ip>:9090/
In the terminal running the server, press:
Ctrl+C
server.py serves the touchscreen/ folder directly, sets correct MIME types for JavaScript/CSS/audio/image files, binds to 0.0.0.0 for TV access, and sends Cache-Control: no-store so classroom updates show immediately without browser cache problems.