ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Free, open study platform for the AWS Certified Solutions Architect – Associate (SAA-C03) exam — original practice questions with per-option explanations, timed mock exams, a study-plan generator, flashcards, and SEO-optimized study guides.
CloudCertPrep is an independent study resource and is not affiliated with, endorsed by, or sponsored by Amazon Web Services.
npm install
npm run dev # http://localhost:3000
Copy .env.example to .env.local if you need to configure site URL,
analytics, Search Console verification, or ads. Everything works with the
placeholders unset.
| Command | Purpose |
|---|---|
npm run dev | Dev server |
npm run build | Production build (static generation) |
npm run start | Serve the production build |
npm run lint | ESLint |
npm run typecheck | tsc --noEmit |
npm test | Vitest unit tests (scoring, timer, persistence, schema, sitemap, study plan) |
npm run validate:content | Content-only test subset (question bank integrity) |
npm run test:e2e | Playwright end-to-end tests (requires a prior npm run build; the config starts next start on port 3100) |
First-time e2e setup: npx playwright install chromium.
src/
app/ # routes (App Router)
components/ # UI + interactive client components
lib/
content/
schema.ts # Zod question schema + bank validators
domains.ts # official SAA-C03 exam facts (verify before edits!)
topics.ts # practice topics -> /practice/[slug]
questions/ # question bank, one file per domain
services.ts # AWS service study guides -> /services/[slug]
articles.ts # in-depth articles -> /learn/[slug]
flashcards.ts # flashcard deck
exam.ts # answer evaluation, scoring, exam selection, timers
storage.ts # ProgressData model + localStorage store
use-progress.ts # useSyncExternalStore hooks over localStorage
study-plan.ts # study-plan generator
sitemap.ts # sitemap URL list (canonical, indexable only)
analytics.ts # privacy-first event adapter (no-op by default)
affiliate.ts # central affiliate-link config (empty by default)
site.ts # site name, nav, footer, trademark disclaimer
tests/
unit/ # Vitest
e2e/ # Playwright
src/lib/content/questions/
following the Question schema (see any existing entry for the shape).npm run validate:content:
id (saa-<area>-NNN) and slugoptionExplanations entrycorrectAnswers reference real option ids; single-choice = exactly 1https:// AWS documentation referencetopic exists in src/lib/content/topics.tsreviewStatus: "draft" while working; only "reviewed"/"published"
questions render on the site. Set lastReviewed when promoting.Run the checklist in docs/exam-verification.md whenever exam details or a
domain weighting changes.
metadataBase + per-page alternates.canonical./questions/[slug] (stem, per-option explanations, AWS references, related
links), discoverable via the /questions index, topic pages, and the
interactive practice UI.src/app/sitemap.ts lists only canonical, indexable URLs with
lastModified. User-specific pages (/mock-exam/[id], /results/[id]) are
noindex + robots.txt disallowed; practice filtering is client-side to
avoid thin URL permutations.WebSite/Organization site-wide, Article on guides/articles,
BreadcrumbList on all content pages.src/app/opengraph-image.tsx.NEXT_PUBLIC_GSC_VERIFICATION to the Search Console meta-tag token and
submit /sitemap.xml after deployment.practice_start, exam_complete, affiliate_click, …) flow through
src/lib/analytics.ts, which is a no-op until
NEXT_PUBLIC_ANALYTICS_PROVIDER is set (e.g. plausible + script tag).<AdSlot> renders nothing until NEXT_PUBLIC_ADS_ENABLED=true — enable
only after network approval and a consent flow.src/lib/affiliate.ts (empty by default)
and always rendered alongside a disclosure.docs/monetization.md for the full plan.NEXT_PUBLIC_SITE_URL to your production domain (used for canonicals,
sitemap, OG tags).NEXT_PUBLIC_GSC_VERIFICATION, then verify the property in
Google Search Console and submit https://<domain>/sitemap.xml.npm run build green.localStorage — no cross-device sync, and clearing site
data erases it. The ProgressStore interface in src/lib/storage.ts is the
seam for a future Supabase/Postgres backend.