Skip to content

Luandrada/DEV006-burger-queen-api-client

 
 

Repository files navigation

Burger Queen (API Client) - Guía para Coaches

Índice


1. Introducción

Este repositorio ha sido creado con el propósito de proporcionar a nuestro equipo de coaches una herramienta centralizada para guiar y estandarizar el proceso de aprendizaje del framework de frontend Angular.

El objetivo principal de este proyecto es establecer un conjunto de mejores prácticas y estándares de desarrollo en Angular 14, que servirán como referencia para que el equipo trabaje y comunique siguiendo una misma linea.

2. Resumen del proyecto

Burger Queen API Client - Read me

En resumen , 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. Nuestro Frontend se conectará con el Backend provisto.

3. Arquitectura

  • Estructura de carpetas

Se optó por crear una estructura , donde algunas posiblemente queden sin utilizarse. Esto es , a modo ilustrativo, para poder visualizar y mostrar a las estudiantes como podria llegar a ser la estructura de un proyecto más robusto o donde podrian ir guardando sus distintos recursos si en algún momento decidiera complejizar su proeycto.

estructura

  • Cración de Módulos

Se creó un modulo por perfil de usuario. Cada módulo cuenta con una organización interna que nos permite encontrar facilmente sus componentes, servicios, vistas y ruteo. Estos módulos se encuentran dentro de la carpeta principal "features".

modulos

4. Consideraciones

  • Uso de Rutas hijas

En nuestro app-routing.modules.ts Alt text

en el routing de uno de nuestros modulos. ej: waitres-routing.module.ts Alt text

En este ejemplo , la ruta orders/create nos llevará a la vista de mesera de Crear Orden.

  • Protección de rutas

Para la protección de rutas se usaron Guards de tipo CanActivate. Se creó una para identificar si el user está logueado, y otra para verificar bajo qué rol se encuentra.(Se pueden ver en la imágen anterior)

  • NO recomendamos el uso de Interceptors

La incorporación del token en el header se realiza en cada petición . Se pe recurre a un servicio propio para traernos el token .

Alt text

  • Manejo de Observables

Se recomienda el trabajo con Observables a la estudiantes y se sugiere investigar los operadores básicos de rxjs como por ejemplo .pipe o .map ya que son muy utilizados en la diaria laboral. (podemos ver como se utilizan en la foto anterior)

  • Separación de responsabilidades entre componentes y servicios

Procurar que la mayor cantidad de lógica quede en el servicio, de forma tal que en mi componente se reciba unicamente la información que se precisa. Por ejemplo, en este caso , el filtrado de los productos según el tipo de menú se produce en el servicio y no en el componente .

Alt text

  • Estilos

Para los estilos se decidió trabajar con SCSS por los beneficios y claridad que aportan. Teniendo en cuenta que Angular se encarga por si solo de compilarlo a css.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 70.0%
  • SCSS 16.3%
  • HTML 11.8%
  • JavaScript 1.9%