ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
• index.html: marketing and auth entry
• app.html: main authenticated web app
• live.html: browser LIVE host and viewer
• profile.html: public teacher, organizer, and organization profiles
Start a static server from the repo root:
Open http://127.0.0.1:5173/index.html.README 전문 보기 ↗Static browser surfaces for Duvela:
index.html: marketing and auth entryapp.html: main authenticated web applive.html: browser LIVE host and viewerprofile.html: public teacher, organizer, and organization profilesStart a static server from the repo root:
python -m http.server 5173 --bind 127.0.0.1
Open http://127.0.0.1:5173/index.html.
Run:
npm run check
This executes:
Optional environment variables for authenticated checks:
DUVELA_TEST_TEACHER_EMAILDUVELA_TEST_TEACHER_PASSWORDDUVELA_TEST_LEARNER_EMAILDUVELA_TEST_LEARNER_PASSWORDDUVELA_WEB_URLDUVELA_HEADLESSRun only the local contract checks with:
npm run check:contracts
Run only the publish readiness checks with:
npm run check:publish
Set DUVELA_STRICT_PUBLISH=1 to fail the publish check when large local media files such as Duvela.mp4 are still present in the deploy tree. The landing video is loaded from Supabase Storage and uses preload="none"; do not deploy the local 80 MB MP4 with the static site.
With teacher and learner credentials present, npm run check:backend also verifies LIVE session create/update, learner room read, participant join, chat insert, free gift payment, restream status, and Agora publisher/subscriber token generation.
Before publishing Web/Hub/Business/LIVE:
scripts/duvela-web-supabase.sql in Supabase.scripts/live-setup-controls.sql to add browser LIVE quality and audience controls.agora-token, notify-course-enrollment, live-payment, live-restream, notify-live-start.scripts/live-audience-notifications.sql in the Supabase SQL Editor to enable reliable viewer presence and deduplicated LIVE-start notifications.scripts/fixed-registration-roles.sql to assign learner/teacher/organizer roles once at registration and remove the old pending role-request flow.scripts/business-withdrawals.sql to enable Business dashboard withdrawal requests.scripts/business-notes.sql to sync Business notes across devices.npm run check; for release hardening run DUVELA_STRICT_PUBLISH=1 npm run check:publish from a deploy folder that excludes local videos._headers so HTML revalidates while images and shared assets get cache headers.index.html, app.html, live.html, profile.html, and legal.html.Apply scripts/duvela-web-supabase.sql in the Supabase SQL editor before using Web/Hub/Business/LIVE end to end.
LIVE also expects these Edge Functions to be deployed:
agora-token: creates Agora publisher/subscriber tokensnotify-course-enrollment: handles course enrollment notificationslive-payment: validates gifts, charges profiles.vela_coin_balance, and writes live_giftslive-restream: starts, stops, and checks Agora Media Push RTMP converters for enabled YouTube, Facebook, and TikTok targetsnotify-live-start: sends one in-app notification to every follower when a teacher actually starts a LIVE sessionFunction source for the LIVE additions lives under supabase/functions/.
Reusable browser code lives under web/:
duvela-web-config.js: Supabase config and storage keysduvela-web-roles.js: shared role normalization and auto-detectionduvela-web-ui.js: toast-based feedback helpersThe next structural step is moving the remaining large inline scripts from index.html and app.html into feature files under web/.