Projeto_LucasDuete_MobileHub

Problema: 


A versão mobile do github é horrível, mesmo para pequenas consultas de código ou até mesmo responder um issue. 
Desenvolvedores que necessitam realizar alguma tarefa em dispositivos móveis como por exemplo uma rápida consulta em um re-
positório ou criar e responder issues acabam por ter uma experiência desagradável e, dependendo da ação como tentar ler um có-
digo que já seja maior (neste caso considero mais de 60 linhas) é inviável, sendo necessário recorrer para estratégias como forçar o
site a carregar na versão de desktop mesmo em dispositivos como smartphones.

Solução: 


Aplicativo do GitHub, melhorar a experiência dos usuários ao consultar códigos, fazer code review, responder issues em repositórios, 
integração com o Gist para criação, edição e remoção de Gist além de possibilitar ver gists favoritados, “pin” e ver feed de Gists.

Documentos:

Desing do Aplicativo

Documento de Requisitos


Adição de Tela e Repositório:

Repositório do Projeto

Realease 1 - Contrução de Telas:














  
Repositório do Aplicatico Disponível em: https://github.com/lucasduete/mobileHub/
Código da release disponível em: https://github.com/lucasduete/mobileHub/releases/tag/v1.0


Release 2 - Serviços Backgroud, Navegabilidade, Back-end

A página de login foi modificada:


Serviços de Backgroud Implementados:
  • Serviço de Login com OAuth
  • Serviço de Busca por Repostórios 

Repositório do Back-end Disponível em: https://github.com/lucasduete/mobileHub-api 
Link para API: http://mobilehub-api.herokuapp.com/

Repositório do Aplicativo Disponível em: https://github.com/lucasduete/mobileHub/
 Código da Release Disponível em: https://github.com/lucasduete/mobileHub/releases/tag/v2.0


Apresentação - Status Report V1 e V2:  Apresentação Google Docs
Demonstração: Vídeo Disponível no YouTube

Release 3 - Uso de Hardware, Uso de BroadcastReceiver com eventos do sistema, WebView e Persistencia

A página de repositórios foi modificada para permitir pin e despin:

Tela quando o Repositório está pinado

Tela para quando o repositófio não está pinado

Tela de Listagem de arquivos modificada para utilizar WebVire

WebView é utilizado para mostrar a árvore de Arquivos


Serviços de Persistência Implementados:
  • Persistencia de Repositórios "Pinados" -> SQL Lite
  • Persistência de Locais Seguros  -> SQL Lite
  • Persistência de Token de Acesso -> Shared Preferences
  • Persistência de Repositórios (Download de Repositórios) -> Armazenamento Externo

Serviços de Broadcast Receiver Implementados:
  • Identificação de Eventos de SO para Bateria Baixa -> Para os Downloads de Repositórios
  • Identificação de Eventos de SO para Bateria Normal -> Reinicia os Downloads parados no Evento de Bateria Baixa.
Uso de Hardware Implementado:
  • Utilização de GPS para Segurança ->  Se o usuário fizer login de um local onde já tenha feito login(local seguro) não é necessário refazer o processo, caso seja de um local diferente(não seguro) o aplicativo força o usuário a refazer o processo login.

Repositório do Back-end Disponível em: https://github.com/lucasduete/mobileHub-api 
Link para API: http://mobilehub-api.herokuapp.com/

Repositório do Aplicativo Disponível em: https://github.com/lucasduete/mobileHub/
 Código da Release Disponível em: https://github.com/lucasduete/mobileHub/releases/tag/v3.0


Apresentação - Status Report V3 :  Apresentação Google Docs
Demonstração: Vídeo Disponível no YouTube

Release 4 - Projeto Final

Este relatório descreve o processo de desenvolvimento de um aplicativo que consome a API Rest v3 do GitHub para construção de um cliente mobile que possui o objetivo de melhor de usar do que o site oficial. Ao final teste trabalho o aplicativo implementado acabou atingindo o objetivo (ao menos para o autor do trabalho) porém há alternativas melhores como o FastHub.
A versão do site mobile (para dispositivos móveis) do GitHub possui diversos pontos com baixa usabilidade, pequenas consultas de código ou até mesmo responder um issue geram transtornos e não são bem estruturados dentro do site. Desenvolvedores que necessitam realizar alguma tarefa em dispositivos móveis como por exemplo uma rápida consulta em um repositório ou criar e responder issues acabam por ter uma experiência desagradável e, dependendo da ação como tentar ler um código que seja grande (neste caso considero mais de 60 linhas) é inviável, sendo necessário recorrer para estratégias como forçar o site a carregar na versão de desktop mesmo em dispositivos como smartphones.
A solução abordada para este problema foi a construção de um aplicativo para o GitHub, que visa melhorar a experiência dos usuários ao consultar códigos, fazer code review, responder issues em repositórios além de possibilitar “pinnar” (marcar um repositório dentro do aplicativo ) e ver feed do GitHub.
 

Relatório técnico: Link para Google Docs

Comentários