Skip to content

Repository files navigation

EYP Touchscreen TV Board

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.

GitHub Pages

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.

Local Classroom Server

Start the Server

From inside this folder:

python3 server.py

Or use the helper script:

./start-touchscreen-server.sh

If the helper script is not executable yet, run this once:

chmod +x start-touchscreen-server.sh
./start-touchscreen-server.sh

The 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.

Open the App

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 -I

Use the first address on the school network.

Use a Different Port

If port 8899 is already busy:

TOUCHSCREEN_PORT=9090 python3 server.py

Then open:

http://127.0.0.1:9090/

For another device on the same network:

http://<server-computer-ip>:9090/

Stop the Server

In the terminal running the server, press:

Ctrl+C

Why Use server.py Instead of python3 -m http.server

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages