ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
• 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.Read the full 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/.