Exercícios: lembretes favoritos em Flutter
Exercício de Flutter guiado por commits: construa um aplicativo de lembretes com cadastro, listagem, remoção, favoritos e filtro, publicado com tag e pull request.
1. Visão geral
Este exercício é baseado no protótipo a seguir. Utilize o protótipo como inspiração. Seu aplicativo não precisa ser idêntico a ele. O importante é que ele tenha as funcionalidades descritas e que permita que sejam utilizadas facilmente, proporcionando boa experiência ao usuário.

Protótipo do aplicativo de lembretes.
O que você vai praticar
- Composição de widgets em Flutter, com um widget exclusivo para cada funcionalidade
- Atualização da tela em tempo real a partir de dados digitados pelo usuário
- Remoção, favoritos e filtro de itens de uma lista
- Um fluxo de trabalho com Git: fork, commits com mensagens padronizadas, tag e pull request
O que você vai precisar
- O SDK do Flutter e um editor (como o VS Code)
- Git e uma conta no GitHub
2. Instruções
- O exercício pode ser feito em duplas.
- Não vale nota.
- Comece fazendo um fork do seguinte repositório.
https://github.com/professorbossini/20252_maua_ecm252_exercicio_flutter_lembretes_favoritos_modelo
Ele contém apenas uma aplicação Flutter padrão.
- No arquivo chamado
README.mdjá existente no repositório, coloque os nomes e RAs de cada aluno.
Mensagem do commit
docs: inclui nomes e ras
3. Requisitos: widget principal, cadastro e lista fictícia
1 Componente principal
O projeto deve ter um widget principal. Ele deve exibir o texto "Hello, Lembretes".
Mensagem do commit
feat: cria widget principal e faz hello
2 Cadastro de novo lembrete
Deve ser possível digitar uma descrição de lembrete e clicar em um botão para cadastrá-lo. Essa funcionalidade deve ser implementada por um widget exclusivo para este fim. O Widget deve ser filho do principal, substituindo o texto "Hello, lembretes".
Mensagem do commit
feat: cria widget de entrada
3 Exibição de lembretes fictícios
Deve ser possível visualizar uma lista de lembretes fictícios (ou seja, chumbados no código, nada que o usuário tenha digitado em tempo de requisição). A lista de lembretes chumbada, nesta versão, deve ser a mesma que o protótipo mostra. Essa funcionalidade deve ser implementada por um widget exclusivo para este fim. O widget deve ser filho do principal.
Mensagem do commit
feat: exibe lista ficticia
4. Requisitos: lista real, remoção, favoritos e filtro
4 Exibição de lembretes informados pelo usuário
Deve ser possível visualizar os lembretes digitados pelo usuário. A lista é atualizada em tempo real, sempre que o usuário digita um lembrete novo. Nesta versão, a lista de lembretes fictícios não é mais exibida.
Mensagem do commit
feat: exibe lista real
5 Remoção de lembretes
Deve ser possível remover lembretes. Cada um exibe um ícone que, quando clicado, causa a sua remoção.
Mensagem do commit
feat: remove lembretes
6 Favoritar lembretes
Deve ser possível favoritar lembretes. Cada um exibe um ícone que viabiliza isso. Quando clicado, o ícone muda, mostrando que aquele é um lembrete favorito. Quando clicado novamente, o ícone volta ao normal, mostrando que ele não é mais favorito.
Mensagem do commit
feat: favorita lembretes
7 Filtro de lembretes
Deve ser possível filtrar lembretes. Há duas opções: exibir todos eles ou exibir apenas os favoritos. A aplicação deve oferecer um mecanismo visual para que o usuário escolha o que deseja ver. Um botão, por exemplo.
Mensagem do commit
feat: filtra lembretes
5. Publicando a versão final
Chegar até aqui é notável. Significa que o aplicativo está pronto. Marque o último commit como importante. Revele-o para o mundo. Faça nova tag.
Rótulo da tag
v1.0.0
Mensagem da tag
Aplicação de gerenciamento de lembretes. Nunca mais esqueça seus afazeres importantes. Favorite os principais.
A seguir, faça um pull request para o repositório do professor.
6. Encerramento
Parabéns! Seu aplicativo de lembretes cadastra, lista, remove, favorita e filtra lembretes, e cada etapa ficou registrada em um commit com mensagem padronizada, com a versão final marcada pela tag v1.0.0.