Skip to content

Ladysm/DEV004-burger-queen-api-client

 
 

Repository files navigation

Burger Queen (API Client)

Índice


Esta single Page Application permite tomar pedidos usando una tablet, los puedes enviar a la cocina para que se preparen ordenada y eficientemente. Este proyecto tiene dos áreas: interfaz (cliente) y API (servidor). El framework utilizado fue React.js, para el desarrollo de la interfaz, mediante peticiones HTTP a la api mocks.

Cabe resaltar que el visual solo esta para modo TABLET porque fue lo requerido por el cliente.

1. Resumen del proyecto

Un pequeño restaurante de hamburguesas, que está creciendo, necesita un sistema a través del cual puedan tomar pedidos usando una tablet, y enviarlos a la cocina para que se preparen ordenada y eficientemente.

burger-queen

Este proyecto tiene dos áreas: interfaz (cliente) y API (servidor). Nuestra clienta nos ha solicitado desarrollar la interfaz que se integre con una API.

Esta vez tenemos un proyecto 100% por encargo. Si bien siempre puedes (y debes) hacer sugerencias de mejoras y/o cambios, muchas veces trabajarás en proyectos en los que primero hay que asegurarse de cumplir con lo requerido.

Esta es la información que tenemos de la clienta:

Somos Burguer Queen, una cadena de comida 24hrs.

Nuestra propuesta de servicio 24hrs ha tenido muy buena acogida y, para seguir creciendo, necesitamos un sistema que nos ayude a tomar los pedidos de nuestrxs clientxs.

Tenemos 2 menús: uno muy sencillo para el desayuno:

Ítem Precio $
Café americano 5
Café con leche 7
Sandwich de jamón y queso 10
Jugo de frutas natural 7

Y otro menú para el resto del día:

Ítem Precio
Hamburguesas $
Hamburguesa simple 10
Hamburguesa doble 15
Acompañamientos $
Papas fritas 5
Aros de cebolla 5
Para tomar $
Agua 500ml 5
Agua 750ml 7
Bebida/gaseosa 500ml 7
Bebida/gaseosa 750ml 10

Nuestrxs clientxs son bastante indecisos, por lo que es muy común que cambien el pedido varias veces antes de finalizarlo.

La interfaz debe mostrar los dos menús (desayuno y resto del día), cada uno con todos sus productos. La usuaria debe poder ir eligiendo qué productos agregar y la interfaz debe ir mostrando el resumen del pedido con el costo total.

out

Además la clienta nos ha dado un link a la documentación que especifica el comportamiento esperado de la API HTTP que deberás consumir. Ahí puedes encontrar todos los detalles de los endpoints, como por ejemplo qué parámetros esperan, qué deben responder, etc.

El objetivo principal de es aprender a construir una interfaz web usando el framework elegido (React, Angular o Vue). Todos estos frameworks de Front-end tratan de solucionar el mismo problema: cómo mantener la interfaz y el estado sincronizados. Así que esta experiencia espera familiarizarte con el concepto de estado de pantalla, y como cada cambio sobre el estado se va a ir reflejando en la interfaz (por ejemplo, cada vez que agregamos un producto a un pedido, la interfaz debe actualizar la lista del pedido y el total).

2. Criterios de aceptación del proyecto

Definición del producto

El Product Owner nos presenta este backlog que es el resultado de su trabajo con el clientx hasta hoy.


[Historia de usuario 1] Mesero/a debe poder ingresar al sistema, si el admin ya le ha asignado credenciales

login

Yo como meserx quiero poder ingresar al sistema de pedidos.

Criterios de aceptación

Lo que debe ocurrir para que se satisfagan las necesidades del usuario.

  • Acceder a una pantalla de login.
  • Ingresar email y contraseña.
  • Ingresar al sistema de pedidos si las crendenciales son correctas.
  • Se visualiza en tablet

[Historia de usuario 2] Mesero/a debe poder tomar pedido de cliente/a

Yo como meserx quiero tomar el pedido de unx clientx para no depender de mi mala memoria, para saber cuánto cobrar, y enviarlo a la cocina para evitar errores y que se puedan ir preparando en orden.

menu

Criterios de aceptación

Lo que debe ocurrir para que se satisfagan las necesidades del usuario

  • Anotar nombre de clientx.
  • Agregar productos al pedido.
  • Eliminar productos.
  • Ver resumen y el total de la compra.
  • Enviar pedido a cocina (guardar en alguna base de datos).
  • Se ve y funciona bien en una tablet

[Historia de usuario 3] Jefe de cocina debe ver los pedidos

Yo como jefx de cocina quiero ver los pedidos de lxs clientxs en orden y marcar cuáles están listos para saber qué se debe cocinar y avisar a lxs meserxs que un pedido está listo para servirlo a un clientx.

Cocina

Criterios de aceptación
  • Ver los pedidos ordenados según se van haciendo.
  • Marcar los pedidos que se han preparado y están listos para servirse.
  • Ver el tiempo que tomó prepara el pedido desde que llegó hasta que se marcó como completado.
    • Se visualiza en tablet

[Historia de usuario 4] Meserx debe ver pedidos listos para servir

Yo como meserx quiero ver los pedidos que están preparados para entregarlos rápidamente a lxs clientxs que las hicieron.

mesero

Criterios de aceptación
  • Ver listado de pedido listos para servir.
  • Marcar pedidos que han sido entregados.

3. Despliegue

Puedes elegir el proveedor (o proveedores) que prefieras junto con el mecanismo de despligue y estrategia de alojamiento. Recuerda que si mockeaste la API, también tienes que desplegarla. Te recomendamos explorar las siguientes opciones:

  • Vercel es una plataforma de despliegue que nos permite desplegar nuestra aplicación web estática (HTML, CSS y JavaScript) y también nos permite desplegar aplicaciones web que se ejecutan en el servidor (Node.js).
  • Netlify al igual que Vercel, es una plataforma de despliegue que nos permite desplegar nuestra aplicación web estática (HTML, CSS y JavaScript) y también nos permite desplegar aplicaciones web que se ejecutan en el servidor (Node.js).

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 62.0%
  • CSS 30.5%
  • HTML 7.5%