Plataforma para subir y compartir apuntes, parciales viejos y finales de la Licenciatura en Sistemas de la Universidad Nacional de Luján (UNLu).
Proyecto desarrollado por el CODES (Centro Organizado de Estudiantes de Sistemas · UNLu).
- De momento solo cubre la Licenciatura en Sistemas.
- El material se organiza por materia.
- Tipos de material: apuntes, parciales resueltos o tomados y finales.
| Tecnología | Para qué se usa | Dónde está |
|---|---|---|
| Astro 7 | Framework del sitio. Genera páginas estáticas en dist/. |
src/pages/, src/layouts/ |
Tailwind CSS 4 (vía @tailwindcss/vite) |
Estilos con clases utilitarias. La paleta y las fuentes se definen como tokens en @theme. |
src/styles/global.css |
| Literata y Public Sans | Tipografía de títulos (serif) y de texto (sans), desde Google Fonts. | src/layouts/Layout.astro |
Supabase (@supabase/supabase-js) |
Autenticación de usuarios con Google. | src/lib/supabase.ts, src/lib/sesion.ts |
| pnpm | Gestor de paquetes. El lockfile es pnpm-lock.yaml. |
pnpm-lock.yaml |
Requisitos: Node.js 22.12 o superior y pnpm.
Ver el material y subir apuntes requiere iniciar sesión con Google (no hay otros proveedores). Antes de entrar a esas secciones se abre un modal de inicio de sesión.
Para configurarlo:
- Copiar
.env.examplea.envy completarPUBLIC_SUPABASE_URLyPUBLIC_SUPABASE_ANON_KEY(Project Settings > API en Supabase). - En Supabase, habilitar sólo el proveedor Google (Authentication > Sign In / Providers). Deshabilitar el resto.
- En Authentication > URL Configuration, agregar a Redirect URLs la URL local (
http://localhost:4321/**) y la de producción. - En GitHub, cargar los secretos
PUBLIC_SUPABASE_URLyPUBLIC_SUPABASE_ANON_KEYpara el deploy.
Cada cuenta tiene un rol en la tabla perfiles:
estudiante: el rol por defecto. Se asigna solo al crear la cuenta.administrador: ve el botón Panel del navbar y la página/panel.
Para dar el rol de administrador, en el SQL editor de Supabase:
update public.perfiles
set rol = 'administrador'
where id = (select id from auth.users where email = 'correo@ejemplo.com');El cliente no puede cambiar el rol: sólo lo lee de su propia fila.
Se ejecutan desde la raíz del proyecto:
| Comando | Acción |
|---|---|
pnpm install |
Instala las dependencias |
pnpm dev |
Inicia el servidor de desarrollo en localhost:4321 |
pnpm build |
Genera el sitio de producción en ./dist/ |
pnpm preview |
Previsualiza el build antes de desplegar |
pnpm check:agentes |
Verifica que AGENTS.md y CLAUDE.md sean idénticos |
pnpm astro ... |
Ejecuta comandos de la CLI de Astro |
El repo tiene dos archivos con las reglas para agentes, y deben tener exactamente el mismo contenido:
CLAUDE.md: lo lee Claude Code.AGENTS.md: lo leen el resto de las herramientas de IA.
Para que no se desincronicen:
pnpm check:agentes(scripts/check-agentes.mjs) compara ambos archivos.- Corre automáticamente antes de
pnpm build(en el scriptprebuild), así que el build falla si difieren. - Para cambiar una regla, editá
CLAUDE.mdy copiá el archivo sobreAGENTS.md.
Las reglas principales son:
- Usar siempre pnpm. Nunca
npm,npxniyarn. - Los commits siguen Conventional Commits en español, por ejemplo
feat(inicio): agregar la página de inicio. - El servidor de desarrollo se inicia en segundo plano con
pnpm exec astro dev --background.
/
├── public/ # Archivos estáticos (favicon)
├── scripts/
│ └── check-agentes.mjs # Verifica que AGENTS.md y CLAUDE.md sean iguales
├── src/
│ ├── components/ # Piezas reutilizables: Header, Footer, Boton
│ ├── layouts/ # Layout.astro: estructura común de las páginas
│ ├── pages/ # Rutas: cada archivo es una página (index.astro)
│ └── styles/ # global.css: fuentes y paleta de colores
├── AGENTS.md # Reglas para agentes de IA
├── CLAUDE.md # Reglas para Claude Code
├── astro.config.mjs
└── package.json
- Los commits siguen Conventional Commits en español (ver
CLAUDE.md). - Usar siempre
pnpm; no se versionapackage-lock.jsonniyarn.lock.
- Berna: constructor de ApunteUNLu. Impulsó una alternativa mejorada y actualizada para compartir apuntes y finales de la Licenciatura en Sistemas.
- Pri: por el enorme trabajo de pensar y revisar todas las equivalencias entre los planes 17.13 y 17.14.
- CODES (Centro Organizado de Estudiantes de Sistemas · UNLu): desarrollo y mantenimiento de ApunteUNLu.
Los planes y equivalencias están documentados en docs/planes-y-equivalencias.md.
Este proyecto está bajo la Licencia MIT. Copyright © 2026 CODES (Centro Organizado de Estudiantes de Sistemas · UNLu).