Crear una app de consulta a la API del GitHub
Desarrollar una app para consultar la API do GitHub y cargar los repositorios más populares del Java. Básese en el mockup abajo:
- Lista de repositorios. Ejemplo de llamada en la API:
https://api.github.com/search/repositories?q=language:Java&sort=stars&page=1
- Paginación en la pantalla de lista, con endless scroll / scroll infinito (incrementando el parámetro
page
). - Cada repositorio debe presentar Nombre del repositorio, Descripción del Repositorio, Nombre / Foto del autor, Cantidad de Stars, Cantidad de Forks
- Al tocar em um articulo, debe llevar a la lista de Pull Requests del repositorio
- Paginación en la pantalla de lista, con endless scroll / scroll infinito (incrementando el parámetro
- Pull Requests de un repositorio. Ejemplo de llamada en la API:
https://api.github.com/repos/<criador>/<repositório>/pulls
- Cada artículo de la lista debe presentar Nombre / Foto del autor del Pull Request, Título del Pull Request, Data do Pull Request e Body do Pull Request
- Al tocar en un artículo, debe abrir en el navegador la pantalla del Pull Request seleccionado
- Sistema de build Gradle
- Mapeo JSON -> Objeto (GSON / Jackson / Moshi / etc)
- Material Design
- Framework para comunicación con API
- Pruebas en el proyecto (de unidad e por pantalla)
- Pruebas funcionales (que naveguen por la aplicación cómo casos de uso)
- Cache de imágenes e de la API
- Soportar cambios de orientación de las pantallas sin perder el estado
La sugerencia de librerías que sigue es solamente un guideline. Quédate tranquilo en usar otras que nos sorprenda. Lo que cuenta es lograr los objetivos macro. =)
- Retrofit | Volley
- Picasso | Fresco | Glide
- Espresso | Robotium | Robolectric
La foto del mockup es meramente ilustrativa.
El candidato debe implementar la solución y enviar un pull request para este repositorio con la solución.
El processo de Pull Request funciona así:
- Candidato hace fork de ese repositorio (¡no lo clones directamente!)
- Haga tú proyecto en ese fork.
- Haga commit y vas a subir las modificaciones para TÚ fork.
- Por la interface del Bitbucket, vas a enviar un Pull Request.
Si caso sea posible, dejar el fork público para tornar más simple inspeccionar el código.
No intentes hacer PUSH directamente para ESTE repositorio!