Projeto: Gerenciador de Tarefas (To-Do App)
Objetivo
Desenvolver uma aplicação web utilizando JavaScript e React que permita gerenciar tarefas
diárias com persistência local utilizando localStorage.
Requisitos Funcionais
• Adicionar nova tarefa
• Listar todas as tarefas
• Marcar tarefa como concluída
• Editar tarefa existente
• Remover tarefa
• Filtrar tarefas (todas, concluídas, pendentes)
Requisitos Técnicos
• Utilizar React com componentes funcionais
• Uso de hooks (useState e useEffect)
• Gerenciamento de estado global com Redux
• Persistência de dados utilizando localStorage
• Manipulação de eventos (onClick, onChange, onSubmit)
• Uso de JavaScript moderno (arrow functions, destructuring, let/const)
Arquitetura e Organização
• Dividir a aplicação em componentes reutilizáveis
• Separar lógica de negócio da apresentação (UI)
• Manter organização de pastas consistente
Regras de Negócio
• Não permitir criação de tarefas vazias
• Cada tarefa deve possuir um ID único
• Estado da tarefa (concluída ou não) deve ser persistido
• Dados devem ser carregados automaticamente ao iniciar a aplicação
Persistência (localStorage)
• Salvar tarefas sempre que houver alteração
• Carregar tarefas ao iniciar a aplicação
• Estruturar dados em formato JSON
Extras (Opcional)
• Contador de tarefas restantes
• Ordenação por data de criação
• Interface estilizada
• Tratamento de erros
• Separação clara entre lógica e apresentação