How mitsubishi-24-25/deal-or-no-deal works
Deal or No Deal is a multi-screen classroom game. Participants use the TV display and separate controller, Lucky Star, and teacher interfaces; the server owns game state and advances play through name selection, briefcase questions, banker offers, and the ending. The server also serves the interface pages and can persist state to Supabase. The README is empty and client source was not sampled, so client-to-server interactions are shown as unverified rather than asserted.
Main entry points: index.js HTTP and Socket Server · tv/index.html TV Display · controller/index.html Controller · controller2/index.html Second Controller
Components 17
Game Interfaces
- TV Display
public/tv/index.html - Controller
public/controller/index.html - Second Controller
public/controller2/index.html - Lucky Star
public/luckystar/index.html - Teacher Panel
public/teacher/index.html
Game Runtime
- HTTP and Socket Server
server/index.js - Game State and Phases
server/index.js - Name Roulette
server/index.js - Briefcase Gameplay
server/index.js - Answer Judging
server/index.js - Banker Calls and Offers
server/index.js
Game Rules and Content
- Game Configuration
server/config.js - Question Bank
server/questions.js - Offer Formula
server/bankerFormula.js
Persistence
- State Persistence
server/persistence.js
Other components
- Players and Host
- Supabase
Connections 26
- Players and Host → TV Display: view game
- Players and Host → Controller: control game
- Players and Host → Second Controller: control game
- Players and Host → Lucky Star: submit answers
- Players and Host → Teacher Panel: manage game
- HTTP and Socket Server → TV Display: serves page
server/index.js - HTTP and Socket Server → Controller: serves page
server/index.js - HTTP and Socket Server → Second Controller: serves page
server/index.js - HTTP and Socket Server → Lucky Star: serves page
server/index.js - HTTP and Socket Server → Teacher Panel: serves page
server/index.js - TV Display → HTTP and Socket Server: syncs game
- Controller → HTTP and Socket Server: sends actions
- Second Controller → HTTP and Socket Server: sends actions
- Lucky Star → HTTP and Socket Server: submits answer
- Teacher Panel → HTTP and Socket Server: sends actions
- HTTP and Socket Server → Game State and Phases: manages
server/index.js - Game State and Phases → Name Roulette: tracks selection
server/index.js - Game State and Phases → Briefcase Gameplay: tracks openings
server/index.js - Game State and Phases → Answer Judging: tracks judgments
server/index.js - Game State and Phases → Banker Calls and Offers: tracks calls
server/index.js - HTTP and Socket Server → Game Configuration: imports settings
server/index.js - HTTP and Socket Server → Question Bank: imports questions
server/index.js - HTTP and Socket Server → Offer Formula: imports formula
server/index.js - HTTP and Socket Server → State Persistence: imports persistence
server/index.js - Banker Calls and Offers → Offer Formula: computes offers
server/index.js - State Persistence → Supabase: loads and saves
server/persistence.js