Git Product home page Git Product logo

pedidosyachallenge's Introduction

PedidosYaChallenge

  • Aplicación desarrollada según lo solicitado
  • La aplicación puede ser descargada e instalada siguiendo este link

Compilación de la aplicación

  • Este proyecto fue hecho utilizando Gradle 3.4.2, Kotlin 1.3.50 y Android Studio 3.5.2.
  • El mismo contiene 2 variable de entorno URL_BASE y IMAGE_BASE_URL configurada en el archivo app/build.gradle.

Arquitectura

Se aplica en la aplicación el patrón MVP, Model View Presenter, con el fin de separar la capa de negocio de la capa de presentación. La UI está implementada en cada xml layout correspondiente y su controlador (Activity o Fragment), el cual implementa una interfaz llamada BaseView para mantenerlo indiferente al Presenter asociado.

Por esta razón, una estructura típica para una pantalla sería:

  • XML Layout.
  • Activity o Fragment implementando BaseView.
  • Un Presenter.

Mnunez Core

Se utilizó en este aplicación una librería de implementación propia que contiene las clases bases para la fácil implementación del patrón MVP. Además contiene la configuración de la capa de networking utilizando Retrofit, RxJava and Gson. También brinda un conjunto de extensiones y utlidades que son y pueden ser utilizadas en diferentes aplicaciones.

Funcionalidades

  • Login:

    • Se brinda al usuario dos campos de usuario y contraseña para poder iniciar sesión en la aplicación.
    • En caso de dejar alguno de los campos vacíos, se provee un feedback apropiado para el usuario.
  • Listado de Restaurantes:

    • La aplicación solicita al usuario que habilite el permiso para obtener su ubicación y asi realizar la búsqueda con la misma.
    • Se revela una lista de Restaurantes obtenidos de los primeros 20 y a medida que el usuario navega por la lista, se cargan otros 20 más y así sucesivamente
    • Se provee de una imagen, el nombre, ranking, medios de pago, costo de envío, etc.
    • Al tope del listado se indica cuántos resultados fueron encontrados y la dirección con la cuál se realizó la búsqueda.
    • En la parte baja derecha de la pantalla, se muestra un indicador flotante con la cantidad de resultados que están siendo mostrados.

pedidosyachallenge's People

Contributors

mathiasnunez 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.