Hoje, seg 19 out
MC

Escopo do Portal do Cliente

O que o portal mostra, o que fica interno e o que muda no backend

O Portal do Cliente é uma camada de leitura e decisão sobre os mesmos dados do OKTask. O cliente vê o andamento dos projetos ligados a ele, aprova entregas, abre solicitações e acompanha horas e arquivos. Tudo que é operação interna da equipe continua só no OKTask.

MóduloO que o cliente fazOrigem no OKTask
Visão geralSaúde da conta, aprovações pendentes, próximo prazo, horas do mês, projetos ativos, prazos e atividade recente.useDashboardSummary · communications (show_to_clients)
Projetos e quadroLista de projetos do cliente; quadro simplificado em 4 colunas (A fazer, Em andamento, Aguardando você, Concluído).projects.client_id · project_cards · project_statuses
CardPrazo, progresso, risco, descrição, equipe e conversa com a equipe. Comentários do cliente vão para o card (e Jira/Trello).useCardComments · jiraCommentPush · trelloCardPush
Mapa de calorMesmo mosaico do ClientHeatmapPage, por projeto ou por card, só leitura.useClientHeatmapCards · cardRisk · heatmapUtils
AprovaçõesAprovar entrega (card → Concluído) ou pedir ajustes com comentário obrigatório (card → Em andamento).nova coluna de status "aguardando cliente" + audit_logs
SolicitaçõesAbrir ajuste, nova demanda, problema ou dúvida; acompanhar Recebida → Em análise → Virou card → Concluída.nova tabela client_requests → project_cards
EntregasHistórico de cards aprovados e projetos entregues.useDeliveredProjects · project_cards (done)
HorasConsumo do pacote contratado, por projeto e por lançamento; exportação CSV. Pode ser desligado por cliente.useCardTimeTracking · timeReportExport
ArquivosEnviar e baixar briefings, referências e entregáveis.client_attachments · storage client-attachments
NotificaçõesIn-app e e-mail: entrega para aprovar, prazo vencido, solicitação respondida, comunicado.notifications · send-email (edge function)
O cliente vê· Projetos e cards marcados como visíveis ao cliente· Progresso, prazo e risco calculado de cada card· Comentários públicos da equipe e os próprios· Comunicados com público "clientes"· Arquivos do cliente e entregáveis anexados aos cards· Horas consumidas (se o módulo estiver ativo para a conta)
Fica só no OKTask (interno)· Comentários internos e espectadores dos cards· Timers ativos, anjos e presença da equipe· Gamificação, aniversários, ausências e organograma· Outros clientes, valores de hora e relatórios financeiros· Configurações, integrações e logs de auditoria· Cards de projetos internos ou não liberados
Regras e fluxos
AcessoConvite por e-mail pelo admin no cadastro do cliente (fluxo /activate existente). Um cliente pode ter vários usuários; um usuário pode ter acesso a mais de uma empresa.
PerfisAprovador: aprova, pede ajustes, abre solicitações, comenta. Visualizador: só leitura e comentários.
RiscoMesma regra do OKTask (cardRisk.ts): prazo consumido × progresso, 10 pontos de tolerância; ≥60 urgente, ≥30 atenção; atrasado só após o prazo.
AprovaçãoCard entra em "Aguardando você" quando a equipe move para a situação de revisão do cliente. Decisão do cliente move o card e grava no histórico.
SolicitaçãoEntra como "Recebida" no OKTask (aba de triagem); ao virar card, o link card ↔ solicitação mantém o cliente informado.
VisibilidadeFlag por projeto (visível ao cliente) e por comentário (interno/público). Padrão: comentários internos.
Mudanças necessárias no backend (Supabase)profiles.role += "client" · client_users(client_id, profile_id, role: approver|viewer)projects.client_id (FK clients) em vez do texto projects.clientprojects.client_visible boolean · card_comments.is_internal booleanclient_requests(id, client_id, project_id, type, title, description, desired_date, stage, card_id)RLS: cliente lê apenas linhas com client_id ∈ client_users do usuáriocommunications.audience += "clients"