Skip to content

Aplicativo de notas desenvolvida na Academia do Flutter, utilizando arquitetura modular, com o uso do package provider para distribuir estado. Utiliza ChangeNotifier como gerência de estado

License

Notifications You must be signed in to change notification settings

GabrielCR99/todo_list_provider

Repository files navigation

Logo App ToDoList

ToDoList


Tópicos 📋


📖 Sobre

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.


📱 Preview

ToDoList Demonstração


🛠️ Funcionalidades e Tecnologias Estudadas

  • 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)


🤯 Desafios e Aprendizados ao longo do caminho

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!


🤔 Como usar

É 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

💪 Como contribuir

- 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

📝 Licença

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 😉


Linkedin Badge

About

Aplicativo de notas desenvolvida na Academia do Flutter, utilizando arquitetura modular, com o uso do package provider para distribuir estado. Utiliza ChangeNotifier como gerência de estado

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages