ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.