Skip to content

drsjr/android-tvshow

Repository files navigation

Android TvMaze Project

Resumo

Este é um simples projeto Android utilizando a Arquitetura MVVM Clean Arch.

  • Koin para injeção de dependência.
  • Coroutines + Flow para controle assíncrono do aplicativo.
  • Multi-módulos para melhor separação da responsabilidades.
  • O arquivo TOML para gerenciar as bibliotecas.

Estruturação do App

Eu dividi em três módulos sem contar o módulo :app, segundos os padrões do Clean Code com as camadas:

  • Presentation: :feature:catalog
  • Domain: :domain:tvmaze
  • Data: :data:tvmaze

O fato de eu ter feito multi-módulos deixou bem mais visível a responsabilidade de cada módulo, assim melhorando a leitura e entendimento do código.

Outro ponto foi eu ter utilizado o Navigation e o Safe Args para passar os dados eu um Fragment para outro deixando a navegação bem mais simples.

Criar o módulo features (Presentation Layer) vai nos permitir builds mais rápidas, poís caso isso seja implementado somente no módulo :app, com o tempo e a adição de novas features acarretará na demora de compilação por estar tudo em um lugar só.

A imagem foi gerada pelo task projectDependencyGraph, use o site Graphviz, para entender como criar o grafo.

Funcionalidade

O Aplicativo é bem simples, ele basicamente lista as Séries que vem da API TvMaze fornece através da API.

O seu uso é bem simples:

Bugs

Problemas existem e muitos deles pretendo resolver:

  • SearchView continua aberto após ir para a tela de detalhes do Show.
  • Manter o estado da tela após o retorno da tela de detalhe.
  • Remover o ícone de busca na tela de detalhe.
  • Melhorar o Handle de Erro

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages