ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Web-Based Anti-Cheating System for Exams and Quizzes
BSIT 4C, Group 2 — System Administration course project.
A monitored online exam platform: instructors build exams (by hand or from their own
lesson files via AI), students sit them under browser lockdown, and suspicious activity
reaches the instructor's dashboard live.
Next.js 16 (App Router, TypeScript, Tailwind) · Prisma 7 · Supabase (Postgres, Auth,
Storage, Realtime, Vault) · Google Gemini · deployed on Vercel, scheduled jobs on
GitHub Actions.README 전문 보기 ↗BSIT 4C, Group 2 — System Administration course project.
A monitored online exam platform: instructors build exams (by hand or from their own lesson files via AI), students sit them under browser lockdown, and suspicious activity reaches the instructor's dashboard live.
Next.js 16 (App Router, TypeScript, Tailwind) · Prisma 7 · Supabase (Postgres, Auth, Storage, Realtime, Vault) · Google Gemini · deployed on Vercel, scheduled jobs on GitHub Actions.
| Area | Where |
|---|---|
| Sign-in, three roles, per-role row-level security | /login |
| Create accounts and classes (one subject per section), enable/disable users | /admin |
| Teacher console — own exams, own students, own classes | /teacher |
| Open, close, or schedule when an exam can be sat | /exams/<id> → "Availability" |
| Assign who an exam is for, and see who has not sat it | /exams/<id> → "Who it is for" |
| Tag an exam with a subject, picked from a shared list | exam builder, or /exams/<id> → Settings |
| See which questions the class got wrong | /exams/<id>/monitor |
| Export your own students' report | /teacher/students → Download CSV |
| Turn classes off entirely — exams then reach only who you send the link to | /admin/settings |
| Share an exam by link, the way a Google Form is shared | /exams/<id> → "Send this to your students" |
| Students sign up with email or a Google account | /signup (see the runbook for the one-time Google setup) |
| Decide whether students join classes by code, or an admin enrols them | /admin/settings |
| AI provider keys — encrypted in Vault, round-robin rotation | /admin/keys |
| Health, audit trail, backup status | /admin/health |
| Exam builder: questions, timers, lockdown settings, publish | /exams |
| Generate questions from a lesson file, then review before adding | /exams/[id]/generate |
| Live monitoring, flag review, force submit, results | /exams/[id]/monitor |
| Sitting an exam under lockdown | /exam/[id] |
The parts that actually hold are server-side, and each was verified against the live database rather than assumed:
correct_answer could not be hidden while it sat on
questions — a student could read the whole key in one query. It now lives in
question_answers, which students have no policy on at all.WITH CHECK constrains which rows you
may write, not which columns, so a student could once set score = 100. Students
have no UPDATE on sessions; a trigger forces the opening state on INSERT so a session
cannot be created pre-scored or back-dated.Lockdown mode itself — fullscreen, tab-switch detection, the honeypot — is browser-side and defeatable with devtools. That is a stated limitation, not a defect.
cd web
npm install
cp .env.example .env.local # fill in the Supabase values
npm run dev
DATABASE_URL and DIRECT_URL belong in web/.env (Prisma's CLI only auto-loads
.env); the Supabase client keys belong in web/.env.local. Neither is committed.
web/ the Next.js application
src/app/ routes (admin, exams, exam, login)
src/lib/ supabase clients, auth, grading, shuffle, AI
prisma/migrations/ every schema change, in order
docs/RUNBOOK.md restore, rotate, deploy, known issues
.github/workflows/ nightly backup and health check
deploy/ VPS bootstrap script, kept for reference
See docs/RUNBOOK.md for restoring a backup, rotating keys, deploying, and the current known issues.