ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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).