Lucas-Quiroga / kiura-pruebatecnica

0 stars 0 forks source link

Agregar capa de servicios #1

Closed Thargelion closed 4 months ago

Thargelion commented 5 months ago

Me topé con este proyecto via linkedin y estuve chusmeando un poco.

Antes que nada, felicitaciones por el logro todo proyecto implica un crecimiento y un desafío y lamento que no hayas tenido feedback de parte de los posibles empleadores. Pero bueno, bien sirve sumarlo al portfolio.

Ahora bien, estaba observando y hay algunos ajustes de "arquitectura" si se quiere que se podría hacer para mejorar la escalabilidad de este proyecto.

El primer ajuste puede ser el de implementar una capa de servicios para resolver ahí la lógica de ir a buscar la información a una API.

Por ejemplo aquí cuando buscas el listado de categorías:

https://github.com/Lucas-Quiroga/kiura-pruebatecnica/blob/d62b80df1510d4dbf15d13ccc98df8806fe6806b/src/components/Category.tsx#L23C3-L33C1

Esa función puede ir a un service: https://medium.com/nerd-for-tech/react-js-services-854be54a6ba1

Esto puede ser trivial pero hace más fácil de testear el componente, y lo vuelve flexible a cambios y reutilización de código. Porque uno puede necesitar esa lista de categorías en otro lado (verla de otra forma) o bien puede haber algún ajuste en la APi a la que vas a buscar la info o lo que sea.

Si esto es algo de lo que ya tenías conocimiento y simplemente no hubo una implementación de esta capa de servicios por cuestiones de velocidad (para los challenges los tiempos apremian) perdón por la molestia. eto-powa

Lucas-Quiroga commented 4 months ago

¡Hola! ¿Cómo estás? Gracias por aportar tu conocimiento y por tomarte el tiempo de revisar el challenge y señalarme esos detalles. Sinceramente, por cuestiones de tiempo y estudios, intenté resolverlo de la manera más simple posible, pero funcional al mismo tiempo jajaja, ya que a veces uno cuando es muy meticuloso tiende a hacer cosas que están de más o que no son solicitadas (aunque personalmente soy muy meticuloso con eso). En este desafío traté mantenerlo sencillo y conciso. Pero si, como comentaste, en términos de arquitectura, sería más adecuado asignar la responsabilidad de la API a una carpeta de services. ¡Gracias nuevamente!

Thargelion commented 4 months ago

Siempre en estos challenges es dificil saber dónde poner la vara. Es decir, qué tan prolijo queremos hacer el proyecto en tanto no nos impida llegar con los deadlines que se nos proponga. A esto hay que sumarle que si no hay mucho tiempo libre por trabajo o estudio el equilibrio se vuelve más dificil de llegar. Idealmente quienes te proponen el challenge debieran de decirte qué esperan que hagas (es decir, si sacar un proyecto "World Class" o construir algo rápido) y darte un tiempo razonable para hacerlo. Pero no siempre sucede.

Éxitos!