Plataforma web con matriz de calificaciones para evaluar participantes en actividades de assessment del Grupo NOVA EAFIT.
Para entender la arquitectura, el dominio y cómo contribuir, consulta los siguientes documentos:
- Guía de Onboarding (Paso a Paso): Cómo configurar tu entorno local y hacer tu primer login.
- Vista General de la Arquitectura: El flujo de datos (Next.js + Supabase) y patrones de código.
- Glosario de Dominio: Diccionario de términos técnicos y de negocio (Assessment, Base, Impostor, etc.).
- Especificación de API: Contratos detallados de todos los endpoints de
src/pages/api/. - Roles y Permisos: Matriz de acceso por pantalla y por endpoint.
- Decisiones de Arquitectura (ADRs): Registro de por qué se tomaron decisiones clave (Cookies, Group Scoping, etc.).
- Guía de Contribución: Reglas de Git, commits y Definition of Done.
- Solución de Problemas (Troubleshooting): Soluciones a errores comunes de auth y base de datos.
- Framework: Next.js 15 (App Router + Pages Router mixto)
- Lenguaje: TypeScript / React 19
- Estilos: Tailwind CSS (Integrado con variables CSS para consistencia).
- Validación: Zod (Validación de esquemas en runtime).
- Testing: Vitest + React Testing Library.
- Base de datos: Supabase (PostgreSQL)
- Requisitos: Node.js 20+, npm.
- Instalación:
npm install. - Tests:
npm testpara ejecutar la suite de pruebas. - Variables de Env: Copia
.env.examplea.env.localy completa los valores. - Desarrollo:
npm run devabrehttp://localhost:3000. - Datos Mock: (Opcional)
npm run db:seedgenera un assessment y calificadores temporales para poder probar.
src/
├── app/ # Rutas y Layouts (Thin Pages)
├── features/ # Módulos por funcionalidad (Hooks, Components, Schemas)
├── components/ # UI Atoms/Primitives (Button, Toast, Modal)
├── hooks/ # Hooks globales compartidos
├── lib/ # Utilidades core (Supabase, Auth, Helpers)
├── db/ # Esquema SQL y Políticas RLS
└── pages/api/ # API Endpoints (Backend)
Por favor, lee la Guía de Contribución antes de abrir un Pull Request.
- Usa el template de Requirement al crear issues.
- Sigue Conventional Commits (
feat:,fix:,docs:, etc.). - Asegúrate de que
npm run lintynpm run buildpasan sin errores.
MIT © Grupo Nova EAFIT