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.