ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
고려대학교 경영대학 학생들을 위한 비공식 정보 웹사이트입니다. • Next.js 14 (App Router) + TypeScript • Tailwind CSS • lucide-react 2. Supabase 프로젝트 만들기 (일정 데이터 저장용) 1. supabase.com 에서 무료로 회원가입 후 "New project" 생성 2. 프로젝트가 만들어지면 왼쪽 메뉴 SQL Editor → New query 에 들어가서 supabase/schema.sql 파일 내용을 그대로 붙여넣고 Run 실행 (선택) 테스트용 샘플 데이터가 필요하면 supabase/seed.sql 내용도 이어서 실행 3. 왼쪽 메뉴 Project Settings → API 에서 아래 3가지 값을 복사 • Project URL → NEXT_PUBLIC_SUPABASE_URL • anon public 키 → NEXT_PUBLIC_SUPABASE_ANON_KEY • service_role 키 → SUPABASE_SERVICE_ROLE_KEY (⚠️ 절대 외부에 공개하지 마세요)README 전문 보기 ↗
고려대학교 경영대학 학생들을 위한 비공식 정보 웹사이트입니다.
npm install
supabase/schema.sql 파일 내용을 그대로 붙여넣고 Run 실행
(선택) 테스트용 샘플 데이터가 필요하면 supabase/seed.sql 내용도 이어서 실행Project URL → NEXT_PUBLIC_SUPABASE_URLanon public 키 → NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role 키 → SUPABASE_SERVICE_ROLE_KEY (⚠️ 절대 외부에 공개하지 마세요).env.local.example 파일을 복사해 .env.local 로 이름을 바꾸고, 위에서 복사한 값과
원하는 관리자 비밀번호(ADMIN_PASSWORD)를 채워 넣으세요.
cp .env.local.example .env.local
Supabase 값을 아직 채우지 않아도 개발 서버는 실행됩니다 — 이 경우 일정 데이터는
lib/mock-data.ts의 샘플 데이터로 표시되며, 실제 등록/수정/삭제는 동작하지 않습니다.
npm run dev
http://localhost:3000 에서 확인하고, http://localhost:3000/admin 에서
ADMIN_PASSWORD로 로그인해 일정을 등록·수정·삭제해보세요.
git init → commit → push)..env.local에 넣었던 4개 값
(NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY,
SUPABASE_SERVICE_ROLE_KEY, ADMIN_PASSWORD)을 그대로 등록합니다.https://프로젝트명.vercel.app 주소가 발급됩니다.app/ Next.js App Router 엔트리
layout.tsx 루트 레이아웃 (폰트, 메타데이터)
page.tsx 메인 페이지 (섹션 조합)
globals.css 전역 스타일, 폰트 import
schedule/page.tsx 전체 일정 페이지 (카테고리 필터)
admin/
page.tsx 관리자 대시보드 (일정 등록·수정·삭제)
actions.ts 일정 CRUD 서버 액션 (Supabase 연동)
ScheduleForm.tsx 등록/수정 폼
AdminScheduleManager.tsx 목록 + 편집 상태 관리
login/
page.tsx 로그인 화면
actions.ts 로그인/로그아웃 서버 액션 (쿠키 세션)
middleware.ts /admin 접근 시 로그인 여부 확인
components/
layout/ Header, Footer
hero/ HERO 섹션
schedule/ THIS WEEK 섹션 (일정 카드, 상세 모달, 목록, 필터)
archive/ PHOTO ARCHIVE 섹션 (무한 스크롤)
faq/ FAQ 섹션 (검색, 카테고리 필터, 아코디언)
map/ KUBS MAP 섹션 (placeholder 구조)
game/ KUBS HISTORY GAME 섹션 (placeholder)
lib/
types.ts 공용 타입 정의
mock-data.ts 샘플 데이터 (Supabase 미설정 시 fallback)
data/schedules.ts 일정 조회 로직 (Supabase ↔ mock 자동 전환)
supabase/
publicClient.ts 공개 조회용 클라이언트 (anon key)
adminClient.ts 서버 전용 쓰기 클라이언트 (service role key)
supabase/
schema.sql 테이블 생성 SQL
seed.sql (선택) 테스트용 샘플 데이터 SQL
hooks/
useCountdown.ts D-day 계산 유틸
.env.local.example 환경변수 예시 (복사해서 .env.local로 사용)
/admin에서 실제로 등록·수정·삭제할 수
있고, 메인 페이지·전체 일정 페이지에 그대로 반영됩니다. 위 "시작하기" 섹션을
따라 Supabase 프로젝트만 연결하면 바로 사용 가능합니다.lib/mock-data.ts)로 표시됩니다. 실제
업로드 기능은 Supabase Storage 연동으로 다음 단계에서 추가할 수 있습니다.components/map/KubsMapSection.tsx 안의 placeholder 자리에
실제 지도 컴포넌트(Kakao Map, Google Maps, 커스텀 SVG 등)를 넣으면 됩니다.components/game/KubsHistoryGameSection.tsx의
placeholder를 실제 게임 캔버스/컴포넌트로 교체하세요.지금 구현된 /admin 로그인은 비밀번호 하나로 보호하는 간단한 방식입니다.
학생회 내부용으로 빠르게 시작하기엔 충분하지만, 여러 명이 함께 관리하거나
더 안전하게 운영하고 싶다면 나중에 Supabase Auth(이메일/비밀번호 로그인,
계정별 권한 관리)로 업그레이드하는 것을 권장합니다.
tailwind.config.ts에 정의되어 있습니다.
ivory (#FBF9F4), ivory-soft (#F5F1E9)ink (#1D1B18), ink-soft, ink-faintcrimson (#7A0C2E), crimson-deep, crimson-bright, crimson-tintfont-serif), 본문/UI는 Pretendard(font-sans)