ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
IA와 EE 예시, 가이드, 노트를 탐색하고 Hub으로 모든 마감일을 계획하세요, DiplomaHub 개인 캘린더
Browse IA and EE exemplars, guides, and notes for every subject, and plan every deadline with the Hub — DiplomaHub's personal calendar for the IB Diploma.
교육TypeScript · CSSGitHub @nathancoolusername온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free resource library and study planner for IB Diploma students. Next.js, Supabase, live at diplomahub.org.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Everything you need for the IB Diploma, in one place.
DiplomaHub is a free platform for International Baccalaureate (IB) Diploma students. It combines a library of student-shared resources with a personal planner built around the IB's deadlines and workload.
🔗 Live: www.diplomahub.org
IB students spend a lot of time hunting for good exemplars and guides scattered across Discord servers, Google Drives and old forum threads, and then juggling IAs, the Extended Essay, TOK and university deadlines across six subjects at once. DiplomaHub puts both halves in one place: find what you need, then plan when you'll use it.
.ics feed you can subscribe to from Google/Apple Calendar.ics file (timezones and recurring events handled), with a preview step and one-click undo| Layer | Tools |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack), React 19, TypeScript |
| Styling | Tailwind CSS 4 with a custom design-token system |
| Backend | Supabase (Postgres, Auth, Storage) with row-level security |
| Editor | Tiptap v3, server-side sanitize-html |
| Calendar | ical-generator (export), ical.js (import) |
| Infra | Vercel, Upstash Redis (rate limiting), Sentry (error tracking), Resend (email) |
| CI | GitHub Actions: type-check + lint on every push |
Some of the more interesting problems I ran into and how I solved them:
Cutting serverless CPU on Vercel's free tier. As the user base roughly doubled, the site kept hitting its monthly CPU limit. Instead of guessing, I used Vercel's per-route data to find the real causes:
A trust score that went the wrong way. Resource trust uses Bayesian shrinkage: a new resource starts at its author's reputation and moves toward its own engagement score as likes and downloads add confidence. I found that this made the score visibly drop as downloads came in whenever engagement was below the author's prior. I fixed it so engagement can only raise a resource above its author's baseline.
Guest mode that migrates cleanly. The whole planner works with zero database calls for logged-out users. Guest data uses the exact same row shape as the database, so on sign-in it's moved over with idempotent upserts. This means a refresh or a second tab can never duplicate items.
Calendar import edge cases. Two real bugs here:
Uploads larger than the platform limit. File uploads were failing because Vercel caps serverless request bodies at ~4.5 MB. Files now go straight from the browser to storage, with validation shared between the client and the server.
Security.
git clone https://github.com/nathancoolusername/DiplomaHub.git
cd DiplomaHub
npm install
Create a .env.local file in the project root:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
# Optional: each feature is disabled when its variable is unset
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
NEXT_PUBLIC_SENTRY_DSN=
RESEND_API_KEY=
Then run:
npm run dev # start the dev server on http://localhost:3000
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run build # production build
Note: the database schema is currently managed directly in Supabase, and migration files aren't in the repo yet.
app/
(routes) resources, articles, hub, dashboard, profile, leaderboard, roadmap, admin, ...
api/calendar/ private .ics calendar feed
lib/
actions/ server actions (all return a typed ActionResult)
supabase/ session, public (cacheable) and service-role clients
ics.ts calendar export
ics-import.ts calendar import (pure module, no framework imports)
validation.ts shared server-side input validation
ratelimit.ts Upstash rate limiting
components/
hub/ planner UI, onboarding tour, focus mode
home/ signed-out homepage and signed-in dashboard
admin/ admin tables and SVG charts
proxy.ts middleware: session verification, homepage rewrite, activity tracking
DiplomaHub is developed with AI pair-programming (Claude Code). I own the product and engineering decisions: what to build, the architecture, diagnosing problems from production data, and reviewing and testing every change before it ships.
Built and maintained by Nathan (founder & CTO)
Feedback and bug reports are welcome via diplomahub.org/feedback or [email protected].
© 2026 Nathan Pieume. All rights reserved. The code is public for viewing only. See LICENSE.