ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
This forces a fresh Vercel deployment so it builds the latest commit —
Vercel's deploy hook didn't pick it up on its own.
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
• @vitejs/plugin-react uses Oxc
• @vitejs/plugin-react-swc uses SWC
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.README 전문 보기 ↗This forces a fresh Vercel deployment so it builds the latest commit — Vercel's deploy hook didn't pick it up on its own.
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
Currently, two official plugins are available:
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and Oxlint's TypeScript related rules in your project.
The app includes an in-app AI chat (the 💬 button) that can see the student's upcoming exams, study goals, and energy level to give personalized advice. It talks to Anthropic's Claude API through a small local backend, so your API key never reaches the browser.
server/.env.example to server/.env and paste your key into ANTHROPIC_API_KEY=. Never commit this file (it's already in .gitignore) or paste a real key into .env.example.npm run dev:full instead of npm run dev — this starts both the Vite dev server and the chat backend together.Note: the chat only works when running the app with its own backend (npm run dev:full, or your own hosting of both server/ and the built frontend). It will not work from a static, backend-less deployment of the built files alone.
The bell icon's "Enable phone notifications" option sends real OS-level push notifications (streak reminders, upcoming-exam nudges, your custom reminders) on a schedule — even while the app/tab is closed, using the browser's Push API + a small backend (server/index.js) that already exists for the AI chat.
npx web-push generate-vapid-keys.server/.env, set VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY to that pair, and VAPID_CONTACT to a mailto: address. Optionally set PUSH_INTERVAL_MINUTES (default 60) to control how often it checks.npm run dev:full (same as the AI chat — both share this backend).Limitations to know about:
npm run dev:full or your own hosting of server/ + the built frontend) — not from the static demo build alone.Google/Apple sign-in, Supabase sync, and the AI features all need a real backend origin — they cannot run from a sandboxed preview (e.g. a Claude Artifact), which blocks both third-party login redirects and most outbound network calls. Deploying to real hosting removes both restrictions.
The api/ folder holds the same backend logic as server/index.js, packaged
as individual Vercel Serverless Functions (api/chat.js, api/plan/*.js,
api/push/*.js) — Vercel detects the Vite frontend and these functions
automatically, no extra config beyond vercel.json (already included, for
the push-notification cron schedule).
VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY — same values as your
local .env.ANTHROPIC_API_KEY (and optionally ANTHROPIC_MODEL) — same as
server/.env.SUPABASE_SERVICE_ROLE_KEY — from Supabase's Project Settings → API →
"service_role" secret key (needed for deleting an account — which the
App Store requires — and for push notifications; see
server/.env.example)./api/chat on the live site to check: it shows
{"ai": true, "accounts": true} when the AI key and Supabase are set.VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_CONTACT — same as
server/.env, if you want push notifications.CRON_SECRET — any random string, if you set up push notifications
(locks down the cron endpoint; see server/.env.example).git push to your default branch redeploys automatically.Note on push notifications: Vercel has no long-running process to hold a
timer in, so scheduled sends run via Vercel Cron (vercel.json) hitting
/api/push/cron instead of the setInterval loop used locally. Cron
frequency limits differ by Vercel plan — check your dashboard/plan's current
limits if vercel.json's hourly schedule isn't accepted, and adjust it.