Cocina - FactoriaF5-Asturias/project-p5-digital-academy-team2-restaurant-frontend GitHub Wiki
Cocina — Tablero de pedidos para el personal de cocina
Vista
El Dashboard de Cocina (/cocina) es un tablero tipo Kanban con 4 columnas — Nuevos, En Curso, Con Retraso, Listos — para que el personal de cocina vea de un vistazo todos los pedidos activos y vaya avanzando su estado a medida que los prepara. Requiere estar logueado con un usuario con rol KITCHEN.
- Cada columna muestra el número de pedidos que contiene.
- Cada tarjeta de pedido muestra el número de pedido, si es mesa o domicilio, el tiempo transcurrido y los productos.
- Acciones de cambio de estado en cada tarjeta: Empezar (Nuevos → En Curso), Listo (En Curso → Listos), Marcar Listo Urgente (Con Retraso → Listos).
Responsables y tareas
Responsable: Jenny Sánchez
| Tarea Jira |
Descripción |
Estado |
| GC-178 |
[HU-20] Ver el tablero de pedidos por estado |
Listo |
| GC-179 |
[HU-21] Cambiar el estado de un pedido |
Listo |
Entidades involucradas
| Archivo |
Tipo |
Función |
src/Views/KitchenDashboardView.vue |
Vista |
Tablero Kanban completo: columnas, tarjetas y acciones de cambio de estado |
Endpoints que consume
| Método |
Ruta |
Para qué |
GET |
/api/orders |
Cargar los pedidos del tablero (filtrable por status) |
PUT |
/api/orders/{id}/status |
Mover un pedido entre columnas, incluido pasarlo a DELAYED |
Cómo probarlo
- Arranca el back (Docker Desktop +
GoxuApplication) y el front (npm run dev).
- Inicia sesión con un usuario con rol
KITCHEN (p. ej. [email protected]).
- Abre
http://localhost:5173/cocina.
- Comprueba que:
- Aparecen las 4 columnas con sus contadores.
- Al pulsar "Empezar" en una tarjeta de "Nuevos", pasa a "En Curso".
- Al pulsar "Listo", pasa a "Listos".
- Al pulsar "Marcar Listo Urgente" en una tarjeta "Con Retraso", pasa a "Listos".
Decisiones
- La columna "Con Retraso" se implementó igualmente aunque no apareciera en el mockup inicial (
Dashboard Cocina.png), porque sí estaba en el backlog (HU-20) — norma del equipo de completar lo que pida el backlog aunque falte en la foto del mockup.
- Estado local con
ref/computed, sin Pinia. ordersByColumn agrupa los pedidos por status, así que al cambiar el estado de un pedido la tarjeta "salta" de columna sola, sin lógica adicional.
- Accesibilidad como commits
refactor: separados. Encabezados semánticos, aria-label en contadores y aria-hidden en iconos decorativos, sin cambiar el comportamiento visible.
Limitaciones
- Los pedidos son mock data fija dentro de la vista; todavía no está conectada al backend real.
- No hay transición automática de un pedido a "Con Retraso" por tiempo de preparación — el cambio de estado siempre lo hace una persona a mano.