Gestão técnica sem fronteiras.
Kanban, geolocalização de clientes, controle de estoque, SLA, relatórios e muito mais — tudo em uma única plataforma dark, rápida e segura.
Interfaces construídas para velocidade e clareza — sem distrações.
Cada módulo foi construído para resolver um problema real de operações técnicas de campo.
Arraste e solte tarefas entre colunas. Prioridades, SLA, responsáveis e anexos em um único painel.
Visualize todos os clientes no mapa. Filtre por tarefas abertas, equipamentos instalados ou status geográfico.
Cadastro completo com endereço, contato, coordenadas manuais e mapa interativo diretamente no formulário.
Rede de equipamentos com relações parent-child, histórico de instalação, localização por cliente e rede visual.
Gerencie peças por tarefa, estoque mínimo e alertas de reposição. Cada tarefa tem sua própria aba de peças consumidas.
Relatórios analíticos e sintéticos com filtros de data, técnico e cliente. Exportação em PDF e CSV.
Regras de SLA por categoria e prioridade. Escalação automática com notificações quando o prazo é ultrapassado.
Permissões granulares por módulo. Roles: Admin, Técnico, Dashboard. Auditoria completa de todas as ações.
Visualize tarefas em formato calendário mensal. Identifique acúmulos e distribua melhor o trabalho da equipe.
Explore cada área do DashTask em detalhe.
O coração do DashTask. Tarefas são criadas com título, descrição, cliente, técnico responsável, categoria, prioridade e data prevista. O fluxo principal ocorre no Kanban com colunas configuráveis.
Cada cliente possui dados completos de endereço com geocodificação automática via CEP e Nominatim. A localização pode ser refinada manualmente com mapa interativo.
Visualização em mapa de todos os clientes geocodificados. Agrupa marcadores quando afastado e expande individualmente conforme o zoom aumenta.
Dois modos de relatório: Analítico (detalhado por tarefa) e Sintético (agrupado por técnico/cliente). Filtros de período, técnico e cliente com exportação direta.
Controle total da plataforma: usuários, permissões, categorias, configurações de SLA, tokens de API e log de auditoria.
Tudo que você precisa saber para operar o DashTask no dia a dia.
O DashTask é uma aplicação Next.js 16 com banco de dados MariaDB/MySQL. Siga os passos abaixo para configurar o ambiente de produção.
# Clone ou extraia o projeto cd /var/www/dashtask # Instalar dependências pnpm install # Fazer build de produção pnpm build # Iniciar com PM2 pm2 start npm --name dashtask -- start pm2 save
Crie um arquivo .env.local na raiz do projeto:
# Banco de dados DB_HOST=localhost DB_PORT=3306 DB_USER=dashtask DB_PASSWORD=sua_senha_aqui DB_NAME=dashtask # Sessão (gere um token aleatório) SESSION_SECRET=seu_segredo_aqui_minimo_32_chars # Porta padrão: 3000
/api/install para criar o banco de dados e o usuário admin automaticamente.
Após a instalação, algumas configurações são necessárias antes de usar o sistema em produção.
Acesse Admin › Checklist para ver todos os itens pendentes de configuração. O sistema guia você pelos passos necessários.
Para ativar o modo manutenção, vá em Admin › Configurações › Modo Manutenção. Todos os usuários (exceto admin) são redirecionados para uma página de aviso.
3000. Consulte a documentação do Nginx para configurar SSL com Certbot.
As tarefas são o elemento central do DashTask. Elas representam qualquer trabalho a ser realizado por um técnico para um cliente.
| Status | Descrição | Ação seguinte |
|---|---|---|
Aberto | Tarefa criada, aguardando início | Mover para Em Andamento |
Em Andamento | Técnico trabalhando | Concluir ou Bloquear |
Concluído | Trabalho finalizado | — |
Cancelado | Tarefa descartada | — |
| Prioridade | Uso recomendado |
|---|---|
Baixa | Melhorias, sem urgência |
Normal | Demandas regulares |
Alta | Impacto no cliente |
Urgente | Sistema crítico parado |
Dentro de cada tarefa, use a aba Checklist para criar subtarefas. A barra de progresso atualiza automaticamente conforme itens são marcados. Na aba Anexos, faça upload de fotos, documentos e evidências do atendimento.
Clientes são o ponto central de todo atendimento. Cada cliente possui endereço, contato e localização geográfica para uso no GeoDash.
O sistema oferece três formas de definir as coordenadas de um cliente:
O formulário de cliente inclui um mini mapa Leaflet no lado direito. Clique em qualquer ponto do mapa para posicionar o pin, ou arraste o pin existente para ajustar a localização. As coordenadas são atualizadas automaticamente nos campos de latitude e longitude.
Acesse Admin › Clientes › Importar para enviar um arquivo CSV ou JSON. O sistema exibe um preview dos dados antes de confirmar a importação.
NOME;CODIGO;CONTATO;TELEFONE;EMAIL;CLIENTE_ATIVO;CEP;ENDERECO;NUMERO;COMPLEMENTO;BAIRRO;CIDADE;UF;LATITUDE;LONGITUDE Empresa ABC;CLI001;João Silva;11999990000;joao@abc.com.br;1;01310100;Av. Paulista;1000;;Bela Vista;São Paulo;SP;-23.5613;-46.6558 Indústria XYZ;CLI002;Maria;21988880000;maria@xyz.com;1;20040020;Av. Rio Branco;500;;Centro;Rio de Janeiro;RJ;;
O GeoDash exibe todos os clientes geocodificados em um mapa interativo. Use-o para planejar rotas, identificar concentrações geográficas e monitorar atendimentos por região.
| Modo | Marcadores exibidos |
|---|---|
Todos | Todos os clientes com coordenadas |
Tarefas | Somente clientes com tarefas abertas |
Equipamentos | Somente clientes com equipamentos |
Quando o mapa está afastado (zoom < 9), os marcadores são agrupados em clusters com o número total. Ao aproximar para zoom ≥ 9, todos os marcadores individuais aparecem automaticamente. Clique em um cluster para centralizar e expandir a área.
Abaixo do mapa principal, o GeoDash exibe um mapa coroplético do Brasil mostrando a distribuição de clientes por estado. Estados mais escuros indicam maior concentração.
geocode_status = 'pending' não aparecem no mapa. Use o botão Recalcular no cadastro para geocodificá-los.
Controle de peças e materiais utilizados nas tarefas técnicas. Cada tarefa registra os itens consumidos, atualizando o estoque automaticamente.
Acesse Estoque no menu lateral para gerenciar o catálogo de peças.
Na aba Peças de qualquer tarefa, adicione os itens utilizados com a quantidade. O sistema debita do estoque ao confirmar e exibe histórico completo de uso.
Dois modos de relatório para acompanhar a produtividade da equipe e os atendimentos por período.
Lista todas as tarefas do período com detalhes completos: técnico, cliente, categoria, prioridade, data de criação, data de conclusão e status de SLA. Ideal para análise detalhada de atendimentos.
Agrupamento por técnico com totais de tarefas concluídas, pendentes, SLA cumprido e violado. Ideal para avaliação de desempenho da equipe.
O controle de acesso do DashTask é baseado em roles com permissões granulares por módulo. Cada usuário pode ter acesso personalizado.
| Role | Acesso |
|---|---|
admin | Acesso total a todos os módulos e configurações |
technician | Tarefas, clientes, equipamentos e estoque (sem admin) |
dashboard | Somente leitura nos painéis principais |
| Permissão | Descrição |
|---|---|
task.create | Criar novas tarefas |
task.update | Editar tarefas existentes |
task.delete | Excluir tarefas |
client.view | Visualizar clientes |
client.create | Criar e importar clientes |
equipment.manage | Gerenciar equipamentos |
reports.view | Acessar relatórios |
admin.panel | Acessar painel administrativo |
O SLA (Service Level Agreement) define o prazo máximo para resolução de tarefas com base na categoria e prioridade.
Acesse Admin › SLA e crie regras combinando categoria + prioridade + horas limite.
Quando uma tarefa ultrapassa o prazo definido, o sistema registra a violação e pode notificar os responsáveis. O dashboard SLA exibe todas as tarefas em risco ou já violadas em tempo real.
Importe uma grande quantidade de clientes de uma só vez usando um arquivo CSV ou JSON. O sistema valida os dados antes de confirmar a importação.
Use ponto-e-vírgula (;) como separador. Primeira linha deve ser o cabeçalho.
| Coluna | Tipo | Obrigatório |
|---|---|---|
NOME | texto | Sim |
CODIGO | texto | Não |
CONTATO | texto | Não |
TELEFONE | texto | Não |
EMAIL | texto | Não |
CLIENTE_ATIVO | 1 / sim / true | Não (padrão: 1) |
CEP | texto | Não |
ENDERECO | texto | Não |
NUMERO | texto | Não |
COMPLEMENTO | texto | Não |
BAIRRO | texto | Não |
CIDADE | texto | Não |
UF | 2 letras | Não |
LATITUDE | decimal | Não |
LONGITUDE | decimal | Não |
Todos os endpoints da API requerem sessão autenticada.
Autentique-se via POST /api/auth/login antes de fazer outras requisições.
// Requisição { "username": "admin", "password": "sua_senha" } // Resposta 200 { "ok": true, "user": { "id": 1, "role": "admin" } }
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/tasks | Listar tarefas com filtros |
POST | /api/tasks | Criar nova tarefa |
PATCH | /api/tasks/[id] | Atualizar tarefa |
DELETE | /api/tasks/[id] | Excluir tarefa |
GET | /api/clients | Listar clientes |
POST | /api/clients | Criar cliente |
GET | /api/geodash | Dados geográficos do mapa |
GET | /api/reports/analytical | Relatório analítico |
GET | /api/reports/synthetic | Relatório sintético |
GET | /api/cep/[cep] | Consulta de CEP |
GET | /api/health | Status da aplicação |
{ "error": "Mensagem de erro" } com o HTTP status code adequado.
Evolução planejada da plataforma com base no uso real em produção.