ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
학생들이 공부하다 이해하기 어려운 내용을 서로 질문하고 답변하는 학습 커뮤니티입니다. 질문 게시판(반 공유) + 반별 공부방 + KWL 성찰 + 관리자 대시보드로 구성됩니다. 앱은 lib/firebase.js의 설정 유무에 따라 두 모드로 동작합니다. • 실서비스 모드 (Firebase 설정됨 · 현재 상태): Firebase Authentication으로 실제 로그인/회원가입하고, 데이터는 Firestore에 저장됩니다. 권한은 Firestore 보안 규칙과 Cloud Functions가 서버에서 강제합니다. • 데모 모드 (Firebase 미설정): 브라우저 메모리에 임시 저장(새로고침 시 초기화)되고, 테스트 유저로 자동 입장합니다. 화면·기능을 빠르게 확인할 때만 쓰입니다. (lib/user.js의 TEST_USER)README 전문 보기 ↗
학생들이 공부하다 이해하기 어려운 내용을 서로 질문하고 답변하는 학습 커뮤니티입니다. 질문 게시판(반 공유) + 반별 공부방 + KWL 성찰 + 관리자 대시보드로 구성됩니다.
npm install
npm run dev # http://localhost:3000
npm run build # 프로덕션 빌드
앱은 lib/firebase.js의 설정 유무에 따라 두 모드로 동작합니다.
lib/user.js의 TEST_USER)lib/auth.js). 로그인 시
users/{uid} 프로필을 보장하고, 학생은 접속 세션마다 새 익명 닉네임을 받습니다.setUserRole이
커스텀 클레임으로만 부여합니다. 보안 규칙은 request.auth.token.role을
검사합니다. 화면의 isAdmin(user)는 UI 노출용일 뿐, 실제 강제는 규칙입니다.main에 push하면 자동 배포됩니다.firebase deploy --only firestore,storage,functions
# 또는 개별: firestore:rules / firestore:indexes / storage / functions
firestore.rules / storage.rules — 보안 규칙firestore.indexes.json — 복합 색인 + collectionGroup 필드 오버라이드functions/index.js — Cloud Functions (아래)functions/index.js)setUserRole — 역할(커스텀 클레임) 부여 (관리자만 호출)deleteAuthUser — 탈퇴 시 로그인 계정 삭제 (관리자/교사)onAnswerCreated / onAnswerDeleted — answerCount 서버 집계 + 새 답변 알림weeklyTopAnswerers — 매주 월요일 09시 주간 답변왕 공지식별 정보(실명·이메일·학번)는 users/{uid}에만 저장하고, 게시물·카드에는
익명 정보(닉네임·이모지)만 넣습니다.
users/{uid} 프로필 (email, realName, displayName, role, requestedRole ...)
questions 질문 (authorId, keyword, resolved, meTooIds[] ...)
└ answers 답변 (하위 컬렉션)
notices 공지 (교사만 작성)
keywords 과목 키워드 (교사만 생성/수정)
classes 반 / joinCodes 입장 코드 / memberships 소속
studyBoards 공부방 보드
└ cards 공부방 카드 (반 멤버 격리)
kwl KWL 성찰 (본인 + 교사만 열람)
app/page.js 랜딩 + 로그인/회원가입(역할 선택)
app/board/page.js 질문 게시판 (키워드 | 질문 | 공지)
app/study/page.js 반별 공부방
app/admin/page.js 관리자 대시보드
app/report/page.js 학생 학습 리포트
lib/firebase.js Firebase 초기화 (config)
lib/auth.js 인증 (이메일/구글) + 프로필/역할
lib/user.js 현재 사용자 캐시 + 역할 헬퍼
lib/store.js 데이터 레이어 (Firestore ↔ 데모 모드 자동 전환)
functions/index.js Cloud Functions (서버 코드)
자세한 아키텍처·규칙 세부는 CLAUDE.md를 참고하세요.