ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기The best English learning website
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Plataforma web para aprender inglés de A1 a C1 (MCER/CEFR): lecciones por nivel, lecturas, audios, ejercicios, juegos, el IELTS Simulator completo y un AI Coach. Diseño inspirado en Apple iOS (materiales translúcidos, listas agrupadas, tipografía SF, modo claro/oscuro) y una montaña con un escalador que sube según tu progreso.README 전문 보기 ↗
Plataforma web para aprender inglés de A1 a C1 (MCER/CEFR): lecciones por nivel, lecturas, audios, ejercicios, juegos, el IELTS Simulator completo y un AI Coach. Diseño inspirado en Apple iOS (materiales translúcidos, listas agrupadas, tipografía SF, modo claro/oscuro) y una montaña con un escalador que sube según tu progreso.
| Capa | Tecnología | Función |
|---|---|---|
| Lenguaje | TypeScript (estricto) | Lógica de progreso, puntuación y contenido tipado |
| UI | React 19 + React Router 7 | Pantallas, navegación y lecciones |
| Build | Vite 8 | Desarrollo y compilación (code-splitting por nivel) |
| Estilos | Tailwind CSS 4 | Sistema de diseño iOS con tokens claro/oscuro |
| Animación | Motion | Transiciones con resortes, escalador, anillos |
| Estado | Zustand (persistente) | Progreso local-first (XP, racha, unidades) |
| Backend | Supabase | Cuentas, perfiles/clases, progreso sincronizado |
| IA | Supabase Edge Functions | coach y gemini: llaman a Gemini sin exponer la clave |
| Hosting | Vercel | Frontend estático + cabeceras y reescrituras SPA |
src/lib/planner.ts genera 7 días de tareas reales (unidades, gramática, lecturas, dictados,
speaking, writing, Verb Lab, IELTS, juegos), las marca solas a partir del registro de actividad
(cada award() lleva un ref), mide avance por día y destreza, calcula tu perfil de fortalezas
(acierto + práctica de 30 días), da recomendaciones y adapta la semana siguiente a tus resultados./learn/grammar) — Time Machine (fechas, meses, ordinales, años y
pasado simple), Time & Family (la hora con reloj interactivo, familia y genitivo ’s) y Modal Verbs
(modales core, marginales y semi-modales, reglas, trampas y fase bonus), reconstruidos en React
a partir de los módulos originales con sus mecánicas y con los errores corregidos, más Verb Lab./learn/visuals) — infografías de tiempos verbales, condicionales, modales,
get y vocabulario (apariencia física, la casa). Cada una aparece además donde se enseña su tema:
en la pestaña de gramática o vocabulario de la unidad, en los módulos de gramática, en Verb Lab,
Phrasal Verbs y en las guías de viaje de Reading. Visor a pantalla completa con zoom para proyectar.scripts/import-da-world.mjs), Star Medic Jeopardy,
Phrasal Verb Roulette, Two Truths & a Lie (Colombia), Too Good To Be True, Would You Rather Arena y
Earth Modals Explorer, más los 5 libros interactivos y el curso de cómic.
public/modules/_bridge/ecyr-bridge.js
(inicio → respuestas → resultado) y src/lib/gameBridge.ts valida cada resultado: debe
coincidir con las respuestas vistas en vivo, tener números posibles y un ritmo realista. Las
partidas en clase se guardan sin nota; Jeopardy y la Ruleta son grupales y no se registran./ielts/writing, /ielts/reading…), el diseño iOS de la
plataforma, la misma sesión de Supabase y sus bandas en el dashboard. El repositorio original
sigue aparte como versión independiente./teacher, solo docentes) — su clase con nivel, XP, racha, plan, IELTS,
partidas y alertas de resultados no válidos; ficha de cada estudiante (progreso, plan, juegos,
IELTS con writings/speakings, trabajos subidos con revisión y nota, migraciones); todo el material
sin restricciones y modo práctica libre (prueba cualquier cosa sin que se registre nada)./tasks) — el docente asigna tareas a la clase o a estudiantes concretos (una unidad,
un módulo de gramática, una práctica, un juego, un módulo IELTS o un enlace), con fecha límite y
entrega opcional de archivo o texto. Se marcan solas cuando el estudiante hace la actividad; el
docente ve el estado de cada uno y da retroalimentación y nota./portfolio) — sube escritos, tareas, exámenes, proyectos, certificados, audios
o fotos ya realizados (Supabase Storage privado); el docente los ve, comenta y califica./import) — migración completa desde una cuenta del IELTS Simulator
original (bandas, historial, writings y speakings, comentarios y tareas), archivo de sesión del
simulador o archivo de progreso de ECYR.src/
components/ ui/ (iOS kit), layout/, mountain/, charts/, learning/, brand/
content/ types.ts, levels.ts, catalog.ts, generated/*.json (contenido extraído)
features/ home, plan, learn, grammar, foundations, practice, games, ielts, coach, progress, profile, avatar
lib/ planner (motor de planes), supabase, sync, ai, speech, ielts, date
store/ progress (XP/racha/unidades), plan, avatar, auth, settings
public/
modules/ juegos y libros originales (HTML interactivos, servidos tal cual)
vendor/ React, Babel, three, d3, Chart.js… alojados localmente (sin CDNs)
covers/ portadas de los juegos
src/features/ielts/ IELTS Simulator: engine/ (motor importado), styles/ (base aislada + skin iOS)
src/features/verblab/ Verb Lab (componentes reutilizables + mapeo a unidades)
content-src/ fuentes que no se publican (Verb Quest original)
scripts/extract-content.mjs extrae el contenido de los módulos a JSON tipado
scripts/import-ielts.mjs importa/actualiza el simulador desde su repositorio original
scripts/import-defenders.mjs importa/actualiza English Defenders (puente de progreso + sprites WebP)
supabase/ setup.sql, migrations/ (01–06) y functions/ (gemini, coach)
El contenido de los libros vive dentro de los módulos originales (public/modules).
npm run content:extract lo evalúa en un sandbox vm y genera src/content/generated/*.json,
que la app importa por nivel (cada nivel es un chunk independiente y cacheable).
scripts/import-ielts.mjs convierte el index.html del repositorio original en tres archivos
propios: el motor (engine/ielts-engine.js, con parches verificados para arrancar bajo demanda,
reportar cambios de módulo al router y leer los colores del tema), sus hojas modales y su CSS de
maquetación aislado bajo .ielts-app con cada color traducido a los tokens iOS. La piel visual
está en styles/ielts-skin.css. Para traer mejoras del original:
git clone https://github.com/cronospi99/IELTS-Simulator-app /tmp/ielts
node scripts/import-ielts.mjs /tmp/ielts/index.html
node scripts/add-visual.mjs ruta/a/imagen.png id-en-kebab → crea public/visuals/<id>.webp y su miniatura.src/content/visuals.ts y declara sus places: unidades y pestaña
({ unit: 'A2-15', section: 'grammar', focus: 'second conditional' }), módulos de gramática
({ module: 'modals' }), guías de viaje ({ guide: 'Japan' }) o páginas de práctica.scripts/import-defenders.mjs copia el juego a public/modules/english-defenders, le añade el puente
de progreso con parches verificados (si el código original cambia, el script falla en vez de integrar a
medias) y convierte los sprites a WebP (≈22 MB → ≈5 MB). El repositorio original sigue independiente:
git clone --depth 1 https://github.com/cronospi99/EnglishDefenders /tmp/ed
node scripts/import-defenders.mjs /tmp/ed
npm install
npm run dev # http://localhost:5173
npm run typecheck
npm run build # dist/
vercel.json ya define build, salida, reescrituras SPA y cabeceras).VITE_SUPABASE_URL y VITE_SUPABASE_ANON_KEY, y TTS_SIGNING_SECRET para las voces naturales de /api/tts (ver supabase/README.md §5).
Sin ellas se usa el proyecto público compartido con el IELTS Simulator; con off
la app funciona sin conexión (progreso solo en el navegador).main despliega producción y cada PR una preview.Ver supabase/README.md: pegar supabase/setup.sql en el SQL Editor (migraciones 01–06), configurar las variables VITE_SUPABASE_*,
desplegar las funciones gemini y coach, y guardar GEMINI_API_KEY como secreto.
--bg, --card, --label, --separator, colores de sistema)
redefinidos para modo oscuro en src/styles/index.css.prefers-reduced-motion desactiva animaciones (incluida la caminata del escalador).learner_state).