Para facilitar a dinâmica de integração do nosso App, criamos uma Pseudo-API usando o GitHub Pages, a qual está disponível na seguinte URL: https://digitalinnovationone.github.io/copa-2022-android/api.json
- ✅ Explore o projeto base e entenda seus módulos e responsabilidades:
- app: Contém as classes de nível de aplicativo e scaffolding que vinculam o restante da base de código.O módulo "app" depende de todos os módulos de recursos e módulos principais necessários;
- data: abstração para o acesso à fontes de dados, organizada da seguinte forma:
- data: Neste módulo são declarados os DataSources "remote" e "local", bem como a implementação dos repositórios de acordo com a lógica de negócio necessária;
- local: Contém uma implementação do Room como fonte de dados local;
- remote: Implementação de uma fonte de dados remota usando o Retrofit como client HTTP.
- domain: Neste módulo são declarados os casos de uso (funcionalidades) da aplicação;
- notification-scheduler: Módulo específico para a criação das Notificações via Work Manager.
- ⬜ Criar os casos de uso para as seguintes funcionalidades:
- Buscar Partidas:
GetMatchesUseCase.kt
; - Habilitar Notificação:
EnableNotificationUseCase.kt
; - Desabilitar Notificação:
DisableNotificationUseCase.kt
.
- Buscar Partidas:
- ⬜ Criar o
MainViewModel.kt
para orquestrar as interações com aMainActivity.kt
; - ⬜ Criar a
MainScreen.kt
para criar a UI por meio do Jetpack Compose; - ⬜ Integrar o ViewModel e Activity, através da observação de estados;
- ⬜ Por fim, criar o Work Manager para orquestrar as Notificações Push localmente.
Todos esses TODOs foram realizados nesta live incrível, com a participação de pedrox-hs, EzequielMessore, igorbag e falvojr. Segue a gente aqui no GitHub e no LinkedIn 😉
Bons estudos galera 😘