Manual do Usuário
Guia completo para usar o SmartProj
1. Introdução
Bem-vindo ao SmartProj! Este é um sistema completo de gerenciamento de projetos que permite organizar tarefas, equipes, recursos financeiros e muito mais.
2. Primeiros Passos
2.1. Configurando seu Perfil
- Acesse Configurações no menu do avatar (canto inferior esquerdo)
- Preencha seu nome completo
- Faça upload de uma foto de perfil (opcional)
- Adicione informações de contato se desejar
2.2. Configurando sua Empresa
- Em Configurações > Empresa
- Informe o nome da sua empresa
- Adicione endereço e telefone (opcional)
- Faça upload do logo da empresa (opcional)
2.3. Entendendo o Dashboard
O Dashboard é sua página inicial após fazer login. Ele oferece uma visão geral completa de suas atividades:
- Resumo de Projetos: Estatísticas de projetos ativos, concluídos e pausados
- Resumo Financeiro: Totais de orçamento, despesas e diferença
- Taxa de Conclusão: Gráfico de pizza mostrando o percentual de tarefas concluídas vs. em andamento
- Produtividade: Gráfico de linha mostrando:
- Tarefas criadas ao longo do tempo
- Tarefas concluídas ao longo do tempo
- Tarefas atrasadas (vencidas e não concluídas)
- Tarefas Recentes: Lista das suas últimas tarefas com status coloridos (herdam cores das colunas Kanban)
Exemplo Visual do Dashboard:
Projetos
15
Tarefas
89
Concluídas
54
Equipes
8
Taxa de Conclusão
54 de 89 tarefas concluídas
Tarefas Recentes
3. Centros de Custo
Os Centros de Custo ajudam a organizar projetos por departamento, área ou categoria.
3.1. Criar Centro de Custo
- Acesse Centros de Custo no menu principal
- Clique em "Novo Centro de Custo"
- Preencha o nome (obrigatório)
- Adicione um código identificador (opcional)
- Adicione uma descrição (opcional)
- Clique em "Salvar"
3.2. Usar Centro de Custo em Projetos
Ao criar ou editar um projeto, você pode associá-lo a um centro de custo. Isso facilita a organização e relatórios financeiros.
4. Equipes
As Equipes permitem agrupar usuários para facilitar a colaboração em projetos.
4.1. Criar Equipe
- Acesse Equipes no menu principal
- Clique em "Nova Equipe"
- Informe o nome da equipe
- Adicione uma descrição (opcional)
- Clique em "Salvar"
4.2. Adicionar Membros à Equipe
- Abra a equipe desejada
- Na seção "Membros", clique em "Adicionar Membro"
- Selecione o usuário da lista
- Confirme a adição
5. Projetos
Os Projetos são o coração do SmartProj. Eles organizam tarefas, equipes e recursos financeiros.
5.1. Criar Projeto
- Acesse Projetos no menu principal
- Clique em "Novo Projeto"
- Preencha:
- Nome: Nome do projeto (obrigatório)
- Descrição: Detalhes do projeto
- Status: Rascunho, Ativo, Pausado, Concluído ou Cancelado
- Data Início/Fim: Período do projeto
- Cor: Cor de identificação
- Centro de Custo: Associação opcional
- Clique em "Salvar"
5.2. Visualizações do Projeto
Cada projeto possui 5 visualizações diferentes:
- Detalhes: Visão geral do projeto com:
- Card compacto com informações principais (nome, descrição, datas, status)
- Resumo financeiro com orçamento, despesas e diferença
- Gráfico de produtividade mostrando tarefas criadas e concluídas ao longo do tempo
- Lista de tarefas recentes com status colorido (herdam cores das colunas Kanban)
- Kanban: Visualização em colunas, ideal para acompanhar o fluxo de trabalho com drag-and-drop
- Lista: Visualização em tabela com status coloridos (herdam cores das colunas Kanban), fácil de filtrar e ordenar
- Gantt: Visualização de cronograma com barras de tempo, linha "Hoje" centralizada e navegação por semana/mês/ano
- Calendário: Visualização mensal com tarefas por data de vencimento
Exemplo Visual do Gantt:
Gráfico de Gantt
5.3. Gerenciar Membros do Projeto
- Abra o projeto desejado
- Na aba "Membros", clique em "Adicionar Membro"
- Selecione o usuário
- Os membros podem visualizar e editar tarefas do projeto
5.4. Colunas Kanban
Você pode personalizar as colunas Kanban do projeto:
- Criar: Adicione novas colunas conforme necessário
- Editar: Renomeie ou reordene as colunas
- Excluir: Remova colunas não utilizadas (as tarefas serão movidas)
Exemplo Visual do Kanban:
A Fazer
Sistema de login com JWT
Em Progresso
Gráficos e estatísticas
Revisão
Concluído
6. Tarefas
As Tarefas são as unidades de trabalho dentro dos projetos.
6.1. Criar Tarefa
- Dentro de um projeto, clique em "Nova Tarefa"
- Preencha:
- Título: Nome da tarefa (obrigatório)
- Descrição: Detalhes da tarefa
- Prioridade: Baixa, Média, Alta ou Urgente
- Data de Vencimento: Quando a tarefa deve ser concluída
- Orçamento: Valor estimado (opcional)
- Coluna Kanban: Em qual coluna a tarefa inicia
- Clique em "Salvar"
6.2. Atribuir Tarefas
Você pode atribuir uma tarefa a um ou mais usuários:
- Abra a tarefa
- Na seção "Atribuídos", clique em "Atribuir"
- Selecione os usuários
- Os usuários atribuídos receberão notificações
6.3. Subtarefas
Quebre tarefas grandes em subtarefas menores:
- Abra a tarefa
- Na seção "Subtarefas", clique em "Adicionar Subtarefa"
- Informe o título da subtarefa
- Marque como concluída quando finalizar
6.4. Comentários
Comunique-se com a equipe através de comentários nas tarefas:
- Abra a tarefa
- Role até a seção "Comentários"
- Digite seu comentário
- Clique em "Enviar"
6.5. Anexos
Anexe arquivos às tarefas:
- Abra a tarefa
- Na seção "Anexos", clique em "Adicionar Anexo"
- Selecione o arquivo
- O arquivo será salvo e disponibilizado para download
6.6. Lembretes
Configure lembretes para não esquecer tarefas importantes:
- Abra a tarefa
- Na seção "Lembretes", clique em "Adicionar Lembrete"
- Selecione data e hora
- Você receberá notificação no navegador e por email
6.7. Mover Tarefas no Kanban
Arraste e solte tarefas entre colunas no Kanban para atualizar o status visualmente.
6.8. Gráficos e Estatísticas da Tarefa
Ao abrir os detalhes de uma tarefa, você terá acesso a gráficos e estatísticas úteis:
- Progresso da Checklist: Gráfico de pizza mostrando o percentual de subtarefas concluídas vs. pendentes
- Histórico de Atividades: Gráfico de linha mostrando a quantidade de atividades (comentários, edições, mudanças de status) ao longo do tempo
- Você pode filtrar por período: últimos 7, 15, 30 ou 90 dias
- Útil para identificar tarefas com muita ou pouca atividade
Exemplo Visual do Modal de Tarefa:
Implementar autenticação
Sistema Web
Progresso da Checklist
3 de 4 itens concluídos
Atividades
Principais Abas do Modal de Tarefa:
- Informações: Dados gerais, gráficos de progresso e atividades
- Itens: Checklist de subtarefas (criar, marcar como concluída)
- Arquivos: Upload e gerenciamento de anexos
- Financeiro: Orçamentos e despesas da tarefa
- Lembretes: Notificações agendadas
- Comentários: Histórico de discussões da equipe
- Log de Auditoria: Histórico completo de alterações
7. Financeiro
O módulo Financeiro permite controlar orçamentos e despesas por tarefa e projeto.
7.1. Adicionar Entrada Financeira
- Abra uma tarefa
- Na seção "Financeiro", clique em "Adicionar Entrada"
- Selecione o tipo:
- Orçamento: Valor planejado
- Despesa: Valor gasto
- Informe o valor e descrição
- Selecione a data
- Clique em "Salvar"
7.2. Resumo Financeiro
Visualize resumos financeiros em:
- Por Tarefa: Na página de detalhes da tarefa
- Por Projeto: Na página de detalhes do projeto
- Relatórios: Na seção de Relatórios
8. Relatórios
Os Relatórios fornecem insights detalhados sobre projetos, tarefas e recursos financeiros, com visualizações gráficas avançadas e opções de exportação.
8.1. Visão Geral dos Relatórios
A tela de relatórios oferece uma análise completa do desempenho de projetos e tarefas, incluindo:
- Resumo Financeiro: Totais de orçamento, despesas e diferença consolidados
- Tarefas por Status: Gráfico de pizza mostrando a distribuição de tarefas por status do Kanban
- Tarefas por Prioridade: Gráfico de barras com distribuição por nível de prioridade (Baixa, Média, Alta, Urgente)
- Produtividade: Gráfico de linha mostrando tarefas criadas, concluídas e atrasadas nos últimos 30 dias
- Tabela Detalhada: Lista completa de tarefas com informações financeiras e SLA
8.2. Painel de Filtros
Use o painel de filtros para refinar os relatórios conforme suas necessidades:
- Projeto: Selecione um projeto específico ou visualize todos os projetos
- Status: Filtre por status das tarefas (Pendente, Em Andamento, Concluída, etc.)
- Prioridade: Filtre por prioridade (Baixa, Média, Alta, Urgente)
- Período: Defina data inicial e final para análise
Após ajustar os filtros, clique em "Aplicar Filtros" para atualizar todos os gráficos e a tabela.
8.3. Tabela de Tarefas Detalhadas
A tabela de tarefas oferece uma visão completa de cada tarefa:
- Título: Nome da tarefa
- Projeto: Projeto associado
- Status: Status atual com cor da coluna Kanban
- Prioridade: Nível de prioridade com badge colorido
- Prazo: Data de vencimento da tarefa
- SLA: Status do prazo (Em Dia, Vence Hoje, Atrasada, Concluída)
- Orçamento: Valor orçado para a tarefa
- Despesas: Valor total de despesas lançadas
- Diferença: Diferença entre orçamento e despesas (positivo = economia, negativo = estouro)
- Criada em: Data de criação da tarefa
8.4. Exportar Relatórios
Você pode exportar os relatórios em dois formatos:
8.4.1. Exportar CSV
Clique em "Exportar CSV" para baixar uma planilha com todas as tarefas filtradas. O arquivo CSV pode ser aberto no Excel, Google Sheets ou qualquer software de planilhas.
8.4.2. Exportar PDF
Clique em "Exportar PDF" para gerar um relatório profissional em PDF contendo:
- Cabeçalho Personalizado: Logo e nome da sua empresa (configurado em Configurações > Empresa)
- Linha de Separação: Cor da marca da empresa aplicada no cabeçalho
- Data de Geração: Data e hora da geração do relatório
- Gráfico de Produtividade: Visualização em alta resolução do gráfico de produtividade
- Tabela Completa: Todas as tarefas com suas informações financeiras e status SLA coloridos
- Rodapé: Informações da empresa e link para o SmartProj
8.5. Cores e Indicadores
Os relatórios usam cores consistentes para facilitar a visualização:
- Status SLA:
- Em Dia - Verde: Tarefa dentro do prazo
- Vence Hoje - Amarelo: Tarefa vence hoje
- Atrasada - Vermelho: Tarefa vencida e não concluída
- Concluída - Azul: Tarefa concluída
- Diferença Financeira:
- Verde: Valor positivo (economia no orçamento)
- Vermelho: Valor negativo (estouro de orçamento)
- Prioridades:
- Baixa - Cinza
- Média - Azul
- Alta - Amarelo
- Urgente - Vermelho
- Status das Tarefas: Herdam a cor personalizada das colunas do Kanban de cada projeto
Exemplo Visual da Tela de Relatórios:
🔍 Filtros
📋 Tarefas Detalhadas
| Título | Projeto | Status | Prioridade | SLA | Orçamento | Despesas | Diferença |
|---|---|---|---|---|---|---|---|
| Implementar autenticação | Sistema Web | Em Progresso | Alta | Em Dia | R$ 15.000 | R$ 8.500 | R$ 6.500 |
| Revisar código backend | API Gateway | Concluída | Alta | Concluída | R$ 8.000 | R$ 9.200 | -R$ 1.200 |
| Criar testes unitários | Sistema Web | A Fazer | Média | Atrasada | R$ 5.000 | R$ 0 | R$ 5.000 |
9. Gerenciamento de Usuários
Gerentes podem gerenciar usuários da empresa.
9.1. Criar Usuário
- Acesse Usuários no menu principal
- Clique em "Novo Usuário"
- Preencha:
- Email: Email único do usuário
- Senha: Mínimo 6 caracteres
- Nome: Nome completo
- Função: Gerente, Membro ou Visualizador
- Clique em "Salvar"
- Gerente: Acesso completo, pode gerenciar usuários
- Membro: Pode editar recursos onde está associado
- Visualizador: Apenas visualização, sem edição
9.2. Excluir Usuário
Ao excluir um usuário, você pode transferir todas as suas atribuições (projetos, tarefas, equipes) para outro usuário, garantindo que nenhum dado seja perdido.
- Abra o usuário que deseja excluir
- Clique em "Excluir"
- Selecione o usuário que receberá as atribuições
- Confirme a exclusão
10. Assistente IA (Aistem)
O Aistem é um assistente de inteligência artificial integrado ao SmartProj que permite interagir com o sistema usando linguagem natural.
10.1. Como Usar o Aistem
- Clique no botão flutuante do assistente (geralmente no canto inferior direito)
- Digite sua pergunta ou comando em linguagem natural
- O Aistem processará sua solicitação e executará ações ou fornecerá informações
10.2. Exemplos de Comandos
- "Crie um projeto chamado Marketing Digital" - Cria um novo projeto
- "Mostre meus projetos ativos" - Lista projetos com status ativo
- "Adicione uma tarefa 'Desenvolver API' no projeto X" - Cria tarefa em um projeto
- "Quais tarefas estão atrasadas?" - Lista tarefas com prazo vencido
- "Mostre o progresso do projeto Y" - Exibe estatísticas do projeto
11. Configurações
11.1. Perfil do Usuário
Acesse através do menu do avatar (canto inferior esquerdo) > Configurações
- Editar nome completo
- Alterar foto de perfil
- Atualizar telefone e biografia
- Alterar senha
11.2. Configurações da Empresa
Acesse Configurações > Empresa para personalizar as informações da sua empresa.
- Nome da empresa: Nome que aparece nos relatórios e documentos
- Logo da empresa: Upload de imagem para cabeçalho de relatórios em PDF (formatos: PNG, JPG, SVG)
- Cor da marca: Cor principal da empresa usada em cabeçalhos de relatórios em PDF
- Endereço: Endereço completo da empresa
- Telefone: Número de contato
- Website: URL do site da empresa
11.3. Cancelar Conta
Apenas gerentes podem cancelar a conta da empresa. Esta ação é irreversível e exclui todos os dados.
- Acesse Configurações > Empresa
- Role até a seção "Zona de Perigo"
- Clique em "Cancelar Conta"
- Leia os avisos cuidadosamente
- Digite o nome da empresa para confirmar
- Confirme a exclusão
12. Dúvidas Frequentes
Como adiciono um usuário a um projeto?
Abra o projeto, vá na aba "Membros" e clique em "Adicionar Membro". Selecione o usuário desejado.
Posso ter múltiplos usuários atribuídos a uma tarefa?
Sim! Você pode atribuir quantos usuários quiser a uma tarefa. Basta adicionar cada um individualmente.
Como altero o status de uma tarefa?
Você pode arrastar a tarefa entre colunas no Kanban, ou editar a tarefa e alterar o status manualmente.
O que acontece se eu excluir um usuário?
Você pode escolher transferir todas as atribuições (projetos, tarefas, equipes) para outro usuário antes de excluir. Nenhum dado é perdido.
Como vejo o progresso de um projeto?
Na página de detalhes do projeto, você verá automaticamente o percentual de conclusão baseado nas tarefas concluídas. Também há relatórios específicos na seção "Relatórios".
Posso personalizar as colunas Kanban?
Sim! Você pode criar, editar, reordenar e excluir colunas Kanban em cada projeto. Clique no ícone de configurações das colunas.
Como funcionam os lembretes?
Você pode criar lembretes para tarefas. Quando a data/hora chegar, você receberá uma notificação no navegador e por email (se configurado).
Qual a diferença entre Orçamento e Despesa?
Orçamento é o valor planejado para uma tarefa. Despesa é o valor realmente gasto. O sistema calcula automaticamente a diferença.
Precisa de mais ajuda? Entre em contato com o suporte.
SmartProj v1.0 - Desenvolvido por Onsiite Tech
Documentação da API REST
API completa para integração com o SmartProj
Introdução
A SmartProj API é uma API REST completa que fornece acesso programático a todos os recursos do sistema.
https://smartproj.com.br/api/v1Versão: 1.0.0
Formato: JSON
Estrutura de Resposta
Todas as respostas da API seguem um formato consistente com os campos success, data ou error, e message ou code.
{
"success": true,
"data": {
// Dados da resposta
},
"message": "Operação realizada com sucesso"
}
{
"success": false,
"error": "Mensagem de erro descritiva",
"code": "ERROR_CODE"
}
Autenticação
Todas as requisições (exceto login e registro) requerem autenticação via Bearer Token no header.
Realiza login e retorna token de autenticação.
Parâmetros do Body:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email |
string | SIM | Email do usuário |
password |
string | SIM | Senha do usuário |
Resposta de Sucesso:
Status: 200 OK
Retorna dados do usuário e token de autenticação.
{
"email": "[email protected]",
"password": "senha123"
}
{
"success": true,
"data": {
"user": {
"id": "uuid",
"email": "[email protected]",
"role": "leader",
"display_name": "Nome do Usuário"
},
"token": "session_id_or_jwt"
}
}
curl -X POST https://smartproj.com.br/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "senha123"
}'
Registra um novo usuário no sistema.
Parâmetros do Body:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email |
string | SIM | Email único do usuário |
password |
string | SIM | Senha (mínimo 6 caracteres) |
display_name |
string | Não | Nome de exibição do usuário |
Obtém dados do usuário autenticado.
Headers: Authorization: Bearer {token}
{
"email": "[email protected]",
"password": "senha123",
"display_name": "Novo Usuário"
}
curl -X GET https://smartproj.com.br/api/v1/auth/me \
-H "Authorization: Bearer {token}"
Authorization: Bearer {token} em todas as requisições autenticadas.
Usuários
Lista todos os usuários visíveis para o usuário atual.
Permissões: Gerentes veem usuários gerenciados, Super Admin vê todos.
Obtém usuário específico. Use /users/me para usuário atual.
Cria novo usuário (apenas gerentes e super admin).
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
email |
string | Email do novo usuário |
password |
string | Senha inicial |
display_name |
string | Nome completo |
role |
string | Função: leader, member, viewer |
Atualiza dados do usuário.
Exclui usuário (com transferência de atribuições).
{
"email": "[email protected]",
"password": "senha123",
"display_name": "Nome Completo",
"role": "member"
}
curl -X GET https://smartproj.com.br/api/v1/users \
-H "Authorization: Bearer {token}"
curl -X DELETE https://smartproj.com.br/api/v1/users/{id} \
-H "Authorization: Bearer {token}"
Empresas
Obtém configurações da empresa do usuário atual.
Atualiza configurações da empresa.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
company_name |
string | Nome da empresa |
address |
string | Endereço completo |
phone |
string | Telefone de contato |
brand_color |
string | Cor da marca (hex) |
company_logo |
file | Logo da empresa (upload) |
curl -X GET https://smartproj.com.br/api/v1/companies \
-H "Authorization: Bearer {token}"
{
"company_name": "Minha Empresa",
"address": "Rua Exemplo, 123 - São Paulo/SP",
"phone": "(11) 98765-4321",
"brand_color": "#ff0000"
}
{
"success": true,
"message": "Configurações atualizadas",
"data": {
"company_name": "Minha Empresa",
"brand_color": "#ff0000"
}
}
Centros de Custo
Lista todos os centros de custo.
Cria centro de custo.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
name |
string | Nome do centro de custo |
code |
string | Código identificador |
description |
string | Descrição opcional |
Atualiza centro de custo.
Exclui centro de custo.
curl -X GET https://smartproj.com.br/api/v1/cost-centers \
-H "Authorization: Bearer {token}"
{
"name": "Marketing",
"code": "MKT",
"description": "Centro de custo de marketing"
}
{
"success": true,
"data": {
"id": "uuid-here",
"name": "Marketing",
"code": "MKT"
}
}
Equipes
Lista todas as equipes.
Cria equipe.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
name |
string | Nome da equipe |
description |
string | Descrição da equipe |
Lista membros da equipe.
Adiciona membro à equipe.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
user_id |
string | UUID do usuário |
{
"name": "Equipe de Desenvolvimento",
"description": "Equipe responsável pelo desenvolvimento"
}
curl -X GET https://smartproj.com.br/api/v1/teams \
-H "Authorization: Bearer {token}"
{
"user_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"success": true,
"data": {
"id": "uuid-here",
"name": "Equipe de Desenvolvimento"
}
}
Projetos
Lista projetos do usuário.
Query Parameters:
status- Filtrar por status (draft, active, paused, completed, cancelled)
Obtém projeto específico com estatísticas.
Cria novo projeto (cria colunas Kanban padrão automaticamente).
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
name |
string | Nome do projeto |
description |
string | Descrição do projeto |
status |
string | Status: draft, active, paused, completed, cancelled |
start_date |
date | Data de início (YYYY-MM-DD) |
end_date |
date | Data de término (YYYY-MM-DD) |
color |
string | Cor do projeto (hex) |
cost_center_id |
string | UUID do centro de custo (opcional) |
Lista colunas Kanban do projeto.
Dados para visualização Gantt.
Dados para visualização Calendário.
{
"name": "Novo Projeto",
"description": "Descrição do projeto",
"status": "active",
"start_date": "2025-01-01",
"end_date": "2025-12-31",
"color": "#DC143C",
"cost_center_id": "uuid-opcional"
}
curl -X GET https://smartproj.com.br/api/v1/projects?status=active \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/projects/{id}/kanban-columns \
-H "Authorization: Bearer {token}"
{
"success": true,
"data": {
"id": "uuid-here",
"name": "Novo Projeto",
"status": "active"
}
}
Tarefas
Lista tarefas com filtros opcionais.
Query Parameters:
project_id- Filtrar por projetostatus- Filtrar por statuspriority- Filtrar por prioridade
Cria nova tarefa.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
project_id |
string | UUID do projeto |
title |
string | Título da tarefa |
description |
string | Descrição da tarefa |
status |
string | Status: todo, in_progress, completed |
priority |
string | urgent, high, medium, low |
due_date |
date | Data de vencimento (YYYY-MM-DD) |
budget |
decimal | Orçamento previsto |
kanban_column_id |
string | UUID da coluna Kanban (opcional) |
assignees |
array | Array de UUIDs dos responsáveis |
Move tarefa entre colunas Kanban.
{
"project_id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Nova Tarefa",
"description": "Descrição da tarefa",
"status": "todo",
"priority": "high",
"due_date": "2025-01-15",
"budget": 1000.00,
"kanban_column_id": "uuid-opcional",
"assignees": ["uuid-user1", "uuid-user2"]
}
curl -X GET https://smartproj.com.br/api/v1/tasks?project_id={id} \
-H "Authorization: Bearer {token}"
{
"kanban_column_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"success": true,
"data": {
"id": "uuid-here",
"title": "Nova Tarefa",
"status": "todo"
}
}
{
"title": "Item do checklist",
"position": 0
}
{
"title": "Item atualizado",
"is_completed": true,
"position": 1
}
Sub-recursos de Tarefas
Lista subtarefas da tarefa.
Lista itens de checklist da tarefa (ordenados por posição).
Cria novo item de checklist na tarefa.
Parâmetros do Body:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| title | string | Sim | Título do item |
| position | integer | Não | Posição na lista |
Atualiza item de checklist (título, status de conclusão ou posição).
Exclui item de checklist da tarefa.
Lista comentários da tarefa.
Lista anexos da tarefa.
Lista lembretes da tarefa.
Lista usuários atribuídos à tarefa.
curl -X GET https://smartproj.com.br/api/v1/tasks/{id}/subtasks \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/tasks/{id}/items \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/tasks/{id}/comments \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/tasks/{id}/attachments \
-H "Authorization: Bearer {token}"
Financeiro
Lista entradas financeiras com filtros.
Query Parameters:
task_id- Filtrar por tarefaproject_id- Filtrar por projetotype- expense ou budgetstart_date- Data inicial (YYYY-MM-DD)end_date- Data final (YYYY-MM-DD)
Cria entrada financeira.
Parâmetros do Body:
| Campo | Tipo | Descrição |
|---|---|---|
task_id |
string | UUID da tarefa |
type |
string | Tipo: expense (despesa) ou budget (orçamento) |
amount |
decimal | Valor da entrada |
description |
string | Descrição da entrada |
entry_date |
date | Data da entrada (YYYY-MM-DD) |
Resumo financeiro por projeto (total despesas, orçamento, diferença).
{
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "expense",
"amount": 500.00,
"description": "Despesa de marketing",
"entry_date": "2025-01-15"
}
curl -X GET https://smartproj.com.br/api/v1/financial/entries?type=expense \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/financial/projects/{id}?summary=true \
-H "Authorization: Bearer {token}"
{
"success": true,
"data": {
"total_budget": 10000.00,
"total_expenses": 7500.50,
"difference": 2499.50
}
}
Relatórios
Progresso de projetos (total tarefas, concluídas, percentual).
Contagem de tarefas por status.
Contagem de tarefas por prioridade.
curl -X GET https://smartproj.com.br/api/v1/reports/projects/progress \
-H "Authorization: Bearer {token}"
curl -X GET https://smartproj.com.br/api/v1/reports/tasks/status \
-H "Authorization: Bearer {token}"
{
"success": true,
"data": {
"todo": 15,
"in_progress": 8,
"completed": 42
}
}
Resumo financeiro geral.
Query Parameters:
start_date- Data inicial (YYYY-MM-DD)end_date- Data final (YYYY-MM-DD)
Resumo financeiro agrupado por projeto.
Atividade de usuários (tarefas criadas, comentários, entradas financeiras).
Performance de equipes (membros, projetos, tarefas, concluídas).
Estatísticas e Gráficos
Endpoints para obter dados estatísticos utilizados nos gráficos do Dashboard, Projetos e Tarefas.
Retorna estatísticas completas do dashboard do usuário autenticado.
Query Parameters (Opcionais):
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
statusPeriod |
string | 30 | Período em dias para tarefas por status (ou 'all') |
productivityPeriod |
string | 30 | Período em dias para gráfico de produtividade |
completionPeriod |
string | 30 | Período em dias para taxa de conclusão (ou 'all') |
{
"success": true,
"data": {
"tasksByStatus": [
{
"status_name": "Em Progresso",
"color": "#3b82f6",
"count": 12
}
],
"productivity": [
{
"date": "2024-11-20",
"created": 5,
"completed": 3,
"overdue": 2
}
],
"completionRate": {
"total": 89,
"completed": 54
}
}
}
curl -X GET \
"https://smartproj.com.br/api/dashboard-stats.php?statusPeriod=7" \
-H "Authorization: Bearer {token}"
Retorna estatísticas detalhadas de um projeto específico.
Query Parameters:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
project_id |
string (UUID) | SIM | ID do projeto |
{
"success": true,
"data": {
"progress": {
"total": 25,
"completed": 15,
"in_progress": 8,
"todo": 2
},
"tasksByStatus": [...],
"timeline": [...],
"tasksByPriority": [...],
"productivity": [...]
}
}
curl -X GET \
"https://smartproj.com.br/api/project-stats.php?project_id={uuid}" \
-H "Authorization: Bearer {token}"
Retorna estatísticas detalhadas de uma tarefa específica.
Query Parameters:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
task_id |
string (UUID) | SIM | ID da tarefa |
activity_days |
integer | Não | Período em dias (padrão: 7) |
activity_days com valores como 7, 15, 30, 60 ou 90.
{
"success": true,
"data": {
"checklistProgress": {
"total": 4,
"completed": 3
},
"activityHistory": [...],
"attachmentsByType": [...],
"taskTime": {...}
}
}
curl -X GET \
"https://smartproj.com.br/api/task-stats.php?task_id={uuid}&activity_days=30" \
-H "Authorization: Bearer {token}"
Exemplo de Uso
# Obter estatísticas do dashboard com filtro de 7 dias
curl -X GET "https://smartproj.com.br/api/dashboard-stats.php?statusPeriod=7&productivityPeriod=7" \
-H "Authorization: Bearer {seu_token}"
# Obter estatísticas de um projeto específico
curl -X GET "https://smartproj.com.br/api/project-stats.php?project_id={uuid_do_projeto}" \
-H "Authorization: Bearer {seu_token}"
# Obter estatísticas de uma tarefa (últimos 30 dias de atividades)
curl -X GET "https://smartproj.com.br/api/task-stats.php?task_id={uuid_da_tarefa}&activity_days=30" \
-H "Authorization: Bearer {seu_token}"
Exemplos de Uso
JavaScript (Fetch API)
// Login
async function login(email, password) {
const response = await fetch('https://smartproj.com.br/api/v1/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password })
});
const data = await response.json();
if (data.success) {
localStorage.setItem('api_token', data.data.token);
return data.data.user;
}
}
// Listar projetos
async function getProjects() {
const token = localStorage.getItem('api_token');
const response = await fetch('https://smartproj.com.br/api/v1/projects', {
headers: { 'Authorization': `Bearer ${token}` }
});
return await response.json();
}
// Criar tarefa
async function createTask(projectId, title) {
const token = localStorage.getItem('api_token');
const response = await fetch('https://smartproj.com.br/api/v1/tasks', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
project_id: projectId,
title: title,
priority: 'high'
})
});
return await response.json();
}
cURL
# Login
curl -X POST https://smartproj.com.br/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"senha123"}'
# Listar projetos
curl -X GET https://smartproj.com.br/api/v1/projects \
-H "Authorization: Bearer {token}"
# Criar tarefa
curl -X POST https://smartproj.com.br/api/v1/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"project_id": "uuid",
"title": "Nova Tarefa",
"priority": "high"
}'
Python (requests)
import requests
BASE_URL = "https://smartproj.com.br/api/v1"
# Login
response = requests.post(f"{BASE_URL}/auth/login", json={
"email": "[email protected]",
"password": "senha123"
})
data = response.json()
token = data['data']['token']
# Listar projetos
headers = {"Authorization": f"Bearer {token}"}
projects = requests.get(f"{BASE_URL}/projects", headers=headers).json()
# Criar tarefa
task_data = {
"project_id": "uuid",
"title": "Nova Tarefa",
"priority": "high"
}
new_task = requests.post(
f"{BASE_URL}/tasks",
json=task_data,
headers=headers
).json()
Códigos de Status HTTP
| Código | Significado | Quando Usar |
|---|---|---|
200 |
OK | Requisição bem-sucedida |
201 |
Created | Recurso criado com sucesso |
204 |
No Content | Exclusão bem-sucedida (sem conteúdo) |
400 |
Bad Request | Dados inválidos na requisição |
401 |
Unauthorized | Não autenticado |
403 |
Forbidden | Sem permissão para a ação |
404 |
Not Found | Recurso não encontrado |
422 |
Unprocessable Entity | Validação falhou (ex: email duplicado) |
500 |
Internal Server Error | Erro interno do servidor |
Exemplos de Erros
400 - Bad Request
{
"success": false,
"error": "Email e senha são obrigatórios"
}
401 - Unauthorized
{
"success": false,
"error": "Não autenticado"
}
422 - Unprocessable Entity
{
"success": false,
"error": "Este email já está cadastrado"
}
SmartProj API v1.0 - Desenvolvido por Onsiite Tech