Uma aplicação moderna de gerenciamento de tarefas com colaboração em tempo real e notificações, construída com Next.js 15, React e TypeScript.
- Criar, editar e excluir tarefas com facilidade
- Alterar status das tarefas (To Do, In Progress, Completed)
- Definir prioridades (Alta, Média, Baixa)
- Atribuir responsáveis para cada tarefa
- Busca em tempo real por título ou descrição
- Design responsivo que funciona em desktop e mobile
- Dark mode com alternância automática baseada no sistema
- Componentes acessíveis seguindo as melhores práticas
- Animações suaves e feedback visual
- Indicador de usuários online em tempo real
- Notificações instantâneas para atualizações de tarefas
- Simulação de colaboradores entrando e saindo do workspace
- Filtro por status (Todas, To Do, In Progress, Completed)
- Filtro por prioridade (Todas, Alta, Média, Baixa)
- Busca textual em títulos e descrições
- Contadores dinâmicos para cada categoria
- Next.js 15 - Framework React com App Router
- React 18 - Biblioteca para interfaces de usuário
- TypeScript - Tipagem estática para JavaScript
- Tailwind CSS - Framework CSS utilitário
- shadcn/ui - Componentes de UI modernos e acessíveis
- Lucide React - Ícones SVG otimizados
- date-fns - Biblioteca para manipulação de datas
-
Clone o repositório ```bash git clone https://github.com/gui1416/task-management.git cd task-management ```
-
Instale as dependências ```bash npm install
yarn install
pnpm install ```
-
Execute o projeto ```bash npm run dev
yarn dev
pnpm dev ```
-
Abra no navegador Acesse http://localhost:3000 para ver a aplicação.
- Clique no botão "New Task" no canto superior direito
- Preencha o título e descrição da tarefa
- Selecione o status, prioridade e responsável
- Clique em "Create Task" para salvar
- Alterar status: Clique no ícone de status ao lado do título
- Editar tarefa: Use o menu de três pontos e selecione "Edit"
- Excluir tarefa: Use o menu de três pontos e selecione "Delete"
- Filtrar tarefas: Use as abas de status
``` src/ ├── app/ │ ├── layout.tsx # Layout principal da aplicação │ └── page.tsx # Página inicial ├── components/ │ ├── ui/ # Componentes base do shadcn/ui │ ├── task-dashboard.tsx # Dashboard principal │ ├── task-list.tsx # Lista de tarefas com filtros │ ├── task-card.tsx # Card individual de tarefa │ ├── task-form.tsx # Formulário de criação/edição │ ├── notification-panel.tsx # Painel de notificações │ ├── collaboration-indicator.tsx # Indicador de usuários └── lib/ ├── data.ts # Dados mockados └── types.ts # Definições de tipos TypeScript ```
O projeto usa o sistema de temas do Tailwind CSS. Para personalizar cores:
- Edite o arquivo `tailwind.config.ts`
- Modifique as variáveis CSS em `app/globals.css`
Para adicionar novos status de tarefas:
- Atualize o tipo `Task` em `lib/types.ts`
- Modifique os componentes `TaskForm` e `TaskCard`
- Adicione as novas opções nos selects
- Autenticação de usuários com NextAuth.js
- Banco de dados com Supabase ou PostgreSQL
- WebSockets para colaboração em tempo real
- Drag & Drop para reorganizar tarefas
- Comentários nas tarefas
- Anexos de arquivos
- Relatórios e analytics
- Notificações push
- Testes unitários com Jest e Testing Library
- Testes E2E com Playwright
- PWA para uso offline
- Internacionalização (i18n)
Contribuições são sempre bem-vindas! Para contribuir:
- Faça um fork do projeto
- Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
- Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
- Push para a branch (`git push origin feature/AmazingFeature`)
- Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido por Guilherme