Giter VIP home page Giter VIP logo

java-recruiting-hsa's Introduction

Desafio Java Concrete

Desafio técnico para evaluar el conocimiento de los aspirantes a unirse al equipo de Backend.

Contenido

El Desafio

Escenario

Recientemente te has unido a un equipo que esta desarrollando una aplicación mobile para una gran compañía de e-commerce.
Esta aplicación esta dirigida a dispositivos de bajo rendimiento hasta dispositivos con gran poder de procesamiento.
El cliente ya cuenta con un backend establecido que contiene todas las reglas e información de negocio, pero algunos sistemas dependen de tecnologías legadas que pueden ser inestables.
Tu eres responsable de construir la API que integrará con estos servicios y proveerá todas las informaciones que Mobile necesita.
Para las próximas iteraciones, el equipo va a trabajar en la Pantalla de Início y tu debes construir todo(s) los endpoint(s) que se requieran para integrar con los servicios y proveer la información para la pantalla.

APIs

Necesitarás consumir los siguientes servicios:

Features

El equipo Mobile necesita construir una pantalla de inicio que debe mostrar:

  • Carrusel con Top 5 categorias.
  • Carrusel con cupones que no han expirado.
  • Tabla (Grid) con las categorias restantes.
  • Mobile no necesita de todas las imagenes del modelo de categorías, pero solamente el icono y la imagen más pequeña. Tu podrías tener que filtrar la respuesta, si tu quieres.

Puntos a Considerar

  • La API de Cupones es inestable y a veces demora en responder.
  • La API de Categorias responde un modelo complejo de manejar.

¿Qué nos Gustaría Ver?

Eres libre para implementar la solución de la forma que consideres mejor, pero debes considerar el escenario, objetivo, implicaciones de performance y stack/pool de tecnología propuesta abajo.

  • Nos enfocamos mucho en la calidad de nuestros proyectos y nos gustaría ver alguna estrategia aplicada. Puedes usar, por ejemplo, Pruebas Unitárias;
  • No queremos que la experiencia de usuario se vea afectada por el rendimiento de los servicios;
  • Usted tiene 1 semana para completar el desafio. Si necesitas mas tiempo, no hay problema, puede hablar con nosotros y veremos que podemos hacer :)

Deseables

  • Podría ser bueno una documentación de API. Sugerencia: Swagger.
  • Ejecutando con Docker.

Stack/Pool de Tecnologías

  • Java 8 o superiores.
  • Cualquier Framework Web. Sugerencia: Spring Boot.
  • Cualquier API Client. Sugerencia: Feign.
  • De preferencia Gradle como sistema de compilación.
  • Tu eres libre para escoger librerias y frameworks de pruebas que mas te guste. Nuestra sugerencia es: JUnit, Mockito.

Forma de Entrega

Siga los pasos para implementar y enviar este desafio:

  • Haga un Fork a este repositorio. Mira esta guía para mayores informaciones: How to Fork a repository.
  • Implemente el desafio.
  • Después de completar el desafio, realise un Pull Request a este repositorio, utilisando la interface de Github. Check this guide for more details.
  • Si es posible, deja tu repositorio publico para hacer la revision de codigo mas sencilla.

Importante

No intente hacer un PUSH directo a ESTE repositorio!


java-recruiting-hsa's People

Contributors

edgardhernandezp avatar vitorsalgado 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.