Coder Social home page Coder Social logo

desafio-android's Introduction

Criar um aplicativo de consulta a API do GitHub#

Criar um aplicativo para consultar a API do GitHub e trazer os repositórios mais populares de Java. Basear-se no mockup fornecido:

Captura de tela de 2015-10-22 11-28-03.png

Deve conter

  • Lista de repositórios. Exemplo de chamada na API: https://api.github.com/search/repositories?q=language:Java&sort=stars&page=1
    • Paginação na tela de lista, com endless scroll / scroll infinito (incrementando o parâmetro page).
    • Cada repositório deve exibir Nome do repositório, Descrição do Repositório, Nome / Foto do autor, Número de Stars, Número de Forks
    • Ao tocar em um item, deve levar a lista de Pull Requests do repositório
  • Pull Requests de um repositório. Exemplo de chamada na API: https://api.github.com/repos/<criador>/<repositório>/pulls
    • Cada item da lista deve exibir Nome / Foto do autor do PR, Título do PR, Data do PR e Body do PR
    • Ao tocar em um item, deve abrir no browser a página do Pull Request em questão

A solução DEVE conter

  • Sistema de build Gradle
  • Mapeamento JSON -> Objeto (GSON / Jackson / Moshi / etc)
  • Material Design

Ganha + pontos se conter

  • Framework para comunicação com API
  • Testes no projeto (unitários e por tela)
  • Testes funcionais (que naveguem pelo aplicativo como casos de uso)
  • Cache de imagens e da API
  • Suportar mudanças de orientação das telas sem perder estado

Sugestões

As sugestões de bibliotecas fornecidas são só um guideline, sintam-se a vontade para usar diferentes e nos surpreenderem. O importante de fato é que os objetivos macros sejam atingidos. =)

  • Retrofit | Volley
  • Picasso | Universal Image Loader | Glide
  • Espresso | Robotium | Robolectric

OBS

A foto do mockup é meramente ilustrativa.

Processo de submissão

O candidato deverá implementar a solução e enviar um pull request para este repositório com a solução.

O processo de Pull Request funciona da seguinte maneira:

  1. Candidato fará um fork desse repositório (não irá clonar direto!)
  2. Fará seu projeto nesse fork.
  3. Commitará e subirá as alterações para o SEU fork.
  4. Pela interface do Bitbucket, irá enviar um Pull Request.

Se possível deixar o fork público para facilitar a inspeção do código.

ATENÇÃO

Não se deve tentar fazer o PUSH diretamente para ESTE repositório!

desafio-android's People

Contributors

cs-victor-nascimento avatar cs-joao-gouveia avatar cs-rafael-toledo avatar victorlima avatar

Watchers

James Cloos avatar Dyego dos Santos Brito 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.