ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
BML 소매 재교육 세션을 위한 진행자 콘솔로, 진행 순서·팀 점수판·퀴즈·페르소나 매칭 등을 지원합니다
Facilitator console for the BML retail refresher session: run of show, team scoreboard, quiz, persona matching and more.
교육HTML · PLpgSQLGitHub @bloomtechsolutions온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Facilitator console for the BML retail refresher session (Day 1 · Session 4). It runs on a projector and holds the run of show, session timer, team scoreboard and five activities: True or False, Product Passport, Product Challenge quiz, Listen for the Clue, and Spin & Explain.
It is a single static page (public/index.html) with no build step, backed by Supabase for sessions, teams and scores.
All activity content lives in public/content.js: True or False statements, the Product Challenge quiz, the Listen for the Clue customers, the Spin & Explain wheel and its coaching notes, the product library and the audience screen's facts. Facilitators update outdated information on the admin page (/admin, linked from the Run of show):
The admin tables come from supabase/migrations/20261024300000_content_admin.sql.
The Product Library view (last item in the menu) holds every Bank of Maldives product: 31 for individual customers (accounts, cards, financing, digital, what's new) and 25 for business customers (accounts and cards, SME financing, corporate and trade, payments and merchant services). Filter by Individual or Business and by family, or search any word, rate or customer type. Each card says who the product is for, its key facts and a one-line pitch. Facts come from bankofmaldives.com.mv; figures the bank's own pages disagree on (such as business debit card limits) are left out.
Business products also appear in the games: Product Passport teams can pick them, the Product Challenge has a Business & SME column, the Spin & Explain wheel includes four business products, and the audience screen's ticker has business facts.
/play: it picks a free team or creates its own. A session has at most 6 teams, and a team that already has a phone can't be taken by another one. If a phone dies, Release phone in the session dialog frees the seat.At the end of the session, open the Close view: it shows a QR code for /feedback?s=CODE. Press Show feedback QR on the screen to put it on the projector. Every staff member scans it with their own phone (not one per team) and answers:
Answers update live on the console (count, average confidence before → after, both distributions, the most helpful activity, commitments and suggestions) and on the projector (count and confidence shift only, no comments). Download CSV saves every answer. Sending again from the same phone replaces that person's earlier answer. Only the facilitator's device can read the answers. Needs supabase/migrations/20261024400000_feedback.sql.
Put /screen?s=CODE on the projector (the session dialog has the link) and keep the console on the facilitator's laptop. The screen has no controls: the console broadcasts what to show over the session's realtime channel on every change and every 2 seconds, and answers a new screen's "hello" straight away. The design is a split-flap departures board:
supabase/migrations/ holds the schema. A team's score is the sum of its score_events. rounds holds each question sent to the phones (readable by everyone), round_keys its answer key and answers each team's answer (neither readable through the API). team_secrets holds each phone's player key as a hash. Automatic awards carry a ref (for example quiz:2-3), so awarding again replaces the points instead of adding them. Tables are readable by anyone with the publishable key; every write goes through SECURITY DEFINER functions that check the session's host key (stored only as a SHA-256 hash). Teams and score events are published to Supabase Realtime so every screen updates live.
The Supabase client is vendored in public/vendor/ so the page does not depend on a CDN on the day.
npm run dev
Deployed on Vercel as a static site. vercel.json serves public/ as the output directory. Import the repository in Vercel (framework preset: Other) or run npx vercel --prod.
Product facts were taken from bankofmaldives.com.mv on 24 Oct 2026. Check rates, limits and fees against the current Schedule of Charges before each session.