- Apresentar o conteúdo a ser ministrado e como o projeto vai ser desenvolvido
- Clonar o projeto do GitHub e passar uma visão geral da estrutura do projeto
- Configurar os flavors e as dimensões de flavors no arquivo build.gradle do módulo app: Flavors => bike, car, client, admin - Dimensões => product, side
- Criar as pastas dos flavors dentro da pasta src do módulo app
- Criar os ícones de launcher correspondentes aos flavors usando o recurso do Android Studio chamado Image Asset
- Configurar o projeto no Firebase com 4 aplicativos e importar o arquivo google-services.json para o projeto. Configurar o projeto com o plugin do Firebase.
- Visão geral sobre a Clean Architecture
- Criar as camadas de dados e domínio
- domain/model/**
- domain/usecase/**
- data/**
- Implementação inicial da classe modelo, casos de usos e repositórios (abstração)
- Implementar a fonte de dados para cadastrar e consultar os produtos no Firebase
- Implementar as duas últimas funções da fonte de dados do Firebase
- Implementar todos os casos de uso da aplicação
- Implementar o layout da tela adicionar produto
- Implementar os listeners do formulários
- Obter o imageUri de uma foto usando ActvityResultContracts.GetContents()
- Implementar o view model da tela Adicionar Produto
- Configurar a biblioteca de injeção de dependência no Projeto (DaggerHilter)
- Iniciar os serviços do Firebase (Firestore e Storage)
- Testar o cadastro de produtos pelo aplicativo
- Implementar o layout da tela de listagem de produtos
- Implementar o adapter da listagem de produtos
- Vincular o adapter com o recycler view de produtos
- Implementar o view model para buscar os produtos
- Permitir que apenas os aplicativos que são Admin's mostrem o botão de cadastrar produto
- Navegar para a tela de cadastro
- Atualizar listagem de produtos ao adicionar um novo produto usando o navBackStackEntry
- Swipe to refresh - atualização da listagem de produtos
- Definir e utilizar a paleta de cores do projeto Carro
- Definir e utilizar a paleta de cores do projeto Bike