Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desafio Android #33

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
3a466aa
Criação do projeto
LuanBSPinheiro May 31, 2021
9aa7c6a
Merge branch 'master' of github.com:LuanBSPinheiro/desafio-android
LuanBSPinheiro May 31, 2021
8d6ea5f
Cria telas de item de apresentação do personagem
LuanBSPinheiro Jun 1, 2021
aa3f828
Cria activity com informações completas do personagem
LuanBSPinheiro Jun 1, 2021
a19520d
Inserção de dois drawables para embelezamento da tela de informações …
LuanBSPinheiro Jun 1, 2021
b426243
Cria a RecyclerView e Adapter da RecyclerView
LuanBSPinheiro Jun 2, 2021
b14e75e
Cria a função de click no item da lista e do favorito.
LuanBSPinheiro Jun 2, 2021
8a14375
Cria a intent que passa os dados da MainActivity.kt para a CharActivi…
LuanBSPinheiro Jun 3, 2021
cda1206
Realiza a filtragem da lista.
LuanBSPinheiro Jun 6, 2021
49e9eaf
Adiciona funcionalidade de filtragem de favoritos.
LuanBSPinheiro Jun 6, 2021
c3f6887
Remove a Action Bar da aplicação.
LuanBSPinheiro Jun 6, 2021
4bba1cb
Implementa Retrofit e Koin
LuanBSPinheiro Jun 6, 2021
b758fd4
Obtem resposta da API de personagens
LuanBSPinheiro Jun 6, 2021
5150cc4
Cria db local
LuanBSPinheiro Jun 6, 2021
2183239
Filtra lista de busca para o banco local.
LuanBSPinheiro Jun 7, 2021
d980fed
Apresenta a lista de personagens vinda direto do banco de dados
LuanBSPinheiro Jun 7, 2021
ae859c5
Adiciona a informação obtida pela API para planeta e espécie na págin…
LuanBSPinheiro Jun 7, 2021
3d440cf
Atualiza o banco com as raças e planetas trazidas pela API.
LuanBSPinheiro Jun 8, 2021
039d74b
Insere os favoritos no banco local e faz a filtragem de favoritos
LuanBSPinheiro Jun 9, 2021
aee0d26
Atualiza o README.md
LuanBSPinheiro Jun 9, 2021
0275775
Alteração de FindViewById para ViewBinding
LuanBSPinheiro Sep 22, 2021
e7a68c3
Alteração do README.md
LuanBSPinheiro Sep 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

122 changes: 122 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

35 changes: 35 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 18 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,48 +15,38 @@ http://docs.starwarsfavorites.apiary.io/#
Para obter os personagens, sua aplicação deverá utilizar o recurso `people` da Swapi (documentação disponível no topo do documento). A aplicação deve exibir todos os 87 personagens e permitir pesquisar o personagem pelo nome. Sugerimos exibir as primeiras páginas enquanto carrega as outras, em um formato de scroll infinito.

A lista de itens deve exibir as seguintes informações:
+ Nome [name]
+ Altura [height]
+ Genero [gender]
+ Peso [mass]
+ Nome [name] OK
+ Altura [height] OK
+ Genero [gender] OK
+ Peso [mass] OK

Os dados devem ser salvos em banco de dados local para acesso offline e atualizados sempre que a tela for aberta.

### Detalhes do Personagem

Ao clicar em um item da lista o seu app deve mostrar as informações abaixo:

+ name
+ height
+ mass
+ hair_color
+ skin_color
+ eye_color
+ birth_year
+ gender
+ Nome do Planeta Natal
+ Nome da Espécie
+ name OK
+ height OK
+ mass OK
+ hair_color OK
+ skin_color OK
+ eye_color OK
+ birth_year OK
+ gender OK
+ Nome do Planeta Natal OK
+ Nome da Espécie OK

A busca pelo nome do planeta e da espécie deve ser feita em paralelo.
A busca pelo nome do planeta e da espécie deve ser feita em paralelo. OK

### Favoritos

Na lista e nos detalhes deve ser possível adicionar e remover um personagem a sua lista de favoritos. Tambem deve ser possível filtrar quais personagens foram favoritados na lista principal.
Na lista e nos detalhes deve ser possível adicionar e remover um personagem a sua lista de favoritos. Tambem deve ser possível filtrar quais personagens foram favoritados na lista principal. OK

##### Adição e Remoção de Favoritos

URL BASE: http://private-782d3-starwarsfavorites.apiary-mock.com/

Ao adicionar um favorito a aplicação deve fazer um request para a api starwarsfavorites (documentação disponível no topo do documento).
A aplicação deve:
+ Exibir a mensagem de retorno da API em caso de sucesso ou erro.
+ Reenviar a requisição da próxima vez que o app for aberto em caso de erro.
+ Salvar no banco de dados local quais personagens foram favoritados.
+ Tratar a remoção de favoritos apenas no banco de dados local.

Em metade das requisições enviadas para a api starwarsfavorites a aplicação deve adicionar o header `Prefer` com o valor `status=400`.

P.S.: O candidato deve escolher o ID.
+ Salvar no banco de dados local quais personagens foram favoritados. OK
+ Tratar a remoção de favoritos apenas no banco de dados local. OK

---
#### LICENSE
Expand Down
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading