ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Derecho de las Nuevas Tecnologías y Bioderecho en el Siglo XXI. Un campus que procesa las clases con IA. Desarrollado por el Laboratorio de IA, Innovación y Transformación Digital DYNTEC.
Translation pending
EducationTypeScript · PLpgSQLGitHub @Marcusa93OnlineOwner 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
Loading the full README. The saved excerpt is shown below.
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.mdRead the full 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)