ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
PaperFlow 교사용 균형 잡힌 시험 생성 및 학생 약점 맞춤 연습
Teachers set balanced, board-pattern tests in a minute from a human-reviewed question bank. Students log what they got wrong and practise exactly their weak topics.
교육TypeScript · PLpgSQLGitHub @VasuCoded온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Printed CBSE question papers from a reviewed bank, and practice built from each student's mistakes
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
PaperFlow generates printed question papers from a reviewed question bank, then
turns each student's wrong answers into a practice set on exactly those topics.
Who it is for: coaching institutes and schools teaching CBSE classes 9 to 12.
Teachers set and print papers, students log their mistakes on a phone, and the
institute's owner runs their own members and subjects. Tests stay on paper: the
app never conducts a test online and never scores anyone.README 전문 보기 ↗PaperFlow generates printed question papers from a reviewed question bank, then turns each student's wrong answers into a practice set on exactly those topics.
Who it is for: coaching institutes and schools teaching CBSE classes 9 to 12. Teachers set and print papers, students log their mistakes on a phone, and the institute's owner runs their own members and subjects. Tests stay on paper: the app never conducts a test online and never scores anyone.
Live: paperflowindia.vercel.app
Accounts are created by invitation, a batch join code, or an access request that an institute approves, so the live link opens at a sign-in page. There is no public sign-up into someone else's institute by design.
Setting a paper (teacher)
SSA-10SCI-260922-03 (institute, class and
subject, date, that day's number) in the top margin of every printed page, and
papers can be found by that code.After the test (student, installable web app)
Running an institute (institute admin)
The question bank and the platform side
Next.js 15 (App Router), TypeScript in strict mode, Supabase (Postgres, Auth,
row-level security), Vercel (Mumbai, bom1), KaTeX with mhchem, a hand-written
service worker for the student app, Vitest with PGlite for tests.
Working software, not yet a product in daily use.
From the live site, signed in as accounts from the generated test data.
Setting a paper. Chapters with the number of questions behind each, the layout, the difficulty mix, and the paper being built on the right.
Building a custom layout. Sections with question kind, count, marks each and internal choice, and how many matching questions the ticked chapters hold.
What gets printed. Three shuffled sets of one paper, each with its own answer key, plus a mapping sheet.
The student app, on a phone: the tests that still need logging, and the practice set built from the last paper's mistakes.
Running an institute. Members, invitations, access requests and role changes.
Built from docs/BUILD-PLAN.md v3.0.
Built for all. Seeded for some. Shown only where seeded.
Read CLAUDE.md before changing anything. The tenancy and role rules there
are load-bearing. docs/HANDOFF.md has the current state, the open issues, and
the prompt for the next session.
| CP | Scope | State |
|---|---|---|
| C0 | Repo, tooling, DB-control guardrails | Done |
| C1 | Multi-tenant schema, RLS, taxonomy, seeds | Done, 22 migrations, executed locally and applied to the live dev project |
| C2 | Username sign-up/sign-in, access-request approvals, invites, batch join codes (Google optional) | Done |
| C2b | Platform console: institutes, inspect, review queue, activation, requests, support, health, audit | Done |
| C3 | Ingestion standing brief | Doc only (ingestion is a Claude Code session, not app code) |
| C4 | Review flow | /platform/bank |
| C5 | Paper generator | Done, including quick templates and custom layouts |
| C6 | Multi-set shuffle engine | Done |
| C7 | Print: per-set papers, answer keys, mapping sheet, paper codes | Done |
| C8 | Teacher: set a paper, papers, batches, flagged | Done |
| C9 | Student app: tests, set picker, logging, practice, weak spots; installable PWA | Done |
| C10 | Practice matcher + analytics | Done |
| C11 | Activation gate | In the console; the human review hours are the real cost |
| C12 | Hardening | Isolation suite, rate limits, export, staging seed, load-test script, backups, runbook. Not done: Sentry, email alerts, a measured load test |
/demo is a separate click-through prototype with fake data and no backend. It
returns 404 in production unless NEXT_PUBLIC_ENABLE_DEMO=1.
No Docker needed: the database tests run the real migrations in PGlite.
npm install
npm run typecheck
npm test # 347 tests: engines, print, PWA, and the database suites
npm run lint
npm run db:verify # every table tenant-keyed or allowlisted, RLS on everywhere
npm run db:types:local # regenerate src/lib/database.types.ts from the migrations
npm run build:check # production build into .next-build (safe beside a dev server)
npm run dev -- -p 3005
Without Supabase configured, every signed-in page redirects to /login, which
explains what is missing. /demo and /print/sample work with no setup.
Configuring Supabase for local work is in docs/SETUP.md.
src/app/(main) the real app: login, welcome, platform, institute, teacher, app (student)
src/app/print print views (papers, keys, mapping sheet)
src/app/demo clickable prototype, fake data
src/server/actions server actions (all mutations)
src/server/data server-side reads
src/server/generator paper generator (pure)
src/server/sets multi-set shuffle engine (pure)
src/server/practice practice matcher + analytics (pure)
src/lib/paper-layout question kinds, quick templates, custom-layout validation
src/lib/pwa service worker policy + generator
src/lib/print print model, KaTeX/mhchem, compose, page codes
supabase/migrations 0001–0022
tests/db executable database suites (isolation, suspension, support, …)
scripts schema harness, type generation, seeds, staging seed, load test
docs BUILD-PLAN, SETUP, RUNBOOK, HANDOFF, DELIVERY, ingest brief
To put it online, follow docs/GO-LIVE.md: GitHub, Supabase, Google sign-in, Vercel, production, and giving Claude access to the dev database.