CSGOMatches

Fique por dentro das próximas partidas de CS:GO!

Detalhes do projeto

Essa aplicação foi desenvolvida com a finalidade de praticar conceitos em desenvolvimento Android utilizando a API pandascore para mostrar os detalhes das partidas.

O projeto segue o padrão MVVM utilizando Retrofit com Gson para fazer requisições à API. Além de resolver a paginaçã́o do endpoint /csgo/matches com a Jetpack Paging 3, implementando o RemoteMediator que salva os dados localmente em um banco de dados offline Room.

São utilizadas diferentes classes para armazenar a resposta da API, as entidades no banco de dados e os objetos utilizados pela UI, com o devido mapeamento entre elas.

Como esse endpoint não retorna a lista de jogadores, foi preciso adicionar um TournamentsRepository para pegar os dados do endpoint /tournaments/{id}/rosters, conforme recomendado pela API

A lista de partidas é uma única RecyclerView enquanto que, na lista de detalhes, temos duas RecyclerViews (uma para o time do lado esquerdo e outra para o time do lado direito) dentro de uma NestedScrollView.

Na camada de UI o estado da interface é armazenado no ViewModel e observado pelos fragmentos.