Aplicativo focado no consumo robusto de APIs REST utilizando a arquitetura focada na separação de responsabilidades e injeção de dependências.
- Gerenciamento de Estado Reativo: Utilização da biblioteca
MobXpara gerenciar as ações, mutações de estado e reatividade da UI de forma transparente. - Cache Offline-First: Implementação de persistência local de dados com
shared_preferences. O aplicativo exibe instantaneamente o último feed de postagens armazenado localmente enquanto sincroniza novos dados em background com a API. - Injeção de Dependências & Repository Pattern: O acesso aos dados é abstraído via interfaces (
IPostRepository,IHttpClient), permitindo o baixo acoplamento e facilitando a criação de testes e mocks. - Tratamento de Exceções Customizadas: Criação de classes específicas de erro (
NotFoundException) para interceptar e repassar feedbacks precisos do servidor (HTTP Status Codes) para a camada de visualização.
- Flutter & Dart (Versão 3.x)
- MobX & flutter_mobx
- http (Protocolos de rede)
- shared_preferences (Storage local)
-
Clone o repositório: git clone https://github.com/thfields/Flutter_ConsumerAPI.git
-
Instale as dependências: flutter pub get
-
Gere os arquivos da Store do MobX: flutter pub run build_runner build --delete-conflicting-outputs
-
Execute o aplicativo: flutter run