ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
버지니아 SOL 실전 문제로 무료 연습 제공, 3~8학년 대상. IEP·504 맞춤형 수학·읽기, 음성읽기·난독증 글꼴·시간 연장 등 지원
Free Virginia SOL practice using real VDOE released test questions, grades 3–8. Adaptive Math & Reading with IEP/504 accommodations built in — text-to-speech, dyslexia font, extended time, and more.
교육TypeScript · HTMLGitHub @svarukala온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기VA SOL Practice portal for special need kids
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A home-based Standards of Learning practice app for children grades 3–5 with special needs and learning disabilities. Parents manage profiles and accommodations; children practice reading and math with full accessibility support.
npm install -g supabasenpm install
npx supabase start
Copy the printed API URL, anon key, and service_role key for the next step.
Create .env.local in the project root:
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon key from supabase start>
SUPABASE_SERVICE_ROLE_KEY=<service_role key from supabase start>
ENCRYPTION_SECRET=<64 hex characters — run: openssl rand -hex 32>
npx supabase db push
npm run db:seed
npm run dev
Open http://localhost:3000, sign up as a parent, add a child, and start practicing.
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | ✅ | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | ✅ | Supabase anon (public) key |
SUPABASE_SERVICE_ROLE_KEY | ✅ | Supabase service role key (server-only, for seeding) |
ENCRYPTION_SECRET | ✅ | 64 hex chars used to encrypt API keys at rest |
Generate ENCRYPTION_SECRET:
openssl rand -hex 32
npx supabase db push --db-url <your-supabase-db-url>SUPABASE_SERVICE_ROLE_KEY=<key> npm run db:seedEdit supabase/seed/questions.json and run npm run db:seed (idempotent — safe to re-run).
Each question follows this shape:
{
"grade": 3,
"subject": "math",
"topic": "Place Value",
"sol_standard": "3.1",
"difficulty": "medium",
"question_text": "What is the value of the digit 7 in 472?",
"simplified_text": "In the number 472, what does the 7 mean?",
"question_type": "multiple_choice",
"choices": ["7", "70", "700", "7000"],
"correct_answer": "70",
"hints": ["Look at which place the 7 is in.", "The 7 is in the tens place."],
"calculator_allowed": false
}
calculator_allowed rules (Virginia SOL):
falsetrue on calculator-active questions, false on non-calculator questionsfalsequestions.json with the new grade/subject valuesnpm run db:seednpm test
All tests use Vitest + React Testing Library. No external services required.
If you have an OpenAI API key, you can auto-generate simplified_text for questions missing it:
OPENAI_API_KEY=sk-... npm run generate:simplified
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Database | Supabase (Postgres + RLS + Storage) |
| Auth | Supabase Auth (parents only — children have no accounts) |
| UI | shadcn/ui + Tailwind CSS |
| TTS | Web Speech API (free) / OpenAI TTS / ElevenLabs (BYOK) |
| Encryption | AES-256-GCM via Web Crypto API |
| Testing | Vitest + React Testing Library |
| Fonts | Geist (UI) + OpenDyslexic (accessibility) |