Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4775830
Criando a base do projeto.
Jan 1, 2021
5c892a7
Adicionando as dependências do Retrofit e criando um singleton para f…
Jan 1, 2021
8532e05
Adicionando as dependências do Room e Databinding.
Jan 5, 2021
103cda2
Criando a classe App que extend de Application para utilização global.
Jan 5, 2021
0cc947d
Adicionando assets para utilizar na listagem.
Jan 5, 2021
89586d3
Adicionando novas descrições no strings xml.
Jan 5, 2021
59190ab
Criando entidade pessoas.
Jan 5, 2021
a854378
Criando o Dao de pessoas.
Jan 5, 2021
04b74fd
Criando o repositório remoto de pessoas
Jan 5, 2021
c7b9960
Criando o DatabaseService.
Jan 5, 2021
93f743d
Criando o service de pessoas.
Jan 5, 2021
f477458
Criando o view model de pessoas.
Jan 5, 2021
8b82559
Criando algumas funções(extensions) para auxiliar na manipulação do p…
Jan 5, 2021
4d06458
Criando a parte visual da listagem.
Jan 5, 2021
fda41a3
Criando a pesquisa, a pesquisa está sendo realizada somente nos dados…
Jan 6, 2021
abbebd1
Desabilitando o Fab botão temporariamente.
Jan 6, 2021
6799a32
Adicionando novas strings.
Jan 7, 2021
a8c7f22
Adicionando clear text trafic para liberar o uso de urls com http.
Jan 7, 2021
9912e13
Criando a entidade planeta.
Jan 7, 2021
1a08d85
Atualizando a entidades pessoas para envio entre fragmentos, usei ser…
Jan 7, 2021
61b4282
Criando a entidade especie.
Jan 7, 2021
bd48808
Criando o enum para contorna o problema de multiplas chamadas no live…
Jan 7, 2021
7fe6b80
Buscando os dados pela ordem de inserção banco local.
Jan 7, 2021
6120043
Criando o respository para buscar o planeta e a especie.
Jan 7, 2021
3fc462d
Criando o service responsável pela busca do planeta e especie.
Jan 7, 2021
9a0e0e8
Criando o viewmodel usado na busca do planeta e especie.
Jan 7, 2021
2f897b1
Criando cria a tela de detalhes do personagem.
Jan 7, 2021
82b84fb
Adicionando a navegação da listagem de personagens para a tela de det…
Jan 7, 2021
531cf47
Realizando alguns ajustes visuais.
Jan 7, 2021
b85a62b
Marcando os itens realizados.
Jan 7, 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
46 changes: 25 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,33 @@ http://swapi.dev/

http://docs.starwarsfavorites.apiary.io/#

### Lista de Personagens
### Lista de Personagens

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]
- Altura [height]
- Genero [gender]
- Peso [mass]

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

### Detalhes do Personagem
### 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
- height
- mass
- hair_color
- skin_color
- eye_color
- birth_year
- gender
- Nome do Planeta Natal
- Nome da Espécie

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

Expand All @@ -47,19 +48,22 @@ Na lista e nos detalhes deve ser possível adicionar e remover um personagem a s

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).
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.

- 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.

---

#### LICENSE

```
MIT License

Expand Down
15 changes: 15 additions & 0 deletions StarWarsWiki/.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 StarWarsWiki/.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 StarWarsWiki/.idea/.name

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

139 changes: 139 additions & 0 deletions StarWarsWiki/.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 StarWarsWiki/.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 StarWarsWiki/.idea/compiler.xml

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

20 changes: 20 additions & 0 deletions StarWarsWiki/.idea/gradle.xml

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

25 changes: 25 additions & 0 deletions StarWarsWiki/.idea/jarRepositories.xml

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

9 changes: 9 additions & 0 deletions StarWarsWiki/.idea/misc.xml

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

10 changes: 10 additions & 0 deletions StarWarsWiki/.idea/runConfigurations.xml

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

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

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

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