ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Sistema de gestión escolar para colegios públicos y privados. Automatiza notas, alumnos, reportes y procesos administrativos en una sola plataforma.
Translation pending
EducationTypeScript · PLpgSQLGitHub @xpestanaOnlineOwner 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.
Sistema de gestión escolar para colegios de Venezuela. Cubre el ciclo completo de un colegio en una sola plataforma: familias y estudiantes, inscripciones, docentes y asignaciones académicas, notas y boletas, asistencias por QR, aula virtual, cobranza y nómina. La aplicación es multi-colegio (multi-tenant): cada colegio opera sobre sus propios datos, con años escolares, formularios, formatos de impresión y perfiles de permisos independientes.Read the full README ↗
Sistema de gestión escolar para colegios de Venezuela. Cubre el ciclo completo de un colegio en una sola plataforma: familias y estudiantes, inscripciones, docentes y asignaciones académicas, notas y boletas, asistencias por QR, aula virtual, cobranza y nómina.
La aplicación es multi-colegio (multi-tenant): cada colegio opera sobre sus propios datos, con años escolares, formularios, formatos de impresión y perfiles de permisos independientes.
En producción. El frontend se despliega en Cloudflare Pages con cada push a main;
la base de datos y la lógica privilegiada corren sobre Supabase. También existe un
stack completo autoalojado con Docker Compose para desarrollo y respaldos.
| Capa | Tecnología |
|---|---|
| Frontend | React 18, TypeScript, Vite (SWC), React Router 6 |
| UI | Tailwind CSS, shadcn/ui (Radix), lucide-react |
| Datos | TanStack Query, Supabase JS |
| Backend | Supabase (PostgreSQL + RLS, Auth, Storage) y Edge Functions en Deno |
| Documentos | jsPDF, docx, xlsx-js-style, html2canvas, qrcode |
| Pruebas | Vitest, Testing Library |
| Infra | Docker + Nginx, GitHub Actions, Cloudflare Pages, AWS S3 |
| Rol | Alcance |
|---|---|
admin | Administración de la plataforma: alta de colegios, usuarios globales, importaciones. |
school | Personal del colegio. Puede ser propietario (acceso total) o sub-usuario con perfiles de permisos granulares. |
teacher | Docente: sus materias asignadas, carga de notas, asistencias y aula virtual. |
representative | Representante: su familia, sus estudiantes, estado de cuenta y pagos. |
git clone [email protected]:xpestana/satescolar.git
cd satescolar
npm install
cp .env.example .env
npm run dev
La aplicación queda en http://localhost:8080.
Para apuntar a Supabase basta con tres variables en .env:
VITE_SUPABASE_URL=
VITE_SUPABASE_PUBLISHABLE_KEY=
VITE_SUPABASE_PROJECT_ID=
El resto de variables de .env.example (PostgreSQL, JWT, SMTP, S3, Firecrawl) solo
hacen falta para el stack autoalojado.
docker-compose.yml levanta PostgreSQL, PostgREST, Auth, Storage, Edge Functions,
el gateway, Studio y el frontend compilado. Las migraciones se aplican solas al
arrancar mediante un runner que lleva registro en public._docker_migrations.
node scripts/generate-keys.js # genera JWT_SECRET, ANON_KEY y SERVICE_ROLE_KEY
docker compose up -d --build
http://localhost:3000http://localhost:8000http://localhost:54321 (protegido con Basic Auth)| Comando | Descripción |
|---|---|
npm run dev | Servidor de desarrollo con HMR |
npm run build | Compilación de producción |
npm run preview | Sirve el build local |
npm run lint | ESLint sobre todo el repositorio |
npm test | Pruebas con Vitest |
npm run test:watch | Pruebas en modo watch |
En scripts/ hay utilidades operativas: exportación de esquema y datos, importación
al entorno local, siembra desde producción, migraciones y configuración de CORS en S3.
src/
pages/ Vistas enrutadas, agrupadas por rol (admin, school, teacher, representative)
components/ Componentes de UI por dominio
hooks/ Estado y acceso a datos (React Query, sesión, permisos)
lib/ Lógica pura y generación de documentos (sin React, con pruebas)
integrations/ Cliente y tipos generados de Supabase
supabase/
functions/ Edge Functions en Deno (operaciones privilegiadas)
migrations/ Esquema versionado
docs/desc/ Documentación funcional por tema
scripts/ Utilidades de operación y datos
docker/ Configuración del stack autoalojado
docs/desc/ contiene un archivo por dominio funcional con casos de uso, rutas,
permisos, tablas y reglas de negocio. Es el punto de partida antes de tocar código.
Antes de implementar cualquier cosa, lee
docs/desc/CONVENTIONS.md. En resumen: identificadores en
inglés e interfaz en español, una responsabilidad por archivo, tipado estricto sin
any, lógica de negocio en src/lib/** siempre con pruebas, consultas acotadas por
school_id confiando en RLS, y toda operación privilegiada en una Edge Function —
la service_role nunca viaja al cliente.
.github/workflows/deploy.yml compila con Bun y publica en
Cloudflare Pages en cada push a main..github/workflows/backup.yml vuelca a diario el esquema public y
los usuarios de auth de la base de producción.Dockerfile genera la imagen del frontend (build con Bun, servido
por Nginx) que usa docker-compose.yml.Proyecto privado. Todos los derechos reservados.