O objetivo deste desafio é desenvolver um aplicativo Flutter para gerenciar uma lista de tarefas, utilizando o Riverpod para gerenciar estados complexos e Flutter Hooks para estados mais simples da aplicação. O aplicativo deve oferecer uma experiência de usuário intuitiva e responsiva, além de garantir a confiabilidade e a qualidade dos dados coletados. Espera-se que o desenvolvimento siga boas práticas de engenharia de software, incluindo SOLID, Clean Code, TDD e Arquitetura MVVM
- Gerenciamento de tarefas: Criação, edição, deleção e conclusão de tarefas. Priorização de tarefas. Busca por tarefas. Notificações para tarefas com data de vencimento próxima.
- Interface do usuário: Tela inicial com lista de tarefas. Tela de detalhes da tarefa. Tela de criação/edição de tarefas.
- Riverpod: Utilizar o Riverpod para gerenciar o estado da aplicação de forma eficiente e escalável.
- Flutter Hooks: Gerenciamento de estados mais simples
- Testes: Implementar testes unitários.
- Código fonte: O projeto deve ser entregue em um repositório Git (GitHub, GitLab, etc.), com um README.md detalhando a arquitetura, decisões técnicas e instruções de execução.
- Documentação: Documentação clara e concisa sobre as funcionalidades do aplicativo.
- Utilização do Riverpod: Avaliar a correta utilização do Riverpod para gerenciar o estado da aplicação.
- Qualidade do código: Clareza, organização, utilização de boas práticas e padrões de design.
- Testes: Cobertura de testes unitários.
Quebra tudo! Não pera 😅...
Dê o seu melhor. Estamos no aguardo da sua solução. 🚀