ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A mission-based, self-guided web app for teenagers that supports development of identity, purpose, connection, and meaning.
This repo contains the full MVP foundation:README 전문 보기 ↗A mission-based, self-guided web app for teenagers that supports development of identity, purpose, connection, and meaning.
This repo contains the full MVP foundation:
groundwork), set a database password, choose a regionsupabase/schema.sql from this repoThis creates all tables, sets up Row Level Security, creates the user auto-creation trigger, and seeds the 8 stories.
Verify: After running, go to Table Editor and check that stories has 8 rows.
Already have a database from an earlier version? schema.sql is kept current, but an
existing project also needs the files in supabase/migrations/ run in order (002, 003,
004, 005, 006, …). Each one is idempotent, so running them again is safe. Features whose migration
hasn't been run show a "being switched on shortly" note rather than erroring — so if a
section of the Me page says that, a migration is outstanding.
If you skip this, email/password auth will still work.
In Supabase: Settings → API
Copy:
Project URL → NEXT_PUBLIC_SUPABASE_URLanon public key → NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role key → SUPABASE_SERVICE_ROLE_KEY (keep this secret)In Anthropic Console: API Keys → create a new key → ANTHROPIC_API_KEY
cp .env.local.example .env.local
Fill in your values:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
ANTHROPIC_API_KEY=sk-ant-...
NEXT_PUBLIC_APP_URL=http://localhost:3000
npm install
npm run dev
Open http://localhost:3000.
In Supabase: Authentication → URL Configuration
Add to Redirect URLs:
http://localhost:3000/auth/callback
For production, also add:
https://your-domain.vercel.app/auth/callback
.env.localNEXT_PUBLIC_APP_URL to your Vercel URLsrc/
├── app/
│ ├── page.tsx # Landing page
│ ├── auth/
│ │ ├── page.tsx # Sign in / sign up
│ │ └── callback/route.ts # OAuth callback handler
│ ├── onboarding/
│ │ └── page.tsx # 3-step onboarding
│ ├── dashboard/
│ │ ├── page.tsx # Server component (data fetching)
│ │ └── DashboardClient.tsx # Client component (UI)
│ ├── missions/[id]/
│ │ ├── page.tsx
│ │ ├── MissionDetailClient.tsx
│ │ └── activities/[activityId]/
│ │ ├── page.tsx
│ │ └── ActivityClient.tsx # Handles all activity types
│ ├── journal/
│ ├── stories/
│ ├── support/
│ ├── settings/
│ └── api/
│ └── reflect/route.ts # AI reflection endpoint
├── components/
│ └── layout/
│ └── AppShell.tsx # Nav + page wrapper
├── lib/
│ ├── supabase.ts # Client + server Supabase instances
│ ├── missions.ts # Mission/activity data (content layer)
│ └── utils.ts # Utility functions
├── types/
│ └── database.ts # Full TypeScript types for Supabase schema
└── middleware.ts # Route protection
Typography
Colour palette
| Name | Hex | Used for |
|---|---|---|
| Navy | #1B3A5C | Primary, Mission 1 |
| Teal | #2E7D8C | Accent, Mission 2, interactive states |
| Gold | #C8982A | Challenges, milestones, Mission 4 |
| Sage | #4A7C59 | Success, Mission 3 |
| Surface muted | #F8F8F6 | App background |
Component classes (defined in globals.css)
.card — standard card with soft shadow.card-elevated — raised card.btn, .btn-primary, .btn-secondary, .btn-teal — button variants.input — form input.journal-textarea — writing area.progress-bar / .progress-fill — mission progress[data-animate="N"] — staggered fade-up on mountPhases not yet built (from the original spec):
To see where students stop, run migration 015_completion_counts.sql, then:
npm run report:completion
It prints totals only: sign-ups, each mission step and each program week. Counts under five are
shown as "fewer than 5". It reads NEXT_PUBLIC_SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY from the
environment or .env.local, and it won't run before COUNTS_START in src/lib/completionCounts.ts,
because students were told about the counts in the app (and on the privacy page) two weeks before they
could be read.
When running this as a school pilot: