Esta guía te llevará desde el clonado del repositorio hasta tu primera contribución. Sigue estos pasos para configurar tu entorno de desarrollo.
- Asegúrate de tener Node.js (v20+) y npm instalados.
- Clona el repositorio:
git clone https://github.com/gruponovaeafit/Assessment-GradingMatrix.git - Instala las dependencias:
npm install
- Copia el archivo de ejemplo:
cp .env.example .env.local - Solicita al líder técnico los valores para:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY(Solo para scripts)ADMIN_EMAILyADMIN_PASSWORD(Para acceso Superadmin local)JWT_SECRET(Debe coincidir con el de Supabase Auth si aplica)
- Levanta el servidor de desarrollo:
npm run dev - Abre
http://localhost:3000en tu navegador. - Intenta acceder al Panel Superadmin en
/k7v9x2q0m5p8n1t6z3r4w9y1usando las credenciales de tu.env.local.
Para probar las funcionalidades de Admin, Registrador o Calificador localmente:
- Vía Superadmin: Entra al panel superadmin, crea un
GrupoEstudiantily luego unAssessment. El flujo te permitirá crear un administrador inicial. - Vía Scripts: Puedes usar
node scripts/seed-supabase-demo.mjs(si está configurado) para poblar datos de prueba. - Vía Supabase Dashboard: Si tienes acceso al dashboard de Supabase, puedes insertar registros directamente en la tabla
Staffy luego hacer login con ese correo.
- "Recibo un error 401 al llamar a las APIs": Verifica que tu cookie de sesión siga activa. Si has reiniciado Supabase o cambiado el
JWT_SECRET, borra la cookiesessiondesde el panel de Application/Cookies en las DevTools de tu navegador, o simplemente vuelve a iniciar sesión para sobreescribirla. - "El build falla por variables faltantes": Next.js requiere ciertas variables en tiempo de compilación. Asegúrate de que
.env.localesté completo antes de ejecutarnpm run build. - "No puedo ver assessments en el panel admin": Recuerda que los admins ahora están filtrados por
ID_GrupoEstudiantil(ADR 0002). Verifica que tu usuario staff tenga asignado un grupo que posea assessments.
Para entender el "por qué" de lo que ves en el código, lee en este orden:
- Glosario de Dominio: Para hablar el mismo idioma que el código.
- Vista General de la Arquitectura: Para saber dónde poner tu nueva lógica.
- Roles y Permisos: Para no romper la seguridad.
- ADRs (Decisiones de Arquitectura): Para entender la evolución del sistema.