Este aplicativo exibe uma lista de posts em um estilo minimalista, focado na leitura, sem imagens. Ele permite visualizar, criar e excluir posts, funcionando completamente offline. Desenvolvido em Flutter, utiliza MVVM como padrão arquitetural e Bloc para gerenciamento de estado.
- Linguagem: Dart
- Framework: Flutter
- Arquitetura: MVVM
- Gerenciamento de estado: flutter_bloc
- Injeção de dependências: get_it
- Persistência de dados: shared_preferences
- Modo Offline: Suporte total para funcionamento sem conexão com a internet
lib/
├── app/ # Lógica de negócios e UI
│ ├── models/ # Modelos de dados
│ ├── repositories/ # Lógica de acesso a dados
│ ├── services/ # Serviços e requisições HTTP
│ ├── viewmodel/ # Gerenciamento de estado
│ └── views/ # Telas do aplicativo
├── core/ # Funcionalidades centrais
│ ├── constants/ # Constantes globais
│ ├── theme/ # Estilos globais
│ ├── utils/ # Funções auxiliares
└── main.dart # Arquivo principal de execução
As seguintes bibliotecas foram utilizadas no projeto:
dependencies:
equatable: ^2.0.7
http: ^1.3.0
shared_preferences: ^2.5.2
flutter_bloc: ^9.0.0
get_it: ^8.0.3
dev_dependencies:
build_runner: ^2.4.15
mockito: ^5.4.5
bloc_test: ^10.0.0O projeto inclui testes unitários e de widgets utilizando flutter_test e mockito.
Para rodar os testes:
flutter test-
Clone o repositório:
git clone https://github.com/origemjhanpoll/flutter_posts_test cd flutter_posts_test -
Instale as dependências:
flutter pub get
-
Execute o aplicativo:
flutter run
Sinta-se à vontade para abrir issues ou enviar PRs com melhorias!
Este projeto está sob a licença MIT.


