ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Open-source multi-tenant LMS for creators and schools: sell courses on your own subdomain. Next.js 16 + React 19 + Supabase (RLS) + Stripe Connect, an AI tutor over MCP, gamification, certificates, i18n (en/es). Self-hostable.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Open-source, multi-tenant LMS for creators and schools. Every school gets its own subdomain (school.platform.com), its own branding, and its own students. Educators build courses and sell them; students enroll, learn, take exams, and earn verifiable certificates. Stack: Next.js 16 · React 19 · TypeScript · Supabase (Postgres + Auth + RLS) · Shadcn UI (base-mira) · Tailwind CSS v4 · Stripe Connect · next-intl (en/es) [README 설치·사용 부분 발췌] Quick StartREADME 전문 보기 ↗
Open-source, multi-tenant LMS for creators and schools. Every school gets its own subdomain (school.platform.com), its own branding, and its own students. Educators build courses and sell them; students enroll, learn, take exams, and earn verifiable certificates.
Live instance: preciopana.com · Setup: docs/GETTING_STARTED.md · Contribute: CONTRIBUTING.md
Stack: Next.js 16 · React 19 · TypeScript · Supabase (Postgres + Auth + RLS) · Shadcn UI (base-mira) · Tailwind CSS v4 · Stripe Connect · next-intl (en/es)
| Multi-tenancy | Subdomain-per-school, tenant theming, per-tenant roles — one deployment, many schools. Isolation is enforced in Postgres with Row Level Security, not in application code. |
| Courses | Block-editor lessons with rich MDX components, exercises, checkpoints, exams with AI-assisted grading, progress tracking, FSRS spaced repetition. |
| Payments | Stripe Connect (platform fee + revenue split), PayPal, Lemon Squeezy, Solana, Binance, and manual/offline receipts for markets where cards fail. Provider-agnostic contract — adding one is a single module. |
| Monetization | One-off products, subscriptions, plan-based feature gating, payouts, invoices, revenue dashboard. Separate platform billing for schools paying you. |
| AI tutor | An MCP server (mcp-server/) exposing the LMS as tools + interactive widgets: drill practice, weak-topic remediation, exam readiness, ask-a-teacher. Works from any MCP client, auth'd via Supabase OAuth 2.1 with RLS intact. |
| Engagement | XP, levels, streaks, achievements, challenges, weekly leagues, coin store, certificates with public verification, community spaces with polls and moderation. |
| Creator tools | AI landing-page generation, drag-and-drop page builder, guided onboarding, guided tours. |
| i18n | Full English + Spanish across the app, built for LATAM and English-speaking markets. |
Self-host it, fork it for your own school, or use it as a reference for multi-tenant Supabase + Next.js patterns. MIT licensed.
Clone and install
git clone https://github.com/guillermoscript/lms-front.git
cd lms-front
npm install
Configure environment
cp .env.example .env.local
For local Supabase, set these four. Run supabase status (after step 3) and copy its Publishable and Secret keys — they are local-only dev keys, the same on every machine:
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_OR_ANON_KEY=<Publishable key from `supabase status`>
SUPABASE_SERVICE_ROLE_KEY=<Secret key from `supabase status`>
NEXT_PUBLIC_PLATFORM_DOMAIN=lvh.me:3000
Start local Supabase (requires Docker)
supabase start
npm run db:reset # applies all migrations + seeds tenants, users, courses, products
Run the dev server
npm run dev
Open the app at http://lvh.me:3000 — not localhost
Tenant resolution reads the subdomain; lvh.me resolves *.lvh.me to 127.0.0.1. On localhost no tenant resolves and authenticated pages bounce to /join-school.
http://lvh.me:3000 — Default School (free plan)http://code-academy.lvh.me:3000 — Code Academy Pro (enterprise plan)Log in with a seeded account (all passwords password123), on the subdomain matching its tenant:
| Tenant | Role | |
|---|---|---|
[email protected] | Default School (lvh.me:3000) | student |
[email protected] | Default School (lvh.me:3000) | admin + super admin |
[email protected] | Code Academy (code-academy.lvh.me:3000) | admin |
[email protected] | Code Academy (code-academy.lvh.me:3000) |
Full walkthrough — seed contents, migrations, tests, optional services, troubleshooting: docs/GETTING_STARTED.md.
| Script | Command |
|---|---|
npm run dev | Start dev server |
npm run build | Production build (TypeScript + lint) |
npm run lint | Run ESLint |
npm run typecheck | tsc --noEmit |
npm run test:unit | Vitest unit tests |
npm test | Playwright E2E tests (dev server must already be running) |
npm run db:reset | Reset local DB (migrations + seed) |
npm run db:push | Push migrations to cloud Supabase |
npm run db:types | Regenerate lib/database.types.ts |
npm run mcp:build | Build the MCP server sub-project |
docs/GETTING_STARTED.md — full local setup guide: env, seed data, migrations, tests, troubleshootingCLAUDE.md — architecture reference for AI agents and developersdocs/DATABASE_SCHEMA.md — complete DB schemadocs/AUTH.md — authentication flowsdocs/MONETIZATION.md — billing and paymentsdocs/MCP_SETUP.md — the MCP server and AI tutor toolingMore in docs/ — deployment, i18n, gamification, community spaces, the landing-page builder.
Contributions are welcome — bug reports, translations, docs fixes, new payment providers, features.
CONTRIBUTING.md for the workflow and what reviewers look forgood first issue and help wantedSECURITY.md — please report it privatelyMIT — free to self-host, fork, and build a business on.
| student |
Local-dev credentials only — seeded by npm run db:reset.