Git Product home page Git Product logo

ejerciciomercadolibre's Introduction

Ejercicio Mercado Libre

Aplicación para ingresar a Mercado Libre, consiste en hacer una aplicacion usando las APIs publicas de la empresa y le permita al usuario poder buscar un producto, elegirlo y ver su detalle.

Arquitectura

alt text

  • Para la aplicacion decidí usar la arquitectura MVVM (Model-View-ViewModel) que mejor maneja la separacion de responsabilidades dentro de la aplicacion, ya que permite separar la lógica de la UI del modelo de negocio.

  • MVVM documentation: https://developer.android.com/jetpack/guide

  • LiveData se usa para las vistas que es una clase que nos permite observar mientras somos conscientes del ciclo de vida de activities, fragments, servicios, etc. De esta manera con LiveData solo vamos a ir actualizando los observadores de los componentes de la aplicacion que esten en un ciclo de vida activo.

Para el manejo asíncrono de las peticiones a la API de Mercado Libre decidí usar coroutines de Kotlin que, al trabajar en forma asíncrona evitan que se bloquee la ui durante el procesamiento de las peticiones. Tiene como ventajas:

  • Rapidez: Muchas coroutinas en un mismo proceso
  • Optimiza la memoria
  • Cancelacion: Si cancelas, esa accion se propaga por toda la estructura de coroutinas
  • Integracion con Jetpack.

Librerías usadas

  • Glide: Usada para el procesamiento de las imagenes correspondientes a los productos, la elegi por que es la mas completa ya que puedo ir configurando la imagen a insertar acorde a lo que pasa (si no viene imagen pongo una, mientras carga otra y asi).

Errores desde el lado del programador

Use Logs, en los metodos encargados de manejar las peticiones a la API.

alt text

Capturas de la app

alt text La primera vez que el usuario ingresa vera un mensaje indicando que no ha realizado busquedas.

alt text Cuando hace la busqueda verá una lista de productos que contiene el nombre, el precio y la imagen si es que esta existe.

alt text Aplicacion horizontal.

alt text Manejo de errores, en este caso me centré en la conexion a internet ya que siempre que hacemos una busqueda, algo retorna.

ejerciciomercadolibre's People

Contributors

nicolamber avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.