2
This commit is contained in:
@@ -0,0 +1,648 @@
|
||||
# 📖 Manual de Usuario — OnAPB
|
||||
### Sistema de Gestión de Asociación de Básquet
|
||||
> **Sitio:** [onapb.com](https://onapb.com)
|
||||
|
||||
---
|
||||
|
||||
## ¿A quién está dirigido este manual?
|
||||
|
||||
OnAPB es utilizado por cuatro tipos de personas. Este manual explica paso a paso qué puede hacer cada una:
|
||||
|
||||
| Capítulo | Perfil |
|
||||
|---|---|
|
||||
| [Capítulo 1](#cap1) | Visitantes (sin cuenta) |
|
||||
| [Capítulo 2](#cap2) | Jugadores federados |
|
||||
| [Capítulo 3](#cap3) | Aficionados / Hinchas |
|
||||
| [Capítulo 4](#cap4) | Administradores de Club |
|
||||
| [Capítulo 5](#cap5) | Súper Administradores (OnAPB) |
|
||||
|
||||
---
|
||||
|
||||
<a name="cap1"></a>
|
||||
## 📌 Capítulo 1 — Visitante (Sin cuenta)
|
||||
|
||||
Cualquier persona puede ingresar a **onapb.com** sin necesidad de registrarse y acceder a información pública de la liga.
|
||||
|
||||
### 1.1 Página de Inicio (`/`)
|
||||
|
||||
Al entrar al sitio el visitante encuentra:
|
||||
|
||||
- **Carrusel / Hero**: Diapositivas destacadas configuradas por la asociación (noticias importantes, convocatorias, avisos).
|
||||
- **Próximos Partidos**: Listado de los eventos más cercanos con día, hora y equipos.
|
||||
- **Noticias recientes**: Artículos publicados por OnAPB.
|
||||
- **Sponsors**: Franja rotativa con los patrocinadores de la liga visible en el pie de página.
|
||||
|
||||
### 1.2 Cartelera de Eventos (`/eventos`)
|
||||
|
||||
- Ver todos los partidos programados: próximos, en curso y finalizados.
|
||||
- Cada tarjeta de evento muestra: equipos, categoría, fecha, hora y sede.
|
||||
- Hacer clic en un evento abre el **detalle del partido** con información completa.
|
||||
- Si el partido ya fue jugado, se muestran los marcadores finales.
|
||||
|
||||
### 1.3 Tabla de Posiciones y Goleadores de Torneo
|
||||
|
||||
- Desde la sección de torneos se puede ver:
|
||||
- **Posiciones** por grupo o categoría.
|
||||
- **Tabla de goleadores** del torneo con puntos acumulados.
|
||||
- **Bracket de Playoffs**: diagrama del cuadro eliminatorio cuando corresponde.
|
||||
|
||||
### 1.4 Noticias (`/noticias`)
|
||||
|
||||
- Listado de artículos publicados por la asociación con imagen, título y texto completo.
|
||||
|
||||
### 1.5 Promociones y Lugares con Beneficios (`/promos`)
|
||||
|
||||
- Mapa y/o listado de locales comerciales asociados que ofrecen descuentos a miembros de OnAPB.
|
||||
- Ver información de cada comercio (nombre, dirección, beneficio).
|
||||
- Para **obtener el QR de descuento** es necesario tener una cuenta y estar logueado.
|
||||
|
||||
### 1.6 Registrarse (`/asociate`)
|
||||
|
||||
Para obtener todos los beneficios del sistema, el visitante puede crear una cuenta. Existen dos vías:
|
||||
|
||||
#### Vía A — Registrarse como Aficionado
|
||||
1. Ir a `/asociate` y seleccionar la pestaña **"Soy Aficionado"**.
|
||||
2. Completar el formulario: Nombre, Apellido, DNI, Email, Fecha de Nacimiento (opcional), Teléfono (opcional), Localidad (opcional), Contraseña.
|
||||
3. Resolver el **captcha de seguridad** (Cloudflare Turnstile).
|
||||
4. Hacer clic en **Registrarme**.
|
||||
5. El sistema envía un **correo de bienvenida** a la dirección ingresada.
|
||||
6. ✅ Listo. Ya se puede iniciar sesión con DNI y contraseña.
|
||||
|
||||
#### Vía B — Activar cuenta como Jugador Federado
|
||||
> *Para jugadores que ya fueron cargados en el sistema por el administrador de su club.*
|
||||
|
||||
1. Ir a `/asociate` y seleccionar la pestaña **"Soy Jugador"**.
|
||||
2. Ingresar Nombre, Apellido y DNI (tal como aparecen en la ficha).
|
||||
3. Aceptar los términos y hacer clic en **Buscar**.
|
||||
4. El sistema valida los datos con el padrón. Si hay coincidencia, muestra la ficha del jugador (nombre, club, categoría).
|
||||
5. Completar el formulario de activación: Email, Teléfono (opcional), Contraseña.
|
||||
6. Resolver el **captcha de seguridad**.
|
||||
7. Hacer clic en **Activar mi cuenta**.
|
||||
8. El sistema envía un **correo de bienvenida**.
|
||||
9. ✅ Listo. La cuenta queda activa y se puede iniciar sesión.
|
||||
|
||||
> **Nota:** Si el DNI no se encuentra en el padrón de jugadores, el sistema sugiere registrarse como Aficionado.
|
||||
|
||||
### 1.7 Iniciar Sesión
|
||||
|
||||
- Desde el menú superior hacer clic en **"Iniciar Sesión"** o ir a la pantalla de login.
|
||||
- Se muestra un formulario con dos pestañas:
|
||||
- **Jugadores / Aficionados**: ingresar DNI y contraseña + captcha.
|
||||
- **Administradores**: ingresar usuario y contraseña + captcha.
|
||||
|
||||
### 1.8 Recuperar Contraseña (`/recuperar`)
|
||||
|
||||
En caso de olvidar la contraseña:
|
||||
1. Ir a `/recuperar`.
|
||||
2. Ingresar el **DNI** y la **dirección de email** asociados a la cuenta.
|
||||
3. El sistema envía un enlace de restablecimiento válido por **1 hora**.
|
||||
4. Hacer clic en el enlace del correo y establecer la nueva contraseña (mínimo 6 caracteres, requiere confirmación).
|
||||
|
||||
---
|
||||
|
||||
<a name="cap2"></a>
|
||||
## 🏅 Capítulo 2 — Jugador Federado
|
||||
|
||||
Un jugador que ya activó su cuenta (Vía B de `/asociate`) tiene acceso a un **Panel de Usuario** con funcionalidades específicas para deportistas federados.
|
||||
|
||||
### 2.1 Iniciar Sesión
|
||||
|
||||
- En la pantalla de login, pestaña **"Jugadores / Aficionados"**.
|
||||
- Ingresar **DNI** y **contraseña**.
|
||||
- El sistema detecta automáticamente si la cuenta corresponde a un Jugador o Aficionado.
|
||||
|
||||
### 2.2 Panel de Usuario (`/panel-usuario`)
|
||||
|
||||
Al acceder al panel, el jugador ve de un vistazo:
|
||||
|
||||
- Sus **datos personales**: nombre, DNI, club, categoría calculada automáticamente por edad.
|
||||
- Sus **equipos asignados** (puede pertenecer a varios equipos dentro de su club).
|
||||
- **Resumen de QRs**: cantidad de pases de eventos solicitados.
|
||||
- **Notificaciones** del sistema (ícono en el menú superior con contador).
|
||||
|
||||
### 2.3 Solicitar QR para un Partido
|
||||
|
||||
Esta es la funcionalidad principal del jugador federado. Permite obtener un **código QR de acceso** a un evento.
|
||||
|
||||
**Pasos:**
|
||||
1. Desde el menú público o desde el panel, ir a **Eventos** y buscar el partido deseado.
|
||||
2. Entrar al **detalle del partido**.
|
||||
3. Si el partido está en estado *Próximo* o *En Curso*, aparece el botón **"Solicitar QR"**.
|
||||
4. Hacer clic en el botón. El sistema verifica automáticamente:
|
||||
- Si el jugador **pertenece a uno de los equipos** del partido → genera la cantidad de QRs configurada (por defecto 3, para repartir entre familiares/acompañantes). Tipo: `invitado`.
|
||||
- Si el jugador es de **categoría Libre** pero no juega ese partido → genera 1 QR con descuento del 50%. Tipo: `libre_50`.
|
||||
- Si el jugador no cumple ninguna condición → el botón no estará disponible o muestra un mensaje explicativo.
|
||||
5. ✅ El sistema genera los QRs y envía un **correo con los códigos** al email registrado.
|
||||
6. El jugador es redirigido automáticamente a **Mis QRs** para ver los códigos generados.
|
||||
|
||||
> **Restricción:** Solo se puede solicitar QR una vez por partido. Si ya se solicitó, el botón queda inhabilitado con un mensaje informativo.
|
||||
|
||||
### 2.4 Mis QRs (`/panel-usuario/mis-qrs`)
|
||||
|
||||
- Lista de todos los códigos QR del jugador, ordenados del más reciente al más antiguo.
|
||||
- Cada QR muestra:
|
||||
- Imagen del código QR (escaneable)
|
||||
- Evento al que pertenece (equipos, fecha, hora)
|
||||
- Estado: **Válido** / **Usado** (según si fue escaneado en puerta)
|
||||
- Tipo de QR (invitado, libre_50, etc.)
|
||||
- Se puede filtrar por evento específico.
|
||||
|
||||
### 2.5 Beneficios de Promociones
|
||||
|
||||
1. Ir a **Promos** desde el menú principal.
|
||||
2. Ver el mapa/listado de locales con beneficios.
|
||||
3. Hacer clic en **"Obtener mi QR de beneficio"** en el local deseado.
|
||||
4. El sistema genera un **QR de descuento único** para ese local.
|
||||
5. Ver el QR en pantalla para presentarlo en el comercio.
|
||||
|
||||
> **Restricción:** Solo se puede generar 1 QR por local por usuario.
|
||||
|
||||
### 2.6 Seguir Equipos
|
||||
|
||||
- Desde la página pública de un equipo (`/equipos/{id}`), hacer clic en **"Seguir"**.
|
||||
- Acceder a **Mis Equipos Seguidos** desde el Panel para ver el historial de partidos de los equipos favoritos.
|
||||
- Hacer clic nuevamente en "Seguir" en un equipo ya seguido lo deja de seguir (toggle).
|
||||
|
||||
### 2.7 Notificaciones (`/notificaciones`)
|
||||
|
||||
- El ícono de campana en el menú muestra la cantidad de notificaciones no leídas.
|
||||
- Las notificaciones pueden ser generadas por el sistema automáticamente (ej: "Tus QRs para el partido del sábado están disponibles").
|
||||
- Desde el centro de notificaciones se puede:
|
||||
- **Marcar como leída** una notificación individual.
|
||||
- **Marcar todas como leídas**.
|
||||
- **Eliminar** notificaciones individuales.
|
||||
- **Eliminar todas** las notificaciones.
|
||||
|
||||
### 2.8 Editar Datos Personales
|
||||
|
||||
Desde el Panel de Usuario, sección **"Mi Cuenta"**:
|
||||
- Actualizar **email** y **teléfono**.
|
||||
- Los jugadores no pueden modificar su nombre, DNI o fecha de nacimiento (esos datos son gestionados por el admin del club).
|
||||
|
||||
### 2.9 Cambiar Contraseña
|
||||
|
||||
Desde el Panel de Usuario, sección **"Seguridad"**:
|
||||
1. Ingresar la contraseña actual.
|
||||
2. Ingresar la nueva contraseña (mínimo 6 caracteres).
|
||||
3. Confirmar la nueva contraseña.
|
||||
4. Guardar cambios.
|
||||
|
||||
### 2.10 Cerrar Sesión
|
||||
|
||||
- Hacer clic en **"Cerrar Sesión"** en el menú (esquina superior derecha o menú hamburguesa en móvil).
|
||||
- La sesión se cierra de forma segura.
|
||||
|
||||
---
|
||||
|
||||
<a name="cap3"></a>
|
||||
## 🎉 Capítulo 3 — Aficionado / Hincha
|
||||
|
||||
El aficionado tiene las mismas capacidades que el jugador en lo que respecta a disfrute de la plataforma, con algunas diferencias en la lógica de los QRs.
|
||||
|
||||
### 3.1 Inicio de Sesión y Registro
|
||||
|
||||
Idéntico al Jugador: login con DNI + contraseña. El registro es mediante la **Vía A** descripta en el Capítulo 1.
|
||||
|
||||
### 3.2 Panel de Usuario
|
||||
|
||||
Igual al del Jugador, con las siguientes diferencias visibles:
|
||||
- **No se muestra** información de club ni categoría federada.
|
||||
- El campo **"Localidad"** sí es editable (además de email y teléfono).
|
||||
|
||||
### 3.3 Solicitar QR para un Partido
|
||||
|
||||
El aficionado puede solicitar 1 QR por partido. A diferencia del jugador federado:
|
||||
- No hay distinción por equipo ni categoría.
|
||||
- Se genera 1 QR de tipo `publico`.
|
||||
- En el futuro (Fase 6), este QR estará sujeto al pago de la entrada; actualmente se genera de forma directa.
|
||||
|
||||
El proceso es idéntico a los pasos 1–5 del apartado 2.3.
|
||||
|
||||
### 3.4 Mis QRs, Promociones, Notificaciones y Cuenta
|
||||
|
||||
Funciona exactamente igual que para el Jugador (ver apartados 2.4 al 2.10).
|
||||
|
||||
---
|
||||
|
||||
<a name="cap4"></a>
|
||||
## 🏢 Capítulo 4 — Administrador de Club
|
||||
|
||||
El Admin de Club es el responsable designado de gestionar su institución dentro de OnAPB. Accede al panel de administración pero con alcance limitado exclusivamente a los datos de su club.
|
||||
|
||||
### 4.1 Inicio de Sesión
|
||||
|
||||
- En la pantalla de login, pestaña **"Administradores"**.
|
||||
- Ingresar **usuario** (asignado por un Súper Admin) y **contraseña**.
|
||||
|
||||
### 4.2 Dashboard del Admin de Club (`/admin`)
|
||||
|
||||
Al ingresar, el Admin de Club ve:
|
||||
- **Estadísticas rápidas** de su club: cantidad de equipos, jugadores y eventos relacionados.
|
||||
- Nombre e identificación de su club.
|
||||
- Accesos rápidos a los módulos disponibles.
|
||||
|
||||
### 4.3 Gestión de Jugadores (`/admin/jugadores`)
|
||||
|
||||
#### Ver listado de jugadores
|
||||
- Lista de todos los jugadores pertenecientes a su club.
|
||||
- Búsqueda por nombre, apellido o DNI.
|
||||
- Cada jugador muestra: nombre, DNI, fecha de nacimiento, categoría (calculada automáticamente) y estado (activo/inactivo).
|
||||
|
||||
#### Crear un nuevo jugador
|
||||
1. Hacer clic en **"Nuevo Jugador"**.
|
||||
2. Completar el formulario:
|
||||
- DNI, Nombre, Apellido, Fecha de Nacimiento.
|
||||
- Club de Origen (puede ser cualquier club del sistema — útil para jugadores con pase).
|
||||
- El campo "Club Actual" se asigna automáticamente al club del administrador.
|
||||
3. Guardar.
|
||||
4. El jugador se crea con estado **inactivo**. Necesitará completar su registro en `/asociate` para activar su cuenta.
|
||||
|
||||
> **Validación:** Si el DNI ya existe en el sistema, se muestra un error indicando a qué club pertenece el jugador actualmente.
|
||||
|
||||
#### Editar un jugador
|
||||
- Modificar datos básicos (nombre, apellido, fecha de nacimiento, teléfono).
|
||||
- No puede cambiar el club actual del jugador (eso requiere un pase gestionado por el SuperAdmin).
|
||||
|
||||
#### Eliminar un jugador
|
||||
- El jugador se marca como eliminado (SoftDelete). No se borra físicamente.
|
||||
|
||||
#### Importar jugadores desde CSV
|
||||
1. Hacer clic en **"Importar CSV"**.
|
||||
2. Subir un archivo CSV en formato CAB (Argentina Basketball) o formato interno.
|
||||
3. El sistema detecta automáticamente el formato y procesa cada fila.
|
||||
4. Al finalizar, muestra un resumen: nuevos creados, omitidos (ya existían), errores.
|
||||
|
||||
#### Exportar jugadores a CSV
|
||||
- Descargar el listado completo de jugadores del club en formato CSV.
|
||||
- Compatible con el reimportador interno del sistema.
|
||||
|
||||
### 4.4 Gestión de Equipos (`/admin/equipos`)
|
||||
|
||||
#### Ver listado de equipos
|
||||
- Lista de los equipos del club con cantidad de jugadores.
|
||||
|
||||
#### Crear un nuevo equipo
|
||||
1. Hacer clic en **"Nuevo Equipo"**.
|
||||
2. Seleccionar **Categoría** (ej: U13, U15, U17, Primera) y Division (A, B, etc.).
|
||||
3. El club se asigna automáticamente.
|
||||
|
||||
#### Editar y eliminar equipos
|
||||
- Modificar categoría y división.
|
||||
- Eliminar (SoftDelete).
|
||||
|
||||
#### Gestionar jugadores del equipo
|
||||
1. Desde el listado de equipos, hacer clic en el ícono de jugadores (**"Ver Plantel"**).
|
||||
2. Ver la lista de jugadores asignados a ese equipo.
|
||||
3. **Agregar jugador**: buscar por nombre/apellido/DNI (búsqueda en tiempo real) y hacer clic en "Agregar".
|
||||
- Solo se pueden agregar jugadores del mismo club.
|
||||
- El sistema previene la asignación duplicada.
|
||||
4. **Remover jugador**: hacer clic en "Quitar" al lado del jugador.
|
||||
|
||||
### 4.5 Editar Identidad Visual del Club (`/admin/clubes/{id}/editar`)
|
||||
|
||||
El Admin de Club puede personalizar la apariencia de su club dentro del sistema:
|
||||
|
||||
- **Logo/Escudo**: subir una imagen (JPEG, PNG, WEBP, máx. 1MB) que aparecerá asociada al club en toda la plataforma.
|
||||
- **Fondo de QR** (QR Background): subir una imagen que se usará como fondo decorativo en los códigos QR generados para los partidos de su club.
|
||||
- **Color de texto del QR**: ingresar un color hexadecimal para personalizar la tipografía sobre el QR.
|
||||
|
||||
### 4.6 Gestión de Pases / Traspasos (`/admin/pases`)
|
||||
|
||||
Los pases son solicitudes formales para transferir un jugador de un club a otro.
|
||||
|
||||
#### Solicitar un pase
|
||||
1. Ir a **Pases** y hacer clic en **"Nuevo Pase"**.
|
||||
2. Seleccionar el jugador a transferir y el club de destino.
|
||||
3. Enviar la solicitud.
|
||||
4. El Súper Admin recibirá la solicitud para aprobarla o rechazarla.
|
||||
|
||||
#### Ver estado de pases
|
||||
- Listado de todos los pases solicitados por el club.
|
||||
- Estado posible: **Pendiente**, **Aprobado**, **Rechazado**.
|
||||
|
||||
### 4.7 Escanear QR en Eventos (`/admin/escanear-qr`)
|
||||
|
||||
Esta funcionalidad es para usar en la puerta del evento el día del partido.
|
||||
|
||||
1. Ir a **"Escanear QR"** en el menú.
|
||||
2. Seleccionar el **evento** (partido) a gestionar. Solo aparecen eventos relacionados con su club.
|
||||
3. Activar la **cámara** del dispositivo o ingresar manualmente el código del QR.
|
||||
4. El sistema valida el QR en tiempo real:
|
||||
- ✅ **QR Válido**: muestra nombre del titular, tipo de QR y pasa el estado a "Usado".
|
||||
- ❌ **QR Inválido o Ya Usado**: muestra el error correspondiente.
|
||||
|
||||
### 4.8 Cerrar Sesión
|
||||
|
||||
- Hacer clic en **"Cerrar Sesión"** en el menú del panel administrador.
|
||||
|
||||
---
|
||||
|
||||
<a name="cap5"></a>
|
||||
## 👑 Capítulo 5 — Súper Administrador (OnAPB)
|
||||
|
||||
El Súper Admin tiene control total sobre todas las entidades del sistema. Es el personal de la asociación OnAPB.
|
||||
|
||||
### 5.1 Inicio de Sesión
|
||||
|
||||
Igual que el Admin de Club: pestaña "Administradores", usuario y contraseña.
|
||||
|
||||
### 5.2 Dashboard del Súper Admin (`/admin`)
|
||||
|
||||
Al ingresar, el Súper Admin ve:
|
||||
- **Estadísticas globales**: total de clubes, equipos, jugadores, eventos, promociones y noticias en todo el sistema.
|
||||
- Accesos rápidos a todos los módulos.
|
||||
|
||||
---
|
||||
|
||||
### 5.3 Módulo de Clubes (`/admin/clubes`)
|
||||
|
||||
#### Ver todos los clubes
|
||||
- Lista de todos los clubes registrados con conteo de equipos y jugadores.
|
||||
|
||||
#### Crear un club
|
||||
1. Clic en **"Nuevo Club"**.
|
||||
2. Ingresar ID Club (numérico) y Nombre.
|
||||
3. Guardar.
|
||||
|
||||
#### Editar un club
|
||||
- Modificar nombre, logo, fondo de QR y color de texto. (Igual que el Admin de Club pero con acceso a cambiar el nombre también).
|
||||
|
||||
#### Eliminar un club
|
||||
- El club se marca como eliminado (SoftDelete). Los equipos y jugadores asociados quedan preservados.
|
||||
|
||||
---
|
||||
|
||||
### 5.4 Módulo de Equipos (`/admin/equipos`)
|
||||
|
||||
Idéntico al del Admin de Club pero con visión global (todos los clubes). Al crear un equipo, el Súper Admin puede seleccionar cualquier club del sistema.
|
||||
|
||||
---
|
||||
|
||||
### 5.5 Módulo de Jugadores (`/admin/jugadores`)
|
||||
|
||||
#### Ver todos los jugadores
|
||||
- Lista global de todos los jugadores de todos los clubes.
|
||||
- Filtro por nombre, apellido o DNI.
|
||||
- Paginación de 25 registros por página.
|
||||
|
||||
#### Crear, editar, eliminar jugador
|
||||
- Idéntico al Admin de Club pero con acceso a cambiar el **Club Actual** (útil para finiquitar traspasos).
|
||||
|
||||
#### Importar / Exportar CSV
|
||||
- Importación masiva de jugadores en formato CAB, Interno o Legado.
|
||||
- Importar para un club específico (seleccionado en el formulario).
|
||||
|
||||
---
|
||||
|
||||
### 5.6 Módulo de Eventos / Partidos (`/admin/eventos`)
|
||||
|
||||
#### Ver todos los eventos
|
||||
- Lista de todos los partidos con filtros por estado: Próximos, En Curso, Finalizados.
|
||||
|
||||
#### Crear un nuevo partido
|
||||
1. Clic en **"Nuevo Evento"**.
|
||||
2. Completar:
|
||||
- **Nombre del evento** (generado automáticamente en base a equipos).
|
||||
- **Equipo Local** y **Equipo Visitante** (deben ser de la misma categoría y grupo si pertenecen a un torneo).
|
||||
- **Fecha**, **Hora de Inicio** y **Hora de Fin**.
|
||||
- **Sede**.
|
||||
- **Torneo** (opcional): asignar el evento a un torneo existente.
|
||||
- **Límite de QRs por jugador** (configurable).
|
||||
3. Guardar. El evento queda en estado **"Próximo"**.
|
||||
|
||||
#### Editar un partido
|
||||
- Modificar cualquier campo del evento.
|
||||
|
||||
#### Registrar resultados
|
||||
1. Desde el listado de eventos, entrar al evento.
|
||||
2. Ir a la sección **"Cargar Estadísticas"** o **"Resultado"**.
|
||||
3. Ingresar marcador local y marcador visitante.
|
||||
4. Registrar puntos individuales por jugador (para la tabla de goleadores).
|
||||
5. Guardar. El evento cambia automáticamente a estado **"Finalizado"**.
|
||||
|
||||
#### Eliminar un evento
|
||||
- El evento se marca como eliminado (SoftDelete). Los QRs asociados se limpian.
|
||||
|
||||
---
|
||||
|
||||
### 5.7 Módulo de Torneos (`/admin/torneos`)
|
||||
|
||||
#### Crear un torneo
|
||||
1. Clic en **"Nuevo Torneo"**.
|
||||
2. Ingresar nombre y año.
|
||||
3. Guardar.
|
||||
|
||||
#### Añadir equipos al torneo
|
||||
Desde la vista del torneo:
|
||||
1. Buscar el equipo a agregar.
|
||||
2. Asignarle un **grupo** (ej: Grupo A, Grupo B) si aplica.
|
||||
3. Guardar.
|
||||
|
||||
#### Generar Fixture de Fase Regular
|
||||
1. Desde el torneo, ir a **"Generar Fixture"**.
|
||||
2. Configurar la cantidad de vueltas (ida, ida y vuelta).
|
||||
3. El sistema genera un **preview** de todos los partidos a jugarse.
|
||||
4. Confirmar para crear los eventos en el sistema.
|
||||
|
||||
#### Importar resultados históricos
|
||||
- Subir un CSV con resultados de partidos ya jugados para cargar históricos de torneos anteriores.
|
||||
|
||||
#### Gestionar Playoffs
|
||||
1. Al finalizar la fase regular, ir a **"Playoffs"**.
|
||||
2. Configurar cuántos equipos clasifican a playoffs.
|
||||
3. Generar el bracket eliminatorio.
|
||||
4. A medida que se juegan los partidos, **"Avanzar ganador"** al siguiente cruce.
|
||||
|
||||
#### Ver posiciones y goleadores
|
||||
- Desde `/torneos/{id}/posiciones`: tabla de posiciones filtrable por grupo/categoría.
|
||||
- Desde `/torneos/{id}/goleadores`: ranking de anotadores.
|
||||
- Desde `/torneos/{id}/playoffs`: bracket visual del cuadro eliminatorio.
|
||||
|
||||
---
|
||||
|
||||
### 5.8 Módulo de Pases / Traspasos (`/admin/pases`)
|
||||
|
||||
#### Ver todos los pases
|
||||
- Lista de todas las solicitudes de traspaso pendientes, aprobadas y rechazadas.
|
||||
|
||||
#### Aprobar o rechazar un pase
|
||||
1. Desde el listado, hacer clic en el pase pendiente.
|
||||
2. Revisar los datos: jugador, club origen, club destino.
|
||||
3. Hacer clic en **"Aprobar"** → el jugador cambia de club automáticamente.
|
||||
4. O hacer clic en **"Rechazar"** → el pase queda como rechazado y el jugador permanece en su club actual.
|
||||
|
||||
#### Crear un pase directamente
|
||||
El Súper Admin puede ejecutar una transferencia sin necesidad de solicitud previa, seleccionando jugador, club destino y guardando.
|
||||
|
||||
---
|
||||
|
||||
### 5.9 Módulo de Noticias (`/admin/noticias`)
|
||||
|
||||
#### Crear una noticia
|
||||
1. Clic en **"Nueva Noticia"**.
|
||||
2. Completar: Título, Contenido (texto largo), Imagen (opcional).
|
||||
3. Guardar. La noticia aparece en `/noticias`.
|
||||
|
||||
#### Editar y eliminar noticias
|
||||
- Actualizar cualquier campo.
|
||||
- Eliminar elimina la noticia del sitio público.
|
||||
|
||||
---
|
||||
|
||||
### 5.10 Módulo de Promociones (`/admin/promociones`)
|
||||
|
||||
#### Crear una promoción / local con beneficio
|
||||
1. Clic en **"Nueva Promoción"**.
|
||||
2. Completar: Nombre del local, Descripción del beneficio, Dirección, Imagen, Coordenadas (para el mapa).
|
||||
3. Guardar. El local aparece en `/promos`.
|
||||
|
||||
#### Editar y eliminar promociones
|
||||
- Actualizar información del local.
|
||||
- Eliminar la promoción del sistema.
|
||||
|
||||
---
|
||||
|
||||
### 5.11 Módulo de Carrusel / Hero (`/admin/carousel`)
|
||||
|
||||
El carrusel es la sección de diapositivas destacadas en la portada del sitio.
|
||||
|
||||
#### Agregar una diapositiva
|
||||
1. Clic en **"Nueva Diapositiva"**.
|
||||
2. Subir una imagen (recomendado: formato ancho/horizontal).
|
||||
3. Completar un enlace opcional (ej: enlace a una noticia o evento).
|
||||
4. Guardar.
|
||||
|
||||
#### Editar y eliminar diapositivas
|
||||
- Actualizar imagen o enlace.
|
||||
- Eliminar la diapositiva del carrusel.
|
||||
|
||||
---
|
||||
|
||||
### 5.12 Módulo de Sponsors (`/admin/sponsors`)
|
||||
|
||||
#### Agregar un sponsor
|
||||
1. Clic en **"Nuevo Sponsor"**.
|
||||
2. Subir el logo del patrocinador.
|
||||
3. Ingresar URL del sitio del sponsor (opcional).
|
||||
4. Guardar. El logo aparece en la franja rotativa del pie de página.
|
||||
|
||||
#### Editar y eliminar sponsors
|
||||
- Reemplazar logo o cambiar URL.
|
||||
- Eliminar el sponsor de la franja.
|
||||
|
||||
---
|
||||
|
||||
### 5.13 Módulo de Usuarios Administradores (`/admin/usuarios`)
|
||||
|
||||
#### Ver todos los administradores
|
||||
- Lista de todos los usuarios con acceso al panel de administración.
|
||||
|
||||
#### Crear un nuevo administrador
|
||||
1. Clic en **"Nuevo Usuario Admin"**.
|
||||
2. Ingresar:
|
||||
- **Usuario** (nombre de login).
|
||||
- **Contraseña**.
|
||||
- **Rol**: `1 = Súper Admin` o `2 = Admin de Club`.
|
||||
- **Club** (solo si rol 2): asociar al club que administrará.
|
||||
3. Guardar.
|
||||
|
||||
#### Editar y eliminar administradores
|
||||
- Cambiar contraseña, rol o club asignado.
|
||||
- Eliminar el acceso de un administrador.
|
||||
|
||||
---
|
||||
|
||||
### 5.14 Módulo de Categorías (`/admin/categorias`)
|
||||
|
||||
Las categorías definen los rangos de edad de los jugadores (ej: U13 = 12-13 años).
|
||||
|
||||
#### Crear una categoría
|
||||
1. Ingresar nombre (ej: "U13"), edad mínima (ej: 12) y edad máxima (ej: 13).
|
||||
2. Marcar si es **"Categoría Libre"** (los jugadores de esta categoría obtienen 50% de descuento en entradas).
|
||||
3. Guardar.
|
||||
|
||||
#### Editar y eliminar categorías
|
||||
- Las categorías modificadas se aplican automáticamente a todos los jugadores ya existentes (la categoría se calcula dinámicamente).
|
||||
|
||||
---
|
||||
|
||||
### 5.15 Escanear QR en Eventos (`/admin/escanear-qr`)
|
||||
|
||||
Idéntico al del Admin de Club, pero con visión de todos los eventos del sistema. Ver apartado 4.7 para el proceso detallado.
|
||||
|
||||
---
|
||||
|
||||
### 5.16 Configuración General (`/admin/configuracion`)
|
||||
|
||||
Ajustes globales del sistema:
|
||||
- Frecuencia de backups automáticos.
|
||||
- Otros parámetros de comportamiento del sistema.
|
||||
|
||||
---
|
||||
|
||||
### 5.17 OnAPB Genius — Asistente de IA
|
||||
|
||||
El portal incluye un asistente conversacional basado en IA (Google Gemini) que permite consultar y operar el sistema mediante lenguaje natural. Se invoca desde el botón flotante del chat.
|
||||
|
||||
**Quién puede usar qué:**
|
||||
|
||||
| Rol | Tools disponibles |
|
||||
|---|---|
|
||||
| Visitante / Aficionado / Jugador | Chat de ayuda general del portal (sin acceso a operaciones) |
|
||||
| Administrador de Club | Solo tools de **lectura** |
|
||||
| Súper Administrador | Lectura + **escritura** + **rollback** |
|
||||
|
||||
**Tools disponibles para Súper Admin:**
|
||||
|
||||
**Lectura (consulta de datos):**
|
||||
- `listar_torneos` — Lista todos los torneos con ID, nombre y fechas. Usala cuando necesites buscar el ID de un torneo por su nombre.
|
||||
- `listar_equipos` — Lista equipos. Filtros opcionales: `id_torneo`, `grupo` ("A", "B", ...).
|
||||
- `listar_eventos` — Lista partidos. Filtros opcionales: `fecha_desde`, `fecha_hasta` (formato YYYY-MM-DD), `id_torneo`.
|
||||
|
||||
**Escritura (modifican la base de datos — requieren tu confirmación explícita):**
|
||||
- `crear_partido` — Crea un nuevo partido. Campos: `id_equipo_local`, `id_equipo_visitante`, `fecha_evento`, `hora_inicio`, `hora_fin`, `sede`, `id_torneo`.
|
||||
- `cargar_puntaje` — Actualiza el marcador de un partido existente. Campos: `id_evento` (UUID), `marcador_local`, `marcador_visitante`.
|
||||
- `redactar_noticia` — Publica una noticia. Campos: `titulo`, `contenido`, `id_torneo` (opcional), `categoria` (opcional).
|
||||
|
||||
**Rollback (deshacer una creación):**
|
||||
- `eliminar_noticia` — Borra una noticia por su `id_noticia` (numérico).
|
||||
- `eliminar_partido` — Borra (soft delete) un partido por su `id_evento` (UUID).
|
||||
|
||||
**Cómo se usa (flujo típico):**
|
||||
|
||||
1. Escribí en lenguaje natural lo que querés ("creá una noticia sobre el partido del sábado", "qué equipos hay en el torneo Apertura", "cargá el marcador del partido de ayer 78 a 65").
|
||||
2. Si pedís una acción de escritura, Genius **primero te muestra un resumen** con los datos a usar y te pregunta "¿Confirmás?". Tenés que responder "sí", "dale", "confirmo" u "ok" para que ejecute.
|
||||
3. Tras crear algo, Genius te devuelve el ID del recurso. Guardalo por si querés revertir.
|
||||
4. Para deshacer: pedile "eliminá la noticia ID X" o "borrá el partido que acabás de crear". Volverá a pedir confirmación antes de borrar.
|
||||
|
||||
**Buenas prácticas:**
|
||||
|
||||
- Si mencionás un torneo/equipo por nombre, Genius usa `listar_torneos` / `listar_equipos` para resolver el ID. No hace falta que lo sepas de memoria.
|
||||
- Verificá siempre el resumen de confirmación antes de responder "sí". La IA puede interpretar mal fechas o nombres ambiguos.
|
||||
- Si algo sale mal, revisá `storage/logs/laravel.log` donde quedan registrados los errores de las tools.
|
||||
- Los límites de la cuenta gratuita de Gemini están configurados en `.env` (`GENIUS_MAX_MESSAGES_PER_SESSION`, `GENIUS_SESSION_WINDOW_MINUTES`). Podés ajustarlos si cambia el uso.
|
||||
|
||||
---
|
||||
|
||||
## ❓ Preguntas Frecuentes
|
||||
|
||||
**¿Cómo sé si ya tengo una cuenta de jugador?**
|
||||
Si sos jugador federado, tu DNI ya está en el sistema cargado por el admin de tu club. Solo debés ir a `/asociate` → pestaña "Soy Jugador" e ingresar tus datos para activar la cuenta.
|
||||
|
||||
**¿Puedo tener cuenta de jugador Y de aficionado con el mismo DNI?**
|
||||
No. El sistema detecta si ya existe un registro (como jugador o aficionado) y te informa antes de permitir el registro.
|
||||
|
||||
**¿Qué pasa si el QR que generé fue escaneado?**
|
||||
El estado del QR cambia a "Usado" y no puede ser utilizado nuevamente. Cada QR tiene un solo uso.
|
||||
|
||||
**¿Puedo generar el QR de una promo más de una vez?**
|
||||
No. Por cada usuario y cada promoción, solo se puede generar un QR de beneficio.
|
||||
|
||||
**¿Qué significa cada tipo de QR?**
|
||||
- `invitado` → Jugador que pertenece a un equipo del partido. Puede generar múltiples (para acompañantes).
|
||||
- `libre_50` → Jugador de categoría Libre. Obtiene descuento del 50% en la entrada.
|
||||
- `publico` → Aficionado. Acceso estándar.
|
||||
|
||||
---
|
||||
|
||||
*Manual redactado para el Proyecto Integrador OnAPB — Taller de Integración, FCYT UADER 2026.*
|
||||
Reference in New Issue
Block a user