ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Learn. Recall. Remember. — Học hôm nay. Ở lại mãi. Ứng dụng học tiếng Nhật JLPT N5 cho người Việt, xoay quanh trí nhớ dài hạn: Neko Neko theo dõi từng kiến thức và đưa nó quay lại đúng lúc bạn sắp quên. 1. Chạy thử ngay — 2 lệnh, không cần cấu hình Yêu cầu: Node.js 20 trở lên (node -v). Mở. App chạy ở chế độ demo: một người học mẫu đang ở ngày 23/90, đủ mọi màn hình, trả lời được thật, Memory Engine cập nhật thật. Dữ liệu demo lưu trong bộ nhớ máy chủ — tắt npm run dev là mất. Góc dưới màn hình có nhãn "Chế độ demo" để bạn luôn biết mình đang ở đâu.README 전문 보기 ↗
Learn. Recall. Remember. — Học hôm nay. Ở lại mãi.
Ứng dụng học tiếng Nhật JLPT N5 cho người Việt, xoay quanh trí nhớ dài hạn: Neko Neko theo dõi từng kiến thức và đưa nó quay lại đúng lúc bạn sắp quên.
Next.js 15 (App Router) · TypeScript · Tailwind CSS · Supabase · TanStack Query · Zustand · Vitest
Yêu cầu: Node.js 20 trở lên (node -v).
npm install
npm run dev
Mở http://localhost:3000. App chạy ở chế độ demo: một người học mẫu đang ở ngày 23/90, đủ mọi màn hình,
trả lời được thật, Memory Engine cập nhật thật. Dữ liệu demo lưu trong bộ nhớ máy chủ — tắt npm run dev là mất.
Góc dưới màn hình có nhãn "Chế độ demo" để bạn luôn biết mình đang ở đâu.
Vào https://supabase.com → New project. Đợi project khởi tạo xong.
SQL Editor → New query → dán và Run lần lượt từng file trong supabase/migrations/, theo thứ tự tên:
20261003000001_initial_schema.sql20261004000001_journey_progress.sql20261004000002_welcome.sql20261004000003_voice_gender.sql20261004000004_session_mode_day.sql20261005000001_memory_optimistic_lock.sql20261005000002_session_mode_backlog.sql20261005000003_example_sentences.sql20261005000004_recall_dates.sql20261006000001_kanji_radicals.sql20261006000002_daily_greeting.sql20261006000003_grammar_notes.sql
(Nếu dùng Supabase CLI: supabase link rồi supabase db push.)cp .env.example .env.local
Lấy giá trị ở Project Settings → API (hoặc API Keys):
| Biến | Lấy ở đâu | Bí mật? |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Project URL | Không |
NEXT_PUBLIC_SUPABASE_ANON_KEY | anon / publishable key | Không |
SUPABASE_SERVICE_ROLE_KEY | service_role / secret key | Có — chỉ ở server, không bao giờ commit |
npm run seed:content
Ghi 90 ngày, 484 đầu việc, 104 kana, 71 bộ thủ (45 của lộ trình + 26 bộ tham khảo), 103 kanji, 759 từ vựng, 112 mẫu ngữ pháp… Chạy lại bao nhiêu lần cũng được.
Authentication → URL Configuration
http://localhost:3000http://localhost:3000/auth/callbackKhi phát triển, có thể tắt Confirm email (Authentication → Providers → Email) để đăng ký xong vào học luôn. Đăng nhập Google là tuỳ chọn: bật provider Google và điền Client ID/Secret.
npm run dev
Mở http://localhost:3000 → được chuyển tới /dang-nhap → tạo tài khoản. Tài khoản mới bắt đầu ở ngày 1, vườn trống — đúng trải nghiệm người học thật.
Lộ trình tính theo ngày học thật: người học chỉ sang ngày 2 khi tự xác nhận xong ngày 1 — bấm "✓ Hoàn thành ngày 1" rồi xác nhận lại. App không bao giờ tự chuyển ngày; học hết kiến thức của ngày thì Trang chủ và màn Khoảnh khắc tiến bộ MỜI hoàn thành. Xác nhận xong là mở ngày sau ngay; nghỉ vài hôm cũng không bị trôi lộ trình.
Nhịp học: "Học hôm nay" (~8 phút) là mức tối thiểu — ôn trí nhớ + một chặng 5 kiến thức mới. Muốn xong ngày trong một lần: 📘 Học hết ngày X — đi hết kiến thức còn lại, sau mỗi chặng chọn "Học tiếp" hoặc "Dừng ở đây".
Muốn kiểm thử mọi màn hình với dữ liệu "giữa lộ trình"? (chỉ dành cho dev/QA)
npm run seed:demo-memory -- --email [email protected] --day 23
| Lệnh | Việc |
|---|---|
npm run dev | Chạy môi trường phát triển |
npm run build / npm start | Build và chạy bản production |
npm run lint | ESLint (không cho phép cảnh báo) |
npm run typecheck | Kiểm tra kiểu TypeScript |
npm test | Unit test (Memory Engine, Session Engine, lộ trình, nội dung) |
npm run test:db | Chạy migration trên PostgreSQL nhúng và kiểm tra RLS — không cần Docker |
npm run verify | lint + typecheck + test + build — chạy trước khi coi một việc là xong |
npm run seed:content | Đưa nội dung N5 vào Supabase |
npm run seed:demo-memory -- --email … --day 23 | Đưa một tài khoản QA tới ngày 23, kèm trí nhớ mẫu |
npx tsx scripts/import-brand-assets.ts | Xử lý logo + bộ icon mèo từ design/icons-moi/recraft-assets/ (cắt viền, thu nhỏ, WebP) → public/brand/, public/icons/neko/, favicon |
npm run icons:fetch | Tải icon 3D (Microsoft Fluent Emoji, MIT) và emoji động (Google Noto, CC BY 4.0) vào public/icons/ — chỉ khi thêm icon mới vào src/components/common/emoji-icons.ts |
npx tsx scripts/fetch-examples.ts | Lấy lại câu ví dụ Nhật–Việt từ Tatoeba (CC BY 2.0 FR) → content/seed/examples.json, rồi npm run seed:content |
python3 scripts/convert-roadmap.py | Chuyển lại file Excel lộ trình → JSON (chỉ khi Excel thay đổi) |
docs/architecture.md — bức tranh tổng thể, luồng dữ liệu, các quyết định và khác biệt so với đặc tả.src/features/memory/memory-engine.ts — trái tim sản phẩm (đọc kèm docs/memory-engine.md).src/features/learning/session-engine.ts + session-modes.ts — một engine cho mọi kiểu học.src/app/(app)/page.tsx — Trang chủ: xem một màn hình lấy dữ liệu và ghép component thế nào.src/app/api/session/answer/route.ts — đường đi của một câu trả lời tới database.Quy ước code: docs/coding-standards.md. Database: docs/database.md.
| Khu vực | Đường dẫn |
|---|---|
| Trang chủ — Học hôm nay (kèm kế hoạch Gặp lại · Học bù · Mới · Dùng thử), Gặp lại kiến thức, Lộ trình 90 ngày, Vườn | / |
| Lộ trình 90 ngày · Một ngày học | /lo-trinh · /lo-trinh/ngay/[n] |
| Học tập | /hoc-tap, /hoc-tap/{hiragana, katakana, bo-thu, kanji, tu-vung, ngu-phap}, /hoc-tap/{bo-thu, kanji, tu-vung, ngu-phap}/[id] |
| Luyện tập · kỹ năng | /luyen-tap, /luyen-tap/{nghe, noi, doc, viet} |
| Phiên học | /hoc/[mode] (daily, day, quick5, random, more, rescue, flow, recall, discover, use, backlog); /gap-lai, /kham-pha, /thuc-hanh là đường dẫn cũ, tự chuyển sang /hoc/… |
| Sau phiên | /khoanh-khac, /nghi |
| Theo dõi | /theo-doi?tab=tien-do|tri-nho|thanh-tich, /tri-nho/sap-quen, /tri-nho/chua-vung, /tri-nho/cuu/[contentKey] |
| Vườn tri thức | /vuon |
| Cài đặt (gồm Hồ sơ) | /cai-dat — đường dẫn cũ /tri-nho, /tien-do, /thanh-tich, /ho-so chuyển hướng 308 (next.config.ts) |
| Đăng nhập | /dang-nhap |
| Khay trượt | + Học ngay, ☰ Điều hướng, Chi tiết kiến thức, Tìm kiếm |
NEXT_PUBLIC_APP_ENV=production).https://ten-mien/auth/callback).Xem chi tiết ở docs/architecture.md mục 7–8. Tóm tắt:
docs/architecture.md mục 3b)./chao, thiết lập ban đầu /bat-dau, chi tiết lịch sử trí nhớ một mục, hiển thị furigana,
thông báo nhắc học, AI Engine, âm thanh thu sẵn, kiểm thử E2E.