/CryptoNews

O aplicativo consumir uma API REST para buscar os dados referentes a notícias do mundo de cripto moedas.

Primary LanguageKotlin

App Crypto News

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

  • Linguagem de Programação

    • Kotlin
  • Componentes de Arquitetura e Android Jetpack

  • Bibliotecas Externas

    • 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.
  • Bibliotecas Internas

    • 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)
  • Design de Arquitetura

    • 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
  • Padrões de Projeto (Design Patterns)

    • 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
  • Princípios do SOLID utilizados