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 ↗A campus Bible study directory where students find a study and join it in about ten seconds, with no account. Leaders get a dashboard to post their study and follow up with the people who want to come.
Live: findabiblestudy.org · Built by Jacob Qubain
Finding a Bible study on campus usually means a club fair table, a stale group chat, or a sign-up form nobody follows up on. Every extra step (an account, a password, a long form) is a reason not to go. This app removes those steps for students, and gives leaders a simple way to reach everyone who shows interest.
Students
.ics invite), or text the leader directly.Leaders
.vcf) or a spreadsheet (.csv), or copy all numbers to start a group chat.Campus missionaries
Admins
Screenshots use the built-in sample data.
| App | Next.js 16 (App Router, Server Components, Server Actions), React 19, TypeScript |
| Styling | Tailwind CSS v4, Lucide icons; mobile-first with light and dark themes |
| Database & auth | Supabase: PostgreSQL with row-level security, passwordless email sign-in |
| Resend, from a verified custom domain | |
| Validation | Zod |
| Hosting | Vercel, deploying automatically from main; Vercel Web Analytics |
npm run test:db applies every migration to an in-memory Postgres (PGlite) and runs 74 checks of what each role can and can't do (supabase/tests/rls.test.mjs).after(), so a slow email service can't slow the visitor down (lib/notify.ts).Other sites can show live studies. Responses are JSON, readable from any origin (CORS), and cached for
5 minutes. Only public details are included: never addresses, meeting links, emails, or phone numbers.
Each study's url links back to its page, where people join.
| Endpoint | Returns |
|---|---|
GET /api/v1/campuses | Campuses with at least one live study |
GET /api/v1/studies | Every live study, soonest next meeting first |
GET /api/v1/studies?campus=<slug> | Live studies for one campus (404 if the campus doesn't exist) |
const res = await fetch("https://findabiblestudy.org/api/v1/studies?campus=tulsa-university");
const { studies } = await res.json();
// studies[0] → { title, summary, url, schedule: { label: "Thursdays · 5pm", nextMeeting, … },
// location: { name, area }, format, leaders: [{ name, photoUrl }], audience, focus, … }
git clone https://github.com/Jacob-Qubain/bible-study-directory.git
cd bible-study-directory
npm install
npm run dev # http://localhost:3000, using sample data
npm run test:db # database security tests
To connect a real database, copy .env.example to .env.local with your Supabase project's URL and keys. Then apply supabase/migrations/ in order (with supabase db push or the SQL editor), and optionally supabase/seed.sql. .env.example also documents the optional Resend settings for email.
app/
page.tsx Campus picker
[campus]/ A campus's directory
studies/[slug]/ Study page, join form, calendar invite
leader/ Sign-in, dashboard, study editor, people, admin
components/ Directory, filters, cards, form controls
lib/ Data access, schedules, filters, email, auth helpers
supabase/ Migrations, seed data, security tests
proxy.ts Session refresh and sign-in guard for /leader
The roadmap and design notes are in docs/PLAN.md.
npm run dev works right after cloning.