mthsena / desafio-flutter

Vaga Flutter - DEV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Desafio de programação mobile Flutter (IOS/Android)

A idéia deste desafio é nos permitir avaliar melhor as habilidades de candidatos à vagas de programador mobile Flutter, de vários níveis.

Instruções de entrega do desafio

  1. Faça um clone deste repositório.
  2. Em seguida, implemente o projeto tal qual descrito abaixo, em seu clone local.
  3. Por fim, envie um pull request com seu email na descriçao.

Descrição do projeto

Você deve criar um aplicativo que irá listar os repositórios públicos mais populares relacionados à Java no GitHub, usando a API do GitHub para buscar os dados necessários.

O aplicativo deve exibir inicialmente uma lista paginada dos repositórios, ordenados por popularidade decrescente (exemplo de chamada da API: https://api.github.com/search/repositories?q=language:dart&sort=stars&page=1).

Cada repositório deve exibir nome, descrição , 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. 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 a tela com a página do Pull Request em questão.

Você pode se basear neste mockup para criar as telas:

mockup

Sua aplicação deve:

  • usar um arquivo .gitignore no seu repositório

Você ganha mais pontos se:

  • possuir boa cobertura de testes unitários no projeto.
  • Utilizar Cubit gerência de estado.
  • Injeção de depedência com Flutter_getit.
  • usar padrões de projeto
  • persistir os dados localmente
  • fazer cache de imagens
  • criar testes funcionais

Será um grande diferencial:

  • contribuir em projetos open source
  • conhecimento nos princípios SOLID
  • conceitos de arquitetura como (DDD, Clean Architecturee)
  • ter conhecimento em desenvolvimento web

Avaliação

Seu projeto será avaliado de acordo com os seguintes critérios.

  1. Sua aplicação preenche os requerimentos básicos?
  2. Estrutura de código utilizando Clean Architecture
  3. Injeção de depedência - Flutter_getit

About

Vaga Flutter - DEV


Languages

Language:Dart 94.9%Language:HTML 5.1%