Iris es una aplicación web diseñada para facilitar la administración y calificación de proyectos por parte de jurados en eventos académicos y competencias. El sistema permite gestionar eventos, equipos, evaluaciones y comentarios de manera eficiente y organizada.
Este proyecto fue desarrollado por estudiantes de la Universidad del Norte como parte de la materia Diseño de Software 2, bajo la dirección del profesor Daniel Romero. El objetivo es aplicar principios de ingeniería de software moderna y mejores prácticas en el desarrollo de aplicaciones web.
- 🎯 Gestión de Eventos: Creación y administración de eventos con fechas de inicio, fin e inscripción
- 👥 Gestión de Equipos: Organización de equipos participantes y sus miembros
- ⭐ Sistema de Evaluación: Calificación de proyectos por parte de jurados autorizados
- 💬 Comentarios y Discusiones: Sistema de retroalimentación y comunicación
- 🔐 Autenticación y Autorización: Control de acceso basado en roles
- 📊 Panel de Administración: Vista completa del estado de evaluaciones y participantes
Iris - Sistema de Evaluación de Proyectos
- 📎 Descripción
- 🗂️ Índice < Usted está aquí >
- 🚀 Tech Stack
- 🏗️ Arquitectura del Proyecto
- 🧑💻 Desarrollo Local
- 📜 Scripts Disponibles
- ☝️🖥️ ¿Cómo Contribuir?
- 👥 Equipo de Desarrollo
- Framework de React con renderizado del lado del servidor
- Biblioteca de JavaScript para construir interfaces de usuario
- JavaScript con tipado estático
- Framework CSS utility-first
- Biblioteca de componentes UI moderna y accesible
- Componentes UI primitivos sin estilos
- Biblioteca de animaciones para React
- Iconos modernos y personalizables
- Gestión de estado del servidor y caché
- Gestión de estado global ligera
- Manejo eficiente de formularios
- Validación de esquemas con TypeScript
- Framework de testing unitario
- Testing end-to-end
- Utilities para testing de componentes
- Linter para JavaScript/TypeScript
- Formateador de código
- Desarrollo y documentación de componentes UI
- Mocking de APIs para testing
- Git hooks para automatización
- Gestor de paquetes rápido y eficiente
Este proyecto sigue una arquitectura Feature-Based inspirada en Bulletproof React, que organiza el código por funcionalidades en lugar de por tipos de archivo.
src/
├── app/ # Páginas y rutas de Next.js
├── components/ # Componentes compartidos y UI base
│ └── ui/ # Componentes de interfaz reutilizables
├── config/ # Configuraciones de la aplicación
├── features/ # Funcionalidades principales
├── hooks/ # Custom hooks compartidos
├── lib/ # Utilidades y configuraciones de librerías
├── styles/ # Estilos globales
├── testing/ # Configuración y utilidades de testing
├── types/ # Tipos TypeScript globales
└── utils/ # Funciones auxiliares
Deberá tener instalado Node.js 18+ y pnpm
Si no tiene pnpm instalado, puede instalarlo con:
npm install -g pnpm-
Clone el repositorio:
git clone https://github.com/jorgeluissanchez/iris-front.git
-
Entre en el directorio del proyecto:
cd iris-front -
Instale las dependencias:
pnpm install
-
Configure las variables de entorno:
Cree un archivo
.env.localen la raíz del proyecto con las variables necesarias:# Linux/MacOS: cp .env.example .env.local # Windows: copy .env.example .env.local
-
Inicie el servidor de desarrollo:
# Frontend: pnpm run dev # Servidor de mocks (MSW): pnpm run run-mock-server
-
Abra el navegador en:
Diseño de Software 2
Profesor: Daniel Romero
Este proyecto es desarrollado por estudiantes de Ingeniería de Sistemas como parte de su formación académica en diseño y arquitectura de software.