ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Personal interview-prep app for DSA and system design: daily missions, AI-graded spaced-repetition cards, and an AI coach for mock interviews and solution reviews.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Interview prep that plans your day and checks your answers.
Pick 30, 60 or 90 days. 90x picks today's problems from your weakest areas,
grades what you type, and only raises your readiness when you do the work.
Landing page. / is the public front page: a pinned demo, a wall of Feed cards and Google sign-in. Signed-in users go straight to Today.README 전문 보기 ↗Landing page. / is the public front page: a pinned demo, a wall of Feed cards and Google sign-in. Signed-in users go straight to Today.
Today. A plan for the day from your weekday template: new problems, due reviews, a design topic, a "10 cards" mission, a mock or a story. Each mission has a one-line reason it was picked. A weekly focus from the Sunday review adds one focus problem and topic a day, and "+ Add a problem" adds extra work to an Extras list that carries over until you solve or remove it. Work earns XP, shown as +N XP where it is earned, with a total and a week chart on Me.
90 Grid. One square per campaign day, marked done, partial or missed. A missed day can be revived by making up its missions, which keeps the streak alive.
Readiness. A 0 to 100 score per area (DSA, system design, CS core, Java, SQL), built from how much of each area you've covered and how accurate you've been lately.
Feed. Cards across the topics you switch on, in 10 card types (pick one, order, match, bucket, assemble, numeric keypad, tap in place, claim grid, grid toggle, and written answers graded against the card's key points). FSRS schedules the next review. Any 10 cards span at least 4 areas, and you can bias the queue by difficulty.
Library. Nine tracks (DSA, Design, CS, Java, SQL, LLD, AI, Behavioural, Competitive) with search. Topics are grouped in sections with lessons, DSA has a Pattern Map of pattern tricks and problems, and everything links back to its sources.
Check-ins. Log a problem as solved, solved with hints, or failed. LeetCode sync can fill these in from your public profile.
Coach. A chat that remembers you. It searches the library and cites what it used, finds problems, reviews pasted solutions, teaches lessons, runs timed text mocks, keeps your STAR story bank and writes a weekly read that shows on Today and Me. Anything it wants to change needs your tap first.
Friends. Invite by email, accept, then compare readiness, streak and solved this week.
Me. Plan, settings, coach memory, stories, weekly reads, report a problem, and delete your account.
Admin. Approve users, review card batches and flagged cards, read reports and mail, set AI caps and the auto-approve switch, and see an analytics dashboard for growth, activation, return and cost.
It installs as an app on phone and desktop, keeps Today and the Feed available offline, and sends reminders by web push. Privacy and terms pages are public.
Sign-in is with Google, and every new account waits for an admin to approve it, unless auto-approve is on.
flowchart LR
USER["Browser / installed PWA"] --> APP["web/<br/>Next.js on Vercel"]
APP --> DB[("Supabase<br/>Postgres + RLS, Auth")]
APP --> RED[("Upstash Redis<br/>feed queue, limits, cost meter")]
APP --> VEC[("Upstash Vector<br/>library search")]
APP --> AI["AI provider<br/>via Vercel AI SDK"]
APP --> AUD[("Cloudflare R2<br/>lesson audio, signed URLs")]
APP -.-> SEN["Sentry"]
QS["Upstash QStash<br/>scheduled jobs"] --> APP
GHA["GitHub Actions<br/>nightly backup"] --> DB
GHA --> BAK[("Cloudflare R2<br/>encrypted dumps")]
ai_usage, and counts against daily, monthly and per-person caps that admins set. A hard stop and a lifetime ceiling sit above the caps./api/jobs/hourly and /api/jobs/leetcode-sync (set up with bun run schedule:jobs).main only. There are no preview deploys for PR branches./api/health reports whether Postgres and Redis answer.| App | Next.js 16, React 19 (React Compiler), TypeScript, Tailwind v4, shadcn/ui, TanStack Query |
| Data | Supabase Postgres with row-level security, Drizzle, Supabase Auth |
| Jobs and search | Upstash QStash, Redis and Vector |
| AI | Vercel AI SDK; DeepSeek by default, or Anthropic or any OpenAI-compatible endpoint |
| Monitoring | Sentry, Vercel Analytics and Speed Insights, UptimeRobot (see web/MONITORING.md) |
| Storage | Cloudflare R2: lesson audio, and nightly encrypted pg_dump backups (see BACKUPS.md) |
| Tests | Vitest, Playwright with axe-core, a break-in security suite |
You need Bun and Docker.
cd web
bun install
cp .env.example .env.local # every key is explained in the file
bun run db:start # local Supabase with every migration applied
bun run dev
Sign in once (Google OAuth keys go in .env.local, see CONTRIBUTING), then make yourself an admin:
bun run admin:grant [email protected]
The local stack starts empty. Load the small catalog the end-to-end tests use.
DATABASE_URL=postgresql://postgres:[email protected]:54322/postgres bun run scripts/seed-e2e.ts
Run it from web/. The port is whatever supabase status reports.
| CONTRIBUTING.md | setup, the rules, checks before a PR |
| PRODUCT.md, DESIGN.md | what the product is, how it looks |
| SECURITY.md | threat model, reporting a vulnerability |
| BACKUPS.md | nightly backups, restore and the drill |
| LOAD-TEST.md | load test results |
| web/README.md | the web app: commands and layout |
| web/MONITORING.md | Sentry, uptime checks, /api/health |
web/ the Next.js app, its tests and scripts
supabase/ config and SQL migrations, including row-level security
.github/ CI, the nightly backup and shared setup actions
See CONTRIBUTING.md.
The code is MIT. The study content keeps its sources' own licenses; see NOTICE.