ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Campus digital con IA para "Derecho de las Nuevas Tecnologías y Bioderecho en el Siglo XXI" (Abogacía, Facultad de Derecho, Universidad Nacional de Tucumán). Las clases se graban y el campus las procesa con IA: resumen, placas interactivas (flashcards / quiz), versión en lenguaje simple, transcripción navegable y feedback personalizado por estudiante. El equipo docente gestiona cronograma, actividades, padrón, consultas, encuestas, debates e informes a demanda generados con IA. Documentación de arquitectura: docs/ARCHITECTURE.md · PWA/offline: docs/PWA.md檢視完整 README ↗
Campus digital con IA para "Derecho de las Nuevas Tecnologías y Bioderecho en el Siglo XXI" (Abogacía, Facultad de Derecho, Universidad Nacional de Tucumán).
Las clases se graban y el campus las procesa con IA: resumen, placas interactivas (flashcards / quiz), versión en lenguaje simple, transcripción navegable y feedback personalizado por estudiante. El equipo docente gestiona cronograma, actividades, padrón, consultas, encuestas, debates e informes a demanda generados con IA.
Documentación de arquitectura: docs/ARCHITECTURE.md ·
PWA/offline: docs/PWA.md
public/sw.js) + cola de escrituras en localStorage.git clone <repo>
cd EnsenIApp-UNT
npm install
cp .env.example .env.local # o crear .env.local a mano (ver abajo)
npm run dev # http://localhost:3000
.env.local)| Variable | Uso |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | URL del proyecto Supabase |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Clave anónima (cliente, respeta RLS) |
SUPABASE_SERVICE_ROLE_KEY | Service role (sólo server, procesos de fondo) |
OPENROUTER_API_KEY | API key de OpenRouter |
SUPABASE_PROJECT_REF | Ref del proyecto (para scripts/db.sh y gen-types.sh) |
SUPABASE_ACCESS_TOKEN | Token personal de la Management API de Supabase |
OPENROUTER_MODEL_REASONING | (opcional) override del modelo de razonamiento |
OPENROUTER_MODEL_FAST | (opcional) override del modelo rápido |
NEXT_PUBLIC_PWA_DEV | (opcional) 1 para probar el service worker en dev |
Las migraciones viven en supabase/migrations/NNN_*.sql y se aplican en orden con:
scripts/db.sh supabase/migrations/001_init.sql
scripts/db.sh supabase/migrations/002_campus_core.sql
scripts/db.sh supabase/migrations/003_recording_chunks.sql
scripts/db.sh supabase/migrations/004_integration.sql
scripts/gen-types.sh # regenera src/lib/types/database.ts desde el esquema real
scripts/db.sh -q "select ..." ejecuta una query inline (útil para inspección).
Nunca editar src/lib/types/database.ts a mano.
Crear además los buckets privados de Storage class-recordings y class-materials
(Dashboard → Storage → New bucket, sin acceso público): las policies de acceso ya
vienen en las migraciones.
npm run dev # servidor de desarrollo
npm run build # build de producción
npm run lint # eslint
npx tsc --noEmit # typecheck estricto
scripts/db.sh <sql> # ejecutar SQL contra Supabase (Management API)
scripts/gen-types.sh # regenerar tipos de la DB
scripts/push.sh [rama] # push al repo con la cuenta gh correcta
https://<tu-dominio> y http://localhost:3000.https://<project-ref>.supabase.co/auth/v1/callback.http://localhost:3000/** y https://<tu-dominio>/** a Redirect URLs
(el flujo vuelve a /auth/callback).Al ingresar, si el email del estudiante está en el roster (padrón) queda validado
y auto-inscripto; si no, entra como pendiente y el docente lo revisa en
Estudiantes → Pendientes.
.env.local
(las SUPABASE_* de Management API sólo hacen falta si se corren los scripts desde CI;
para runtime alcanzan las tres de Supabase + OPENROUTER_API_KEY).maxDuration de hasta 300 s: requiere un plan
con Fluid Compute habilitado (default en planes actuales).public/sw.js versiona el shell cacheado con la constante VERSION; subirla
cuando cambie el HTML de / o /login (ver docs/PWA.md).class-recordings
(~90 % menos de peso subido).POST /api/recordings/[id]/step avanza un paso por request (respetando el
timeout serverless) con progreso en vivo por Realtime:
uploaded → transcribing → processing → generating → ready.
Cada paso es idempotente y reintentable; los errores quedan en error_message
y processing_log.input_audio. Generación: resumen, placas interactivas y
versiones en lenguaje simple, con prompts en español y salida JSON validada con zod.src/app rutas (App Router) — ver mapa completo en docs/ARCHITECTURE.md §5
src/components ui/ (primitivas), shell/, recordings/, cards/, debates/, ...
src/lib supabase/, ai/, audio/, telemetry/, reports/, types/
supabase/migrations 001_init → 004_integration (fuente de verdad del esquema)
scripts db.sh, gen-types.sh, push.sh
public sw.js, icons/, manifest (src/app/manifest.ts)