A Digital Kampong Carnival Booth Game designed and engineered by the Information Technology Student Interest Group (ITSIG) of Temasek Polytechnic for the Tampines West Community Club.
This project implements a memory-matching game centred on Information Technology career pathways, architected using Python Flask as the web framework, hosted directly on Raspberry Pi hardware with GPIO-driven LED indicators and button configurations. The system combines lightweight web deployment with embedded hardware interaction to demonstrate the application of the Diploma of Information Technology's application of physical computing and digital interactivity.
- Memory game that pairs IT career roles with their descriptions
- Fully responsive interface, optimised for desktop and mobile browsers
- Clean, dark-themed UI without reliance on external CSS/JS libraries (minimalist inline assets)
- RaspberryPi Hardware integration:
- LED outputs signal for game match status
- Reset button inputs
- Lightweight Flask deployment suitable for the same network demonstrations
-
Create Virtual Environment
python3 -m venv development
-
Run Virtual Environment
source ./development/bin/activate -
Install Dependencies
pip install -r requirements.txt
-
Running Code on Terminal
python3 run.py
-
Access on Same Device
- Open your web browser and go to
http://localhost:5001
- Open your web browser and go to
-
Access on a Different Device on the SAME Network
- Open your web browser and go to
http://[PI_IP_ADDRESS]:5000
- Open your web browser and go to
-
Housekeeping - Deactivation
deactivate
This is dependent on the network connection of your RaspberryPi.
-
Running Code on Terminal
python3 app.py
-
Access on Same Device
- Screen 1: Open your web browser and go to
http://localhost:5001 - Screen 2: Open your web browser and go to
http://localhost:5002
- Screen 1: Open your web browser and go to
-
Access on a Different Device on the SAME Network
- Screen 1: Open your web browser and go to
http://http://172.20.10.11/:5001 - Screen 2: Open your web browser and go to
http://http://172.20.10.11/:5002
- Screen 1: Open your web browser and go to
This modular integration allows synchronous web interaction while maintaining asynchronous hardware event loops, ensuring smooth gameplay without blocking network I/O.
flask- Provides the HTTP server, routing, JSON-based AJAX endpoints, and templating engine for rendering the UIgpiozero- Interfaces with Raspberry Pi GPIO pins, allowing LEDs to act as hardware-based feedback mechanisms for user interactionsthreading- Enables non-blocking concurrency to manage simultaneous hardware signalling and web request handlingrandom,time- Core Python libraries to generate randomised game states and implement timing controls for animations and LED toggling
- Click on any card to reveal its hidden role/description
- Try to match each tech role with its description
- Cards will turn green and the LED will flash GREEN when correctly matched, otherwise RED
- Complete all matches to win the game
- Click "Play again" to start over or click the physical Restart Button
- Frontend Developer
- Data Analyst
- DevOps Engineer
- Product Manager
- UX Designer
- Cybersecurity Analyst
This project is licensed under the MIT License - see the LICENSE file for details.
- Daniella Han Xue En @Troaxx
- Respeto Sofia Amihan Molase @sofiaamihan
Original Collaborative Repository is located here.

