Fique por dentro das próximas partidas de CS:GO!
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.