O aplicativo consome uma API REST para buscar as estatísticas sobre a doença Covid-19 o Coronavírus.
API utilizada Covid-19 API
O aplicativo possui quatro telas e elas são:
- 1º Tela de dados consolidados do mundo inteiro;
- 2º Tela de dados por país;
- 3º Tela que apresenta uma lista de países;
- 4º Tela que detalha o país selecionado na lista.
No desenvolvimento do projeto foram utilizadas as tecnologias descritas abaixo:
-
- Kotlin
-
- Retrofit é utilizada para fazer requisições HTTP a serviços Web
- Moshi é uma moderna biblioteca JSON para Android, Kotlin e Java. Ela faz de forma fácil a conversão de um JSON para objetos Kotlin e Java
- Koin é utilizada para fazer injeção de depedência
- Timber é um logger com uma API pequena e extensível que fornece utilidade sobre a classe Log normal do Android
-
- RecyclerView é utilizada para criar listas de informações, objetos, imagens que serão apresentados na tela
- Material Design é a orientação de código e projeto oficial do Google
- ConstraintLayout permite você criar layouts grandes e complexos com uma hierarquia de visão plana (sem grupos de visão aninhados)
-
- MVVM é o padrão de design de arquitetura de software que a Google indica para os novos desenvolvimento. Os novos componentes de arquitetura já são lançados com suporte a esse tipo de padrão
-
- Repository é estratégia para abstrair o acesso aos dados. Ele é composto pelo código em uma aplicação que lida com o armazenamento e a recuperação de dados. Mais detalhes
- Dependency injection é um padrão de desenvolvimento de programas de computadores utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema
- Adapter o padrão Adapter converte a interface de uma classe para outra interface que o cliente espera encontrar, "traduzindo" solicitações do formato requerido pelo usuário para o formato compatível com o a classe adapter e as redirecionando. Dessa forma, o Adaptador permite que classes com interfaces incompatíveis trabalhem juntas
-
- Single Responsibility (SRP) principio da Responsabilidade Única
- Interface Segregation (ISP) princípio da Segregação da Interface
- Dependency Inversion (DIP) princípio da inversão da dependência