GPX Rally Management System es una aplicación web desarrollada con Next.js + TypeScript siguiendo la metodología Atomic Design. Esta herramienta está diseñada para gestionar eventos competitivos con roles diferenciados, permitiendo el registro de puntos de control, penalizaciones, clasificación por categoría y visualización detallada de resultados.
🌐 Aplicación Desplegada: https://gpx-front-8rip.vercel.app/
- Framework: Next.js
- Lenguaje: TypeScript
- Estilos: Tailwind CSS
- Diseño de componentes: Atomic Design (Atoms, Molecules, Organisms)
- Íconos: Iconify React
- Backend: Está contenido en otro repositorio
El proyecto sigue una arquitectura basada en Atomic Design:
/components
/atoms -> Botones, tipografías, iconos
/molecules -> Tarjetas, filas de datos, secciones con título + contenido
/organisms -> Secciones completas: Sidebar, Layout, Secciones de perfil
/pages -> Rutas principales (index, login, eventos, resultados...)
/context -> EventContext para compartir datos de eventos entre vistas
/public -> Imágenes usadas en las vistas
-
Clona el repositorio:
git clone https://github.com/GPX-PI/GPX-Front cd gpx-front -
Instala las dependencias:
npm install
-
Levanta el servidor de desarrollo:
npm run dev
-
Variables de entorno: Esta configuración se encuentra en el repositorio correspondiente al Backend
El login está diseñado para permitir ingreso solo a usuarios autorizados, como jueces o encargados del control.
- Los usuarios se cargan desde la base de datos.
- Si el usuario es válido, se redirige a la vista
/controlPointRegister. - Si no lo es, se muestra un mensaje de error sin cambiar de vista.
Button: Componente reutilizable con variantes de color, tamaño e iconos.
CompetenceRow: Fila de resultados o clasificaciones.VideoCard: Tarjeta con video y datos de video, toma URL de youtube y muestra el video.EventDescriptionCard: Tarjeta con info, imagen y detalles del evento personalizables.
UserCard: Tarjeta de perfil con botones personalizables.ControlPointRegister: Vista para registrar paso de participantes.UpcomingEvents: Vista con tarjetas de eventos próximos.EventDetails: Descripción de un evento seleccionado.ResultsTable: Tabla con resultados por categoría.
/Inicio/loginIngreso de jueces autorizados/controlPointRegisterRegistro de punto de control/penaltyRegisterRegistro de penalizaciones/resultsVista general de resultados/results/[category]Clasificación por categoría/upcoming-eventsEventos próximos y detalles
- Componentes adaptativos con
flex,grid,gap,min-h,overflow, etc. - Textos, botones y tablas adaptados a móvil, tablet y escritorio.
- Gráficos en tiempo real de resultados y movimientos
- Panel administrativo para control general
Toda mejora es bienvenida. Puedes crear un Pull Request o abrir un Issue para discutir nuevas funcionalidades o reportar errores.
MIT License. Puedes usarlo, modificarlo y adaptarlo libremente.