ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A personal college-applications tracker: a grid of glassy school tiles that grow into a detail card, with an edit-all mode, drag-to-reorder and a settings panel. Built from the Claude Design file College Tracker States.查看完整 README ↗A personal college-applications tracker: a grid of glassy school tiles that grow into a detail card, with an edit-all mode, drag-to-reorder and a settings panel. Built from the Claude Design file College Tracker States.
https://ianshultz.com/collegetracker (every other path on the domain redirects to https://shultzphotography.com)@supabase/ssr) · dnd-kit · react-colorful · sonner · lucide-react · browser-image-compressionct_* tables and the ct-images bucket)npm install.env.local (copy .env.example) with:
NEXT_PUBLIC_SUPABASE_URL=https://zfstmligspyjuxycejrt.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<publishable key from Supabase → Project Settings → API Keys>
Only the public (publishable/anon) key goes here — never the service_role/secret key.npm run dev, then open http://localhost:3000/collegetracker and sign in.http://localhost:3000/collegetracker/dev/preview runs the whole app on in-memory sample schools (nothing is saved; add ?empty=1 for the empty state). In the browser console, window.__ctFail = true makes every save fail so you can see the rollback + error toast. This page returns 404 Not Found in production builds.
npm test # unit tests (dates in Pacific time incl. DST, validation, drafts, ordering)
npm run lint
npm run build # production build (must pass before deploying)
git remote add origin https://github.com/<you>/college-tracker.git
git push -u origin main
NEXT_PUBLIC_SUPABASE_URL = https://zfstmligspyjuxycejrt.supabase.coNEXT_PUBLIC_SUPABASE_ANON_KEY = the same publishable key as in .env.localhttps://<project>.vercel.app/collegetracker and sign in.ianshultz.com (and www.ianshultz.com, set to redirect to the apex). Vercel shows the DNS records to add at your registrar (usually an A record 76.76.21.21 for the apex and a CNAME cname.vercel-dns.com for www). Wait for the green check.https://ianshultz.com/ and https://ianshultz.com/anything should land on shultzphotography.com; https://ianshultz.com/collegetracker should show the sign-in screen. (The redirects are temporary — 307 — so you can change them later without browsers caching them.)https://ianshultz.com/collegetracker and add it to Redirect URLs. Sign-in is email + password so this only matters for password-reset emails, but it keeps emails pointing at the right place.| Object | What it holds | Access |
|---|---|---|
public.ct_schools | one row per school (all fields optional except name; custom_fields is an ordered list of {label, value}; position is a fractional sort key) | RLS: only rows where user_id = auth.uid() |
public.ct_settings | one row per user: colors, background photo, blur, dim, tile size, names, shimmer, my SAT | RLS: same |
storage bucket ct-images | <user id>/logos/<school>-<time>.webp and <user id>/backgrounds/<time>.webp | public read; upload/replace/delete only inside your own <user id>/ folder; WebP/PNG/JPEG only, 5 MB max |
The schema lives in supabase/migrations/ and has already been applied to Workflow. To recreate it in a fresh project, run those files in order in the Supabase SQL editor (or supabase db push with the Supabase CLI).
Dates (deadline, decision_start, decision_end) are calendar dates in your local time zone — the app never parses them as UTC, and countdowns run to the end of the day.
Backups: Settings → Data → Download backup saves a JSON file with every school and your settings (logos/backgrounds are referenced by their storage path).
next.config.ts basePath /collegetracker, redirects, security headers
src/proxy.ts refreshes the Supabase session; sends signed-out visitors to /sign-in
src/app/page.tsx loads your schools + settings on the server, then hands off to the client
src/app/sign-in/ sign-in screen
src/app/dev/preview/ dev-only in-memory preview
src/components/tracker/ Tracker (layout), Grid + Tile, Card (view + form), SettingsPanel, store (optimistic saves)
src/lib/ dates, colors (tile looks from the design), layout, validation, drafts, Supabase backends
supabase/migrations/ database schema, RLS and storage policies
node_modules and .next, which can make the dev server slow ("waiting for the filesystem to settle"). If that bothers you, pause OneDrive while developing or move the project to a non-synced folder such as C:\dev\college-tracker.