Universidad de Sevilla
Escuela Técnica Superior de Ingeniería Informática
Sprint 3
BanquetBuddy
Reviewer’s Guide
Grado en Ingeniería Informática – Ingeniería del Software
Ingeniería del Software y Práctica Profesional
Curso 2023 – 2024
Fecha | Versión |
---|---|
01/04/2024 | 1.0 |
22/04/2024 |
Grupo de prácticas: 8 | Tipo de contribución |
---|---|
Mario Sánchez Naranjo | Actualización del documento para el sprint 3 |
Índice de contenido
2.2 Funcionalidad de Catering 10
Listado de empleados para un servicio de catering 16
Listado de ofertas publicadas 19
Listado de empleados que han aplicado una oferta 21
Calendario: elección de servicio 22
2.3 Funcionalidad de Particular 24
2.4 Funcionalidad de Empleado 29
Listado de aplicaciones a ofertas enviadas 30
Datos necesarios para realizar la revisión 32
Requisitos potenciales para usar el sistema 33
1.Introducción
En este documento se proporciona una visión general concisa de las funcionalidades del software, incluyendo su propósito, características principales y cómo funcionan.
En este documento explicaremos las distintas funcionalidades implementadas hasta el momento en el software que estamos desarrollando, haciendo hincapié en cómo utilizar cada una de estas funcionalidades así como el propósito de estas y su rol en la aplicación.
También se hablará de cómo se ha revisado el software, cómo se ha probado cada funcionalidad, las pruebas de usabilidad y el análisis del código.
2. Funcionalidades
2.1 Funcionalidades Comunes
Login
Url: /login
Página inicial para acceso a la página si ya se dispone de un usuario.
Reseteo de contraseña
Url: /reset_password/
Página para que en caso de que un usuario no se acuerde de su contraseña tenga la posibilidad de recuperarla
Elección de registro
Url: /register_choice
Página para elegir el tipo de usuario con el que se quiere acceder a la aplicación.
Pasarela de pago
Página común para el procesamiento de pagos.
About-us
Url: /about-us
En esta página se muestran un poco de información relacionada con quienes somos, qué es banquetBuddy, cuales son nuestros servicios…
Información de contacto
Url: /contact
En esta página facilitamos nuestra información de contacto.
Preguntas frecuentes
Url: /faq
En esta página se muestran algunas preguntas frecuentes y respondemos a estas.
Política de privacidad
Url: /privacy-policy/
En esta página mostramos nuestra política de privacidad y todas las cláusulas relacionadas con esta en detalle
Términos y condiciones
Url: /terms-and-conditions
Reporte de errores
Url: /error-report
2.2 Funcionalidad de Catering
Registro Catering
Url: /register_company
Vista de registro de caterings, donde se puede registrar un catering seleccionando opciones como el tipo de plan que quieren contratar, la dirección de la compañía y el CIF (código de identificación fiscal).
Una vez hecho el registro,se deberá confirmar el correo electrónico que se ha ingresado durante el registro:
Listado de menús
Url: /list_menus/
Se muestra un listado con los menús que un catering tiene disponibles actualmente donde se pueden crear, editar y eliminar menús.
Añadir menú
Url: /add_menu
Para gestionar los menús de una compañía de catering,hay que iniciar primero sesión con la empresa de catering y dirigirse al perfil de usuario,donde se podrá ver el botón “My Menus”:
Esta vista ofrece tres posibilidades:Añadir un menú nuevo,eliminar un menú y editar menú.A continuación se mostrarían las siguientes vistas:
Formulario para añadir un nuevo menú al listado de menús del catering.
Editar Menú
Url: /edit_menu/<id>
Formulario desde donde se puede modificar la información actual de un menú.
Borrar Menu
URL: delete_menu/<id>
Botón para eliminar un menú de los actualmente disponibles.
Perfil de catering
Url: /profile
Página donde se muestran los datos de un perfil del tipo catering.
Editar perfil de catering
Url: /catering_profile_edit
Página donde se muestran los datos a editar de un perfil del tipo catering.
Planes de subscripción
Url: /subscription-plans
Página donde muestran los planes de suscripción disponibles con las características de cada uno y un botón con la opción de cancelar la suscripción,que se encuentra según el plan de subscripción que tenga(si no está suscrito no le saldrá el botón) y, si la persona no está suscrita se muestran botones en todos los planes que redirige a la pasarela de pago para cada plan.
Gestión de Servicios
Primero deberemos iniciar sesión como empresa de catering.Una vez hecho eso,podemos acceder a la pestaña de “Services” en la parte superior de la cabecera:
Una vez accedido a la pestaña de services,nos aparecerá todos nuestros servicios disponibles y la posibilidad de crear un servicio:
A continuación tendremos que rellenar el formulario que nos piden con datos correctos:
Si no hay errores durante el relleno del formulario,nos debería salir en el listado de caterings creados:
Podemos observar que tenemos tres opciones para tratar con los caterings:
- Employees:muestra la lista de empleados actualmente trabajando en ese servicio de catering.Si presionamos ese botón,aparecería la siguiente vista:
- **Edit:**Permite editar el servicio de catering.Al presionar el botón aparecería el formulario anterior en el que se puede modificar los valores actuales.
- **Delete:**Permite borrar el servicio de catering.Al presionar aparecerá una pestaña de doble confirmación para evitar borrar un catering por accidente:
Carta de recomendación a empleados
Al acceder al listado de empleados anterior,habrá notado que existe un botón para añadir carta de recomendación.Al presionar el botón,aparecerá la siguiente pantalla:
Tras guardar la carta de recomendación en el sistema,se mostrará que se ha enviado correctamente.
Listado de platos
Url: /plates
Listado de platos de un catering, donde se muestra el nombre del plato, el menú al que pertenece, una descripción, y el precio. Además ofrece las opciones de edición y eliminación de platos de un menú
Crear nuevo plato
Url: plates/add/

Permite a una compañía añadir un nuevo plato, asociándole un menú, precio, nombre y descripción.
Editar plato
Url: plates/<id>/edit/

Permite editar un plato ya publicado por un catering.
Eliminar plato
Url: plates/<id>/delete/

Permite eliminar un plato creado por una compañía catering.
Listado de ofertas publicadas
Url: /offer_list

Listado con las ofertas publicadas por el servicio catering con las opciones de crear una nueva oferta, editar una oferta, eliminar una oferta o ver las solicitudes de aplicaciones de los trabajadores
Contratación de empleo(CORE)
Se trata de una interacción MATCHMAKING,donde interviene por una parte el empleado y la empresa de catering.Esta interacción procede de la siguiente manera:
- Creación de oferta de empleo:La empresa con PLAN PREMIUM_PRO primero debe publicar la oferta de empleo a través de la sección “Offers”:
****
-
- Al acceder a “Offers”,saldrá un listado de las ofertas que la empresa ha publicado,dando la posibilidad de crear nuevas ofertas a través del botón offers:

-
- Tras rellenar el formulario de oferta,se verá la oferta que hemos publicado y el empleado podrá ver la oferta que hemos publicado:


-
- una vez aplicada,el empresario deberá aceptarla desde la vista de offers:



A continuación ya es decisión de la empresa contratar o no contratar al aspirante al puesto.
Permite crear una nueva oferta de empleo rellenando el formulario a través del listado de empleos en la pestaña “Offers”
Editar oferta
Url: /edit_offer/<id>Permite a una compañía catering editar una oferta ya publicada rellenando el formulario a través del listado de empleos en la pestaña “Offers”
Borrar oferta
Url: /delete_offer/<id>
Permite borrar una oferta a través del listado de ofertas de empleos en al sección “Offers”
Listado de empleados que han aplicado una oferta
Url: /applicants/<offer_id>

Permite ver los empleados que han aplicado a una oferta en concreto.
Reservas
Url: /view-reservations/<id>

Permite ver las reservas que una compañía de catering tiene.
Calendario: elección de servicio
Url: catering-calendar/

Permite seleccionar el servicio catering del cual se quiere visualizar el mes.
Calendario
Url: /catering-calendar/<id>/<año>/<mes>
Permite ver en un calendario las fechas en las que el servicio catering está reservado.
Gestión de tareas(PREMIUM)
Primero deberemos iniciar sesión como una empresa de catering que tenga el plan PREMIUM(la restricción de acceso no está todavía por un error de revisión),de otra forma se le denegará el acceso a dicha funcionalidad(si no hay ninguna empresa con ese plan de precios,puede usted aplicar a un plan superior con la información de tarjeta incluida en el apartado”requisitos potenciales para usar el sistema”).
Una vez iniciado sesión como empresa con plan PREMIUM,acceda al botón de perfil de usuario:

Una vez ingresado en su perfil,acceda el botón de “My bookings” en la sección de management:

Una vez accedido al apartado de “my bookings,tendremos que acceder a una reserva que esté CONFIRMADA:

Una vez accedido a la reserva,se desplegará un tablero kanban donde se mostrarán las tareas y sus estados:

Para crear una tarea,tenemos que presionar el botón de “Add Task” y aparecerá un formulario a rellenar.Una vez rellenado el formulario,aparecerá la tarea en “Pending” por defecto:

Una vez creada,se puede desplazar fácilmente con el ratón(como si fuera una issue de un project de github)
2.3 Funcionalidad de Particular
Registro de Particular
Url: /caterings/register_particular

Una vez hecho el registro,se deberá confirmar el correo electrónico que se ha ingresado durante el registro:

Listado de Catering
url: /particular/

Listado de caterings donde un cliente puede visualizar los distintos tipos de caterings disponibles.
Filtrado de catering
url: /particular/

Permite filtrar los caterings por los parámetros que aparecen al clickar en el desplegable
Buscar catering
url: /particular/

Permite buscar un catering con palabras claves, introducidas en el buscador de estas
Detalles de catering
url: /particular/<id>/

Tras hacer click en un catering del listado de caterings se muestran los detalles del catering. También se muestran 2 botones, 1 para añadir un comentario y una valoración del catering y otro para hacer una reserva. Abajo de estos botones se muestran las valoraciones que los usuarios han dejado sobre este catering.
Añadir review
url: /particular/<id>/review

El usuario puede añadir una valoración con un comentario sobre el catering seleccionado.
Reservar Catering(CORE)
url: /particular/<id>/book
Se trata de una interacción MATCHMAKING,donde interviene por una parte el particular que quiere contratar el empleo y la empresa de catering.Esta interacción procede de la siguiente manera:
- El particular inicia sesión con su cuenta y se dirige a la pestaña “Caterings en la cabecera de la página:

A continuación se mostrará el listado de caterings disponibles para el particular,mostrando descripción y la posibilidad de ver detalles de la aplicación.Para contratar el catering o dejar una reseña,se deberá pulsar el botón “View Details”:


- Después de pulsar el botón de reservar(“Book”),te pedirá que elijas el menú que se va a contratar para el evento,seguido del pago del servicio(son datos ficticios los mostrados aquí):


- Una vez contratado el servicio,se recibirá un mensaje de confirmación de que el servicio se ha contratado de forma exitosa:

- El particular podrá ver el servicio que se ha contratado en la sección “My bookings” en la cabecera de la página

- Iniciando sesión como la empresa que posee el servicio,en la pestaña de notificaciones se podrá ver que el particular ha contratado un servicio de catering de la propia empresa


- También podrá ver la reserva en el apartado “Management” del perfil de la empresa:




Mis reservas
url: /caterings/my_books

Muestra las reservas de caterings que ha realizado una persona, dando la posibilidad de editar y cancelar la reserva.
Editar Reserva
url: /particular/my_books/<id>/edit

Permite editar la fecha, el número de personas y el tipo de menú de la reserva.
Cancelar Reserva
url: /particular/my_books/<id>/cancel

Permite cancelar una reserva.
Chat con Empresa
Una vez iniciado sesión como cualquier particular,en la cabecera de la página se podrá ver un apartado con el nombre de “Chats”:

Una vez presionado,se accederá a un listado de servicios de caterings disponibles con los que se podrá entablar una conversación:

A continuación se desplegará una pantalla de chat donde se podrá preguntar al encargado del servicio de catering:

2.4 Funcionalidad de Empleado
Registro empleado
Url: /register_employee

Permite que un empleado se registre, introduciendo los datos correspondientes.
Una vez hecho el registro,se deberá confirmar el correo electrónico que se ha ingresado durante el registro:

Listado de ofertas
Url: /employeeOfferList

Muestra un listado de ofertas a las cuales los empleados pueden aplicar pulsando el botón de apply.
Aplicar a oferta
Url: /employeeApplication/<int:offer_id>

Muestra que la aplicación a una oferta de trabajo se ha enviado correctamente.
Listado de aplicaciones a ofertas enviadas
Url: /JobApplicationList

Muestra un listado con todas las aplicaciones a ofertas que ha enviado el empleado.
Perfil empleado
Url: /profile

Muestra el perfil con los datos del empleado, con las opciones de editar el perfil y ver las cartas de recomendación recibidas.
Editar perfil empleado
Url: /profilex-edit

Cartas de recomendación
Url: /<employee_id>/recommendation_letters

Muestra las cartas de recomendación que ha recibido un empleado.
Chat con Empresa
Este caso de uso se ejerce de la misma manera que con el particular,pero necesitaremos iniciar sesión como empleado. Una vez iniciado sesión como cualquier empleado,en la cabecera de la página se podrá ver un apartado con el nombre de “Chats”:

Una vez presionado,se accederá a un listado de servicios de caterings disponibles con los que se podrá entablar una conversación:

A continuación se desplegará una pantalla de chat donde se podrá preguntar al encargado del servicio de catering:

Datos necesarios para realizar la revisión
- URL de la landing page: link
Dato para campo pdf: curriculum.pdf
- URL plataforma desplegada: link
- URL repositorio Github: link
- URL y credenciales de la herramienta de seguimiento: link
- Credenciales: user: user
password: bluejay
- URL de la herramienta de seguimiento de tiempo:
- URL: link
Requisitos potenciales para usar el sistema
En caso de que necesite hacer cualquier pago dentro del sistema,una tarjeta de crédito que usted pueda usar es:4242 4242 4242 4242,y en lo demás puede poner cualquier cosa(tenga en cuenta que tiene que poner fecha de caducidad posterior al día actual)
Link a la demo
Evaluación de Usabilidad
Bajo nuestro punto de vista la aplicación se puede usar de forma fácil e intuitiva. Aun así, hay aspectos que no no están todo lo bien que nos gustaría, pero somos conscientes y tenemos previsto mejorar todo lo posible la web en el tercer sprint.
Otro punto a tener en cuenta es el feedback recibido por parte de los usuarios pilotos, que no está llegando en estos momentos. Estos datos los usaremos para tener puntos de vista objetivos por parte de personas ajenas al desarrollo de la aplicación y añadir mejoras propuestas en este tercer sprint.
Conclusiones
En conclusión la mayoría de requisitos se han cumplido y las funcionalidades implementadas funcionan correctamente. Podemos remarcar las diferencias de estilos en diversas páginas como un punto a mejorar en el último sprint, así como algunos pequeños errores y bad smells que se han encontrado durante la revisión del código, como urls repetidas y algunos vínculos que no aparecen en la barra de navegación cuando se cambia de vista, por lo demás todo lo que se ha probado ha funcionado correctamente en la revisión.