Este é todo, você pode acessá-lo por este link, ele é um projeto desafio feito após finalizar o primeiro módulo do curso Ignite React da Rocketseat visando usar, fixar e avaliar todos os conhecimentos do primeiro módulo, a função dessa aplicação é permitir ao usuário adicionar, marcar como concluído e remover "todos", uma lista de tarefas que deseje concluir e ter uma lista com seu progresso.
Como o que foi pedido para o desafio foi bem simples resolvi incrementar com algumas coisas que irei citar abaixo:
- Adicionei redux para gerenciar os estados da aplicação de forma mais centralizada e fácil entre os componentes;
- Também tornei os dados persistentes, assim caso atualize ou saia do navegador a sua lista de tarefas continuará lá;
- Criei um botão que reorganizava a lista, de acordo com as posições da lista;
- Fiz algumas melhorias nas regras de como os todos eram adicionados e marcados como concluídos;
- Durante a criação da tarefa é verificado se a lista está invertida ou não para assim adicionar a nova tarefa na posição correta;
- Quando atualizado o estado de concluída ou não, também é checado para entender se a lista está invertida, além disso, as novas tarefas concluídas são colocadas no começo das concluídas ao fim da lista.
Instale as dependências do projeto com:
npm i
Para iniciar a aplicação use:
npm run dev
- O projeto foi escrito usando Typescript;
- React com Vite;
- Redux com Redux Toolkit e persistência de dados com Redux Persist;
- Usei SASS como pre processador de css para me dar mais liberdade na escrita das folhas de estilo.
- Ícones com Phosphor;
- Gerenciamento de classes usando a biblioteca clsx;
- Componentes primitivos usando Radix Ui;
Não foi detectado nenhum até o momento.
Acredito que para o escopo do projeto não tenha nada em mente para melhoria além de pequenos "tweaks" em alguns visuais como o modal de confirmação de remoção de tarefa no mobile e no focus em alguns botões que não seguem o formato correto.
Marcelo "Masa" Alves
- 1.0 - (23/09/2022)
- Lançamento inicial