Este projeto foi desenvolvido durante a 9ª edição da Dart Week - Academia do Flutter
Durante o evento, exploramos várias features do Flutter, incluindo:
- Consulta de API utilizando o pacote Dio;
- Modelagem de Dados eficiente e flexível;
- Implementação do padrão de arquitetura BLoC para gerenciamento de estado;
- Testes e documentação das APIs utilizando Postman Collections;
- Personalização de temas para proporcionar uma aparência agradável e consistente;
- Utilização de DTOs (Data Transfer Objects) para transferência de dados eficiente;
- Gerenciamento de estado global utilizando a biblioteca de Providers;
- Utilização do Pattern Matching (match) para simplificar o código e melhorar a legibilidade;
- Criação de mixins para reutilização de código em diferentes partes do aplicativo;
- Extensões de classes para adicionar funcionalidades extras;
- Utilização de ambientes (Environments) para facilitar a configuração do aplicativo em diferentes cenários;
- Implementação do fluxo do Carrinho de Compras, permitindo aos usuários adicionar e gerenciar produtos selecionados;
- Implementação de um fluxo de Login e Logout seguro e confiável;
- Uso de Interceptors do Dio para manipular e modificar solicitações e respostas de API;
- Implementação de autenticação com tokens de autenticação e tokens de atualização (Refresh Tokens);
- Persistência de dados utilizando o pacote shared_preferences.
É necessário ter o Flutter instalado.
https://flutter.dev/docs/get-started/install
O aplicativo consome os dados do backend, para isso configure json_rest_server:
https://pub.dev/packages/json_rest_server
- Instale as dependências
$ flutter pub get
- Execute:
$ flutter run
- Para o backend, instale o json_rest_server
$ dart pub global activate json_rest_server
- Crie um diretório do backend
$ json_rest_server create .\backend
- Entre no diretório:
$ cd backend
- Para inicializá-lo, execute o comando:
$ jrs run
