ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Plataforma para que colegios y universidades realicen exámenes en línea. La IA convierte señales dispersas en información estructurada; la decisión siempre es de una persona.
Translation pending
EducationTypeScript · CSSGitHub @mulettcastillo2018OnlineOwner 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
Sitio web para examenes virtuales.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Plataforma de exámenes en línea para colegios y universidades, con supervisión asistida por IA.
Demo en línea: examguard-mulett.vercel.app — entra con un clic como rectora, docente o estudiante (datos ficticios que se restablecen cada noche). Para ver la supervisión: entra como estudiante, abre el "Taller de repaso", autoriza la cámara y usa el simulador; luego, como docente, mira el monitoreo y la revisión.
La IA no decide que un estudiante hizo trampa. Detecta eventos (cambios de pestaña, inactividad, desconexiones), los organiza en señales con una explicación factual y recomienda revisar. La decisión siempre es de una persona.
En construcción por fases (ver roadmap).
| Capa | Tecnologías |
|---|---|
| Aplicación | Next.js 16 (App Router, Route Handlers, proxy.ts), React 19, TypeScript estricto |
| Interfaz | Tailwind CSS 4, shadcn/ui (Radix), lucide, next-intl (español, preparado para más idiomas) |
| Datos | PostgreSQL (Neon), Prisma |
| Autenticación | Better Auth (correo y contraseña, sin registro público), roles ADMIN / TEACHER / STUDENT |
| Supervisión | MediaPipe (detección de rostros en el navegador), Web Audio (nivel de sonido) |
| IA | Claude (API de Anthropic) para el resumen de quien revisa, con barreras y plantilla de respaldo |
| Calidad | Vitest (unitarias e integración), Playwright (E2E), ESLint, GitHub Actions |
| Producción | Vercel (aplicación y tarea diaria) con Neon, o Docker en un servidor propio |
Requisitos: Node.js 20.9+ y una base PostgreSQL (por ejemplo, un proyecto gratuito de Neon).
cp .env.example .env # DATABASE_URL, BETTER_AUTH_SECRET, SEED_PASSWORD...
npm install
npm run db:migrate # aplica las migraciones
npm run db:seed # institución de demostración con datos ficticios
npm run dev # http://localhost:3000
Con Docker: docker compose up --build (aplicación y PostgreSQL) y docker compose run --rm seed para los datos de demostración.
Cuentas de demostración (contraseña: la de SEED_PASSWORD):
| Rol | Correo |
|---|---|
| Rectora (administración) | [email protected] |
| Docentes | [email protected], [email protected] |
| Estudiantes | [email protected], [email protected] (menor, con autorización del acudiente), [email protected] (menor, sin ella), … |
connect-src 'self': nada sale a otros dominios, ni la telemetría de las librerías) y Permissions-Policy que limita cámara y micrófono al propio sitio.npm run typecheck # TypeScript
npm test # unitarias
npm run test:integration # contra la base de datos (crean y borran sus propios datos)
npm run test:e2e # Playwright, contra el build de producción y el seed
En GitHub Actions corren todas, además del lint y la verificación de que el esquema coincide con las migraciones, contra una base PostgreSQL nueva.
Este proyecto se desarrolla en una red que bloquea algunos paquetes con binarios. Lo que cambia está explicado en docs/DECISIONES.md:
next build con Google Fonts): NODE_OPTIONS=--use-system-ca..env.