Calendario - FactoriaF5-Asturias/project-p5-digital-academy-team2-restaurant-frontend GitHub Wiki
Calendario de eventos — Agenda anual del restaurante
Vista
El Calendario de eventos (/calendario-eventos) muestra todos los eventos gastronómicos del restaurante (cenas maridaje, jornadas, coloquios…), agrupados por mes y ordenados por fecha. Es público.
Cada evento muestra su imagen, fecha y hora, título, descripción, detalles y precio (o "Entrada gratuita").
Se llega desde la sección "Próximos eventos" de la página de Inicio, con el enlace "Ver calendario anual →".
Responsables y tareas
Responsable: Gema Miguel
| Tarea Jira | Descripción | Estado |
|---|---|---|
| GC-271 | [HU-34] Consultar el calendario anual de eventos | Historia |
| GC-272 | Crear la vista del calendario anual con los eventos agrupados por mes | Listo |
| GC-273 | Enlazar el calendario desde "Próximos eventos" de la Home | Listo |
| GC-274 | Conectar el calendario al back (GET /api/events) con estados de carga y error |
Listo |
Capturas
Entidades involucradas
| Archivo | Tipo | Función |
|---|---|---|
src/Views/Events/EventsCalendarView.vue |
Vista | Página del calendario: pinta los eventos agrupados por mes |
src/composables/useEvents.js |
Composable | Pide los eventos al back, les da formato y los agrupa por mes (eventsByMonth) |
public/events-img/ |
Imágenes | Fotos de los eventos |
Endpoints que consume
| Método | Ruta | Para qué |
|---|---|---|
GET |
/api/events |
Todos los eventos, ya ordenados por fecha desde el back |
La URL base se toma de la variable VITE_API_URL del archivo .env (ver .env.example).
Cómo probarlo
- Arranca el back (Docker Desktop +
GoxuApplication) y el front (npm run dev). - Abre
http://localhost:5173/calendario-eventos, o entra desde la página de Inicio con "Ver calendario anual →". - Comprueba que los eventos aparecen agrupados por mes ("Octubre 2026", "Noviembre 2026"…) y en orden de fecha.
- Con el back parado, debe aparecer el mensaje de error en lugar de los eventos.
Decisiones
- El agrupado por mes se hace en el composable.
useEventsexpone una propiedadcomputed,eventsByMonth, que agrupa los eventos. La vista solo los recorre conv-for. - La clave de cada grupo incluye el año. Así no se mezclan, por ejemplo, junio de 2026 y junio de 2027, y el título del grupo muestra también el año ("Junio 2027").
- El back ya devuelve los eventos ordenados, así que los grupos salen en orden sin tener que ordenarlos en el front.
- Estado compartido con la página de Inicio. Las dos vistas usan la misma lista de eventos de
useEvents. - Estados de carga y error. Mientras llegan los datos se muestra "Cargando eventos…", y si el back no responde, un mensaje de error.
Limitaciones
- Se muestran también los eventos pasados. A diferencia de