Aplicativo de loja, com autenticação de usuário, onde é possível visualizar os produtos disponíveis, adicionar e editar novos produtos, incluir itens a um carrinho de compras e efetuar pedidos de compra. Utilizando requisições HTTP e persistência de dados no Firebase.
Projetado para fins de estudo pela Cod3r - https://www.udemy.com/course/curso-flutter/
- Inherited Widget;
- GridView para exibição de produtos;
- Pacote provider para o gerenciamento de estado;
- Utilização de Mixins;
- ChangeNotifierProvider, Consumer e MultiProvider;
- Snackbar para notificação e ações na adição de produtos ao carrinho;
- Confirmações com Dialog;
- TextFormField, validator, keyboardType e mensagens de erro;
- Entradas de múltiplas linhas;
- Requisições HTTP e API REST;
- Tratamento de erros nas requisições;
- Async/Await;
- Pull-To-Refresh para atualização com o banco de dados;
- Ações otimistas (exclusão e marcação de favorito);
- Armazenamento de dados no Firebase;
- Autenticação de usuário com tratamento de erros e gerenciamento de Token;
- Compartilhamento de Token via ProxyProvider;
- Login e Logout automáticos;
- Animações de widgets e páginas.