-
Notifications
You must be signed in to change notification settings - Fork 1
SPRINT 2


Dos semanas
Establecer todas las funcionalidades de cada Rol. Que el cliente pueda buscar resturantes ademas de realizar un pedido correctamente, incluyendo metodo de pago, el restaurante debe poder añadir, editar y eliminar los diferentes platos y menus, y por último que el repartidor pueda llevar a cabo un reparto correctamente.
El tablero Kanban se organiza en cinco columnas: Backlog, Ready, In Progress, In Review y Done, lo que permite al equipo visualizar y priorizar tareas.
1. Backlog
La columna "Backlog" contiene tareas identificadas como esenciales para el proyecto pero que aún no han sido iniciadas:
Dar de alta/modificar menú: Permitir que los administradores de restaurantes creen y editen sus menús. Esta funcionalidad implica un formulario que permite agregar platos y precios, lo que posibilita que los clientes vean la oferta actualizada en tiempo real.
Servicio de entrega: Este servicio conecta el menú seleccionado por el cliente con el proceso de entrega, desde el restaurante hasta el destino del cliente. El sistema debe calcular automáticamente el repartidor más adecuado en función de la distancia, disponibilidad y eficiencia histórica, enviando una notificación al repartidor seleccionado.
Marcar favorito: Esta funcionalidad permitirá a los clientes marcar como favoritos ciertos restaurantes durante la búsqueda. Esto les permite crear una lista personalizada de restaurantes preferidos, facilitando el acceso rápido en futuras ocasiones.
Buscar restaurante: Esta tarea permite a cualquier usuario, tanto registrado como anónimo, buscar y explorar la lista de restaurantes disponibles en la plataforma. La funcionalidad incluirá opciones de búsqueda para que los usuarios puedan encontrar fácilmente los restaurantes que mejor se ajusten a sus preferencias o ubicación.
Realizar pedido: Esta es una de las funcionalidades principales para los clientes, que les permite seleccionar un restaurante, añadir productos del menú a su pedido, y confirmar los detalles de entrega y pago. La implementación de esta funcionalidad también incluirá el cálculo automático del costo total.
Registrar recogida pedido: Esta funcionalidad está destinada a los repartidores, quienes deberán registrar la recogida de un pedido en el restaurante antes de entregarlo al cliente. Esto permite hacer un seguimiento de cada pedido y verificar que los repartidores cumplan con las instrucciones de entrega.
Registrar entrega al cliente: Una vez el repartidor haya entregado el pedido, el usuario marcará el pedido como entregado. La actualización en el sistema facilita la generación de métricas sobre la eficiencia del repartidor y la satisfacción del cliente, además de cerrar el proceso de pedido.
2. Ready
La columna "Ready" incluye tareas que están listas para comenzar y que se consideran prioritarias para lograr el objetivo del sprint. Estas tareas incluyen funcionalidades esenciales para la autenticación, gestión de roles, interfaz visual, y aspectos de seguridad:
Dar de alta/modificar menú: Permitir que los administradores de restaurantes creen y editen sus menús. Esta funcionalidad implica un formulario que permite agregar platos y precios, lo que posibilita que los clientes vean la oferta actualizada en tiempo real.
Servicio de entrega: Este servicio conecta el menú seleccionado por el cliente con el proceso de entrega, desde el restaurante hasta el destino del cliente. El sistema debe calcular automáticamente el repartidor más adecuado en función de la distancia, disponibilidad y eficiencia histórica, enviando una notificación al repartidor seleccionado.
Marcar favorito: Esta funcionalidad permitirá a los clientes marcar como favoritos ciertos restaurantes durante la búsqueda. Esto les permite crear una lista personalizada de restaurantes preferidos, facilitando el acceso rápido en futuras ocasiones.
Buscar restaurante: Esta tarea permite a cualquier usuario, tanto registrado como anónimo, buscar y explorar la lista de restaurantes disponibles en la plataforma. La funcionalidad incluirá opciones de búsqueda para que los usuarios puedan encontrar fácilmente los restaurantes que mejor se ajusten a sus preferencias o ubicación.
Realizar pedido: Esta es una de las funcionalidades principales para los clientes, que les permite seleccionar un restaurante, añadir productos del menú a su pedido, y confirmar los detalles de entrega y pago. La implementación de esta funcionalidad también incluirá el cálculo automático del costo total.
Registrar recogida pedido: Esta funcionalidad está destinada a los repartidores, quienes deberán registrar la recogida de un pedido en el restaurante antes de entregarlo al cliente. Esto permite hacer un seguimiento de cada pedido y verificar que los repartidores cumplan con las instrucciones de entrega.
Registrar entrega al cliente: Una vez el repartidor haya entregado el pedido, el usuario marcará el pedido como entregado. La actualización en el sistema facilita la generación de métricas sobre la eficiencia del repartidor y la satisfacción del cliente, además de cerrar el proceso de pedido.
Solución de errores de seguridad: Identificar y solucionar problemas de seguridad en la aplicación, como vulnerabilidades en el proceso de autenticación, manejo de sesiones, y validación de datos en los formularios. Esta tarea es fundamental para proteger la información de los usuarios y asegurar un entorno confiable.
Documentar proyecto: Documentar en el wiki GitHub los procesos que se llevan a cabo a lo largo de los diferentes Sprints.
3. In Progress
En esta columna se encuentra el Sprint 2, en el cual se implementara todas las funcionalidades mencionadas anteriormente.
4. In Review
Esta columna también está vacía al inicio del sprint, pero se espera que una vez completadas, las tareas pasen a esta columna para revisión final. Aquí, los desarrolladores y revisores se asegurarán de que cada funcionalidad cumpla con los requisitos antes de su aprobación.
5. Done
La columna Done se utiliza para registrar todas las tareas que han sido completadas y aprobadas tras la revisión. Estas tareas han pasado por todas las etapas anteriores y cumplen con los estándares de calidad definidos para el proyecto. La columna "Done" es una referencia visual de los logros alcanzados en el sprint y permite al equipo evaluar su progreso hacia los objetivos generales del proyecto.
En este Sprint hemos desarrollado varias funcionalidades para cada rol.
Funcionalidades del restaurante
Hemos implementado una página /homeRestaurante, la cual permite al restaurante realizar acciones generales como son: crear menú, crear plato, y/o en su defecto editarlos. Además, cada menú podrá estar compuesto de los platos anteriormente creados. También, hemos barajado la opción de no poder eliminar un plato, cuando este pertenezca a un menú.
En esta página podemos editar los datos sobre el restaurante, como lo son el nombre y la dirección.
Funcionalidades del cliente
Hemos implementado una página /homeCliente en la que se encuentra el buscador del restaurante, con su implementación funcional la cuál no se desarrollo en el Sprint 2. Además tenemos otra sección llamada Restaurantes favoritos, donde aparecerán los restaurantes que ha marcado como favorito el cliente. Desde esta sección el cliente podrá realizar el pedido directamente sin tener que buscar el restaurante.
Además encontramos otras dos secciones llamadas Pedidos en curso y Pedidos anteriores, donde aparecerán los pedidos que están en curso y una vez marcado como pedido entregado, pasará a la sección Pedidos anteriores.
Una vez pulsado el boton de Realizar pedido, en el restaurante elegido, nos derivará a la pagina /realizar_pedido, donde aparecerá la información del restaurante junto con los menús disponibles. El cliente podrá añadir al carrito el o los menús deseados pulsando el botón Añadir al carrito. Para proceder al pago del pedido se pulsará sobre el icono del carrito, el cual nos mostrará la información de pedido (menús y total a pagar). Si el cliente está de acuerdo con el pedido pulsará el botón Proceder al pago, que lo redirigirá a la página /pago, en la cual deberá introducir la dirección de entrega junto con el método de pago junto con la información correspondiente. Esta acción terminará pulsando el botón Realizar pedido.
Además de implementar estas funcionalidades, hemos mejorado funcionalidades del Sprint 1. Una de ellas es el cifrado de contraseñas a la hora de registrarse cualquier cliente, repartidor o restaurante. Esto permite que cuando usuario establezca la contraseña, antes de llegar a la base de datos, esta se cifra de tal forma que solo el propio usuario sabrá cual es la contraseña, como medida de seguridad avanzada.