Fuego Abierto Web
Fuego Abierto Web es la cara pública del ecosistema Fuego Abierto GelSoft: un portal que combina una landing pública —torneos activos, liga, hall de la fama y contacto— con una zona privada de jugador protegida por autenticación JWT. Los jugadores pueden registrarse por email y contraseña o con Google OAuth, e ingresar a un perfil personal donde visualizan su rango militar (desde Recluta hasta Mariscal de Campo), la barra de progreso hacia el siguiente ascenso, sus estadísticas de partidas, victorias, derrotas y ratio V/D, sus equipos activos, torneos inscritos e historial de partidas. El sitio consume la API REST del backend NestJS de Fuego Abierto, manteniendo la sesión persistida en el cliente y cerrando sesión automáticamente cuando el token expira.

Tecnologías usadas:
Front End:
Aplicación construida con React 19, TypeScript y Vite, estilizada con Tailwind CSS v4 bajo una estética militar brutalista en rojo y negro. El estado de autenticación se gestiona con Zustand y persistencia en localStorage, mientras los formularios de registro e inicio de sesión usan React Hook Form con validación Zod. La navegación combina rutas públicas y privadas con React Router v7, protegiendo la sección de jugador. La comunicación HTTP se resuelve con un cliente Axios centralizado que incluye reintentos automáticos (axios-retry) ante errores de red o del servidor, un interceptor que inyecta el token JWT en cada petición y gestiona la expiración de sesión, y notificaciones con Sonner. Incorpora login social con @react-oauth/google, iconografía con lucide-react y animaciones de aparición basadas en IntersectionObserver para dar dinamismo a las secciones públicas.
Axios
React
TypeScript
Vite
Tailwind
Back End:
Este repositorio es un cliente puro sin backend propio: consume la API REST del sistema de gestión Fuego Abierto GelSoft (NestJS, TypeORM, MySQL), autenticándose mediante JWT contra los endpoints de registro, login y login con Google, y reutilizando la misma lógica de negocio de rangos, equipos, torneos y estadísticas que ya expone ese servicio.
- none

