Skip to content

Aplicativo que apresenta uma lista de livros sugerida pelo The New York Times

Notifications You must be signed in to change notification settings

Diego1906/NewYorkTimesBooks

Repository files navigation

App New York Times Books

O aplicativo consome uma API REST para buscar e apresenta uma lista de livros sugerida pelo The New York Times.

API utilizada The New York Times Developer Network.

O aplicativo possui duas telas e elas são:

  • 1º Tela que apresenta a lista de livros;
  • 2º Tela de detalhes do livro selecionado na lista;

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
    • Timber é um logger com uma API pequena e extensível que fornece utilidade sobre a classe Log normal do Android
    • Mockito-Kotlin é uma pequena biblioteca que fornece funções de ajuda para trabalhar com Mockito em Kotlin
    • JUnit é um framework que facilita a criação e manutenção do código para a automação de testes com apresentação dos resultados.
  • 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)
  • Bibliotecas para Testes Unitários

    • Mockito-Kotlin é uma pequena biblioteca que fornece funções de ajuda para trabalhar com Mockito em Kotlin
    • JUnit é um framework que facilita a criação e manutenção do código para a automação de testes com apresentação dos resultados.
  • 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

About

Aplicativo que apresenta uma lista de livros sugerida pelo The New York Times

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages