Expediente 05 · Experiencia
GYM VANCOUVER
Una plataforma escolar que conecta administración, docentes, estudiantes y familias sobre una misma fuente de verdad.
- SvelteKit
- TypeScript
- Prisma
- PostgreSQL
- Tailwind CSS
- AVIF
El reto
Un colegio no tiene un usuario genérico: administración configura el año, docentes publican y evalúan, estudiantes siguen su trabajo y familias necesitan información oportuna. La reconstrucción debía conectar esos recorridos sin convertir la interfaz en un laberinto empresarial.

El enfoque
Reconstruí el sistema como una aplicación full-stack en SvelteKit con autorización en servidor y un modelo Prisma tipado sobre PostgreSQL. La navegación por rol mantiene cada superficie enfocada, mientras procesamiento de imágenes, reportes y generación documental viven detrás de límites explícitos del servidor.
Decisiones clave
- Usar una identidad con múltiples roles en lugar de duplicar personas entre portales separados.
- Aplicar límites por colegio y autorización en servidor para cada lectura y escritura.
- Tratar historial académico, imágenes y PDF según sus distintas necesidades de conservación y procesamiento.
Arquitectura técnica
Arquitectura full stack diseñada y construida de punta a punta por mí.
- 01 Experiencias por rol SvelteKit · TypeScript
Navegación enfocada para administración, docentes, estudiantes y familias.
- 02 Frontera de servidor SvelteKit server
Autenticación, autorización y acciones limitadas por colegio.
- 03 Modelo académico Prisma · PostgreSQL
Personas, grupos, períodos, notas, asistencia y cartera.
- 04 Medios y reportes AVIF · PDF
Imágenes optimizadas, boletines y documentos escolares.
Módulos
De qué está hecho el producto, tal como lo dividen sus propias pantallas.
- 01 Estudiantes y grupos
Matrícula, grupos y la familia detrás de cada estudiante.
- 02 Académico
Asignaturas, calificaciones y el calendario académico.
- 03 Asistencia
Asistencia diaria por grupo, con reportes.
- 04 Boletines
Boletines generados en PDF desde los mismos registros.
- 05 Cartera y pagos
Saldos, pagos y lo que debe cada familia.
- 06 Circulares y publicaciones
Circulares y publicaciones del colegio para las familias.
- 07 Archivos
Imágenes normalizadas a AVIF y documentos en blob storage.
Antes → después
- Antes
Portales separados e identidades duplicadas.
DespuésUna identidad capaz de asumir varios roles.
- Antes
Familias enterándose tarde del trabajo escolar.
DespuésActividades, asistencia y notas en un mismo lugar.
- Antes
Autorización implícita en la interfaz.
DespuésCada lectura y escritura validada en el servidor.
Tecnologías
- SvelteKit
- TypeScript
- Prisma
- PostgreSQL
- Tailwind CSS
- AVIF
El resto de la caja
- Zod
- Paraglide
- sharp
- React PDF
- Resend
- Azure Blob
- argon2
- Lucide
- Playwright
- Vercel
Marcas de Simple Icons; los conceptos sin marca están dibujados en casa.
Bitácora
ago 2026 → sept 2026 · 2 meses activos
- app app · 80 commits ago 2026 → sept 2026
En el árbol
- 32 rutas
- 30 modelos de datos
- 12 migraciones
- 29 archivos de prueba
- 448 archivos versionados
Leído del historial Git local el 6 oct 2026. Solo agregados.
El resultado
La reconstrucción funcional ya demuestra los cuatro recorridos con datos ficticios sembrados en módulos académicos, asistencia, comunicación y cartera. La versión actual incluye 31 rutas de producto y un conjunto documentado de capturas para revisar la experiencia sin tocar registros productivos.
Código privado — este archivo comparte el razonamiento, no el fuente.
