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.