ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Aprende inglés de A1 a C1: lecciones por nivel CEFR, lecturas, audios, juegos, simulador IELTS y coach con IA.
Translation pending
EducationTypeScript · JavaScriptGitHub @cronospi99OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The best English learning website
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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.Read the full 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).