Clean Architecture

Referência: clean architecture

✅ Objetivo: separação clara de responsabilidades, facilita testes e manutenção.

Organização de pastas - Revisar pois foi gerado por AI

app/src/main/java/

└── com/seuapp/ ├── presentation/ ← UI e ViewModels │ ├── screens/ ← Telas (Home, Lista, Login) │ ├── components/ ← Composables reutilizáveis │ └── viewmodel/ ← ViewModels por tela │ ├── domain/ ← Regras de negócio │ ├── model/ ← Modelos (ex.: ShoppingList.kt) │ ├── usecase/ ← Casos de uso (ex.: AddItemUseCase) │ └── repository/ ← Interfaces de repositórios │ ├── data/ ← Implementações de repositórios │ ├── local/ ← Room, DAO, entidades │ ├── remote/ ← Firebase, APIs │ └── repository/ ← Implementações das interfaces │ ├── di/ ← Injeção de dependência (Hilt/Koin) └── utils/ ← Funções auxiliares, extensões

Gerenciamento de Estado - Revisar pois foi gerado por AI

Autenticação - Revisar pois foi gerado por AI