Sistema de autogestión para estudiantes de la Ucasal.
UcaNode toma como referencia un dashboard personal de Notion, pero funciona como una aplicación web independiente con PostgreSQL (Neon en producción). Permite organizar materias, entregas, horarios, links útiles y datos del perfil académico desde una interfaz hecha con Next.js.
Producción: https://ucanode.app
- Registro y login con verificación de email (Resend, dominio
mail.ucanode.app). - Onboarding inicial (tras login y verificación de email): selección de carrera y carga lazy del plan de estudios desde JSON.
- Login como punto de entrada; listado de carreras disponibles en la pantalla de acceso.
- Dashboard con próximas entregas, clases del día, materias en curso y links favoritos.
- Gestión de materias en catálogo de tarjetas (año/semestre, estados y correlatividades).
- Calendario/listado de entregas por materia, tipo, fecha, prioridad y estado.
- Grilla semanal de horarios (materias en cursada / para finalizar).
- Concurrencia del campus en tiempo casi real vía CampuStatus.
- Administración de links externos frecuentes.
- Perfil del estudiante.
- Tema claro/oscuro y sidebar colapsable.
| Capa | Tecnología |
|---|---|
| Framework | Next.js 16 App Router |
| UI | React 19 + Tailwind CSS 4 |
| ORM | Prisma 7 |
| Base de datos | PostgreSQL (Neon en producción) |
| Validación | Zod |
Resend (mail.ucanode.app) |
|
| Tests | Vitest |
Requisitos:
- Node.js 20.9 o superior.
- npm.
- PostgreSQL (Neon recomendado; ver Deploy).
El proyecto incluye .nvmrc con Node 22:
nvm use
cp .env.example .env # DATABASE_URL, Resend (RESEND_API_KEY, EMAIL_FROM) y APP_URL
npm install
npx prisma generate
npm run db:migrate
npm run db:seed
npm run devAbrí http://localhost:3000.
| Comando | Descripción |
|---|---|
npm run dev |
Levanta el servidor de desarrollo |
npm run build |
Genera Prisma Client, aplica migraciones y compila producción |
npm run start |
Inicia el servidor de producción |
npm run lint |
Ejecuta ESLint |
npm run test |
Ejecuta tests con Vitest |
npm run validate:plan |
Valida un JSON de plan de estudio |
npm run db:migrate |
Crea/aplica migraciones de desarrollo |
npm run db:deploy |
Aplica migraciones en producción (también en build de Vercel) |
npm run db:seed |
Carga datos de ejemplo (solo desarrollo) |
npm run db:reset |
Reinicia migraciones y seed (solo desarrollo) |
La documentación técnica vive en la wiki del repo:
- Inicio de la wiki
- Arquitectura
- Modelo de datos
- Rutas y flujos
- Guía de desarrollo
- Deploy en Vercel + Neon
- Estructura del proyecto
Notion fue la referencia de diseño inicial. Los datos de UcaNode viven en PostgreSQL y no se sincronizan con Notion.
UcaNode se distribuye bajo la Licencia MIT. Copyright (c) 2026 lautioliver.