- 📖 Sobre
- 📱 Preview
- 📦 Assets
- 🛠️ Funcionalidades e Tecnologias Estudadas
- 🤯 Desafios e Aprendizados ao longo do caminho
- 🤔 Como usar
- 💪 Como contribuir
- 📝 Licença
Projeto desenvolvido na Academia do Flutter (ADF), do Especialista em Flutter, Rodrigo Rahman.
No desenvolvimento desse app, pude aprender como é feita uma arquitetura de módulos, semelhante ao que o flutter_modular faz.
Utilizamos o package provider para podermos gerenciar nossa dependências (DI) e uma navegação própria, chamada de AppNavigator.
Para gerenciar o estado de aplicação, utilizamos a gerência nativa do Flutter, o ChangeNotifier.
- Consulta da API usando o package Dio
- ChangeNotifier como Gerenciamento de Estado
- Fluxo de Login e Logout com a aplicação
- Armazenamento de dados no celular com o SQLite
- Navegação própria do app
- Migrations
- Modularização
- Autenticação com Firebase
- Providers
- Mixins
- Telas:
- Splash (tela inicial do app para transição)
- Home (tela principal do app, lista todas as tarefas, podendo filtrar por finalizadas ou não e que serve de fluxo inicial para as demais telas descritas abaixo)
- Login (onde possui o fluxo de login)
- Register (onde possui o fluxo de cadastro de usuário)
- Tasks (criação da tarefa, necessitando preencher uma data e uma descrição da mesma)
Com esse aplicativo, aprendi muito uma arquitetura diferente e à priori, divertida para se usar em desenvolvimento com Flutter. Modularizar o app facilita para a manutenção do código e adição de novas features também, onde cada módulo é indidivual, não dependendo do outro para funcionar.
Aprendi também a usar o provider a fundo com o ChangeNotifier, recomendado pela própria Google. Foi desafiador entender de começo como funciona essa gerência de estado, mas gratificante saber o que de fato está ocorrendo!
É necessário ter o Flutter instalado. Para configurar o ambiente de desenvolvimento na sua máquina:
https://flutter.dev/docs/get-started/install
- Clone o repositório:
$ git clone https://github.com/GabrielCR99/dw9_vakinha_burger_bloc dw9_vakinhar_burger_bloc
- Entre no diretório:
$ cd dw9_vakinhar_burger_bloc
- Instale as dependências:
$ flutter pub get
- Em outro terminal, no diretório raiz do projeto, execute:
$ flutter run
- Gosto bastante de seguir a seguinte Style Guide de Commits 😊:
https://udacity.github.io/git-styleguide/
- Dê um fork no projeto
- Cria uma nova branch com suas mudanças:
$ git checkout -b my-feature
- Salve suas mudanças e faça uma mensagem de commit message sobre suas alterações:
$ git commit -m "feat: My new feature"
- Envie suas mudanças:
$ git push origin my-feature
Esse repositório está sobre a Licença MIT, e você pode vê-la no arquivo LICENSE para mais detalhes. 😉
Esse projeto foi desenvolvido com ❤️ por @Gabriel Roveri, com o instrutor @Rodrigo Rahman, no evento #DartWeek da Academia do Flutter.
Se isso te ajudou, dê uma ⭐, e contribua, isso irá me ajudar também 😉