O aplicativo consome uma API REST para buscar os dados referentes as notícias do mundo de cripto moedas.
A API utilizada foi a NewsAPI
O aplicativo possui duas telas e elas são:
- 1º Tela para consultar as notícias por tipo de moeda selecionada ou todos os tipos de cripto moedas;
- 2º Tela para visualizar os detalhes da notícia selecionada. Nessa tela é possível navegar até o site oficial.
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
- Glide é um rápido e eficiente gerenciamento de mídia open source e estrutura de carregamento de imagens para Android que envolve decodificação de mídia, memória e cache de disco, e agrupamento de recursos em uma interface simples e fácil de usar.
-
- 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