Git Product home page Git Product logo

todolist's Introduction

To Do List

No desafio técnico da Rocketseat, o objetivo era desenvolver um aplicativo de lista de tarefas utilizando React.js. O propósito do desafio envolvia a implementação das seguintes funcionalidades:

  • Adicionar uma nova tarefa: Os usuários deveriam ter a capacidade de adicionar novas tarefas à lista, fornecendo uma descrição para cada uma delas.

  • Marcar e desmarcar uma tarefa como concluída: Seria possível marcar uma tarefa como concluída, indicando visualmente o seu status. Os usuários também teriam a opção de desmarcar uma tarefa previamente concluída, caso necessário.

  • Remover uma tarefa da listagem: Os usuários teriam a opção de remover tarefas da lista, caso não fossem mais relevantes ou necessárias.

  • Mostrar o progresso de conclusão das tarefas: O aplicativo deveria exibir o progresso de conclusão das tarefas, fornecendo informações sobre o número total de tarefas e quantas delas foram concluídas. Essa contagem permitiria aos usuários acompanhar o seu progresso e ter uma visão geral do que foi realizado.

Para iniciar o projeto, foi utilizado o template gerado com o Vite, um poderoso gerador de projetos que proporciona uma configuração inicial pronta para uso. Com a base em Typescript, foi possível aproveitar os benefícios de um sistema de tipagem estática, aumentando a segurança e facilidade de manutenção do código.

Você também pode acessar meu projeto clicando AQUI

Tecnologias

  • React JS
  • Typescript
  • Styled Components
  • Hooks: useForm, useContext
  • Zod (Validation Resolvers)
  • Phosphor Icons (Lib de Ícones)
  • Eslint

Pré requisitos

Antes de rodar você precisar ter instalado na sua máquina as seguintes ferramentas:

  1. Git
  2. Node.js
  3. pnpm
#Clone esse repositório
$ git clone https://github.com/myzerx/ToDoList.git

#Entre na pasta
$ cd ToDoList-Challenge01

#Instale as dependências 
$ pnpm i

#Execute a aplicação em modo de desenvolvimento
$ pnpm dev
#o servidor irá iniciar na porta 3000 - acesse http://localhost:3000

Funcionalidades

O aplicativo de lista de tarefas oferece diversas funcionalidades para facilitar a organização das tarefas. A seguir, detalhamos cada uma delas:

Adicionar uma nova tarefa: Os usuários podem adicionar uma tarefa digitando uma descrição no campo de entrada e pressionando a tecla Enter ou clicando no botão "Criar". Essa funcionalidade permite a inclusão rápida e conveniente de novas tarefas na lista.

Restrição para criar uma nova tarefa: Para criar uma nova tarefa, é necessário começar a digitar no campo de entrada. Somente após iniciar a digitação é possível criar uma nova tarefa. Isso evita tarefas vazias e garante que o usuário forneça uma descrição adequada para cada tarefa.

Marcar uma tarefa como concluída: Para indicar que uma tarefa foi concluída, basta clicar na caixa de seleção ao lado dela. A tarefa será visualmente marcada como concluída, com um risco ou outra forma de destaque. Essa funcionalidade permite ao usuário acompanhar o progresso e identificar facilmente as tarefas já finalizadas.

Verificar o status das tarefas: A parte superior da lista exibe informações relevantes sobre as tarefas. É possível verificar quantas tarefas foram criadas e quantas delas foram concluídas. Essa contagem fornece uma visão geral do número de tarefas existentes e do progresso realizado.

Excluir uma tarefa: Cada tarefa exibida na lista é acompanhada por um botão com o símbolo de uma lixeira. Ao clicar nesse botão, é possível remover a tarefa da lista. Essa funcionalidade permite ao usuário excluir tarefas que não são mais necessárias ou relevantes.

Atualização persistente: Todas as ações realizadas no aplicativo são salvas no local storage do navegador, garantindo que as informações sejam mantidas mesmo após a atualização da página. Isso significa que as tarefas adicionadas, marcadas como concluídas ou excluídas permanecerão salvas e serão restauradas quando o usuário retornar ao aplicativo.

Essas funcionalidades fornecem aos usuários uma experiência intuitiva e prática para gerenciar suas tarefas de forma eficiente e acompanhar o progresso de suas atividades.

Autor

Feito por Richard Lemos LINKEDIN

todolist's People

Contributors

richardcassola avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.