ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證個人面試準備軟體,針對資料結構與演算法(DSA)和系統設計:每日任務、AI 評分的間隔重複卡片,以及用於模擬面試和解答審查的 AI 教練。
AI 翻譯
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.