Personas
Três perfis de usuário com fluxos e permissões distintas.
Captador (ONG)
Usuário principal — profissional de captação de recursos de uma organização do terceiro setor
- Como captador, quero cadastrar e segmentar doadores com tags e notas para personalizar a comunicação e aumentar a retenção
- Como captador, quero visualizar dashboards com métricas de captação para identificar gargalos e planejar ações estratégicas
- Como captador, quero usar o Radar de Editais com filtros avançados e match score da IA para encontrar oportunidades compatíveis com a ONG
- Como captador, quero criar e acompanhar planos de captação com metas e milestones para direcionar os esforços da equipe
- Como captador, quero consultar a IA Done via chat para receber orientação estratégica baseada nos documentos dos editais
Investidor (Empresa / Fundação)
Pessoa jurídica que publica editais de incentivo na plataforma
- Como investidor, quero publicar editais com documentos, prazos e valores para atrair ONGs alinhadas ao meu público-alvo
- Como investidor, quero acompanhar o status de cada edital (pendente, ativo, recusado) para saber quando precisa de atenção
- Como investidor, quero prorrogar prazos ou substituir documentos dos editais ativos para manter informações atualizadas
- Como investidor, quero visualizar notificações de ONGs interessadas em meus editais para iniciar contatos e parcerias
Administrador (Equipe Donex)
Equipe interna — role atribuído internamente, não auto-cadastrável
- Como admin, quero moderar a fila de editais pendentes, aprovando ou reprovando com justificativa para manter a qualidade do Radar
- Como admin, quero gerenciar perfis de usuários e permissões para garantir acesso adequado às funcionalidades
- Como admin, quero acompanhar métricas gerais da plataforma para tomar decisões estratégicas
- Como admin, quero configurar áreas de atuação, tags e parâmetros do sistema para adequar a plataforma às necessidades do mercado
Telas
16 telas organizadas por módulo funcional, com rota, objetivo e componentes detalhados.
Autenticação
/Autenticar usuários (captador ou investidor) ou criar nova conta na plataforma.
- Input EmailCampo de e-mail para login
- Input SenhaCampo de senha com toggle de visibilidade
- Botão EntrarAutentica e redireciona para o respectivo dashboard
- Link Criar ContaExibe formulário de cadastro para novo usuário
- Seletor Tipo de CadastroAlterna entre captador e investidor (admin é atribuído internamente)
Onboarding da ONG
/onboardingWizard multi-step para o captador configurar sua organização após o primeiro cadastro.
- Barra de ProgressoIndica o step atual do wizard (1 de 5)
- Step 1 — Dados BásicosNome da organização e CNPJ
- Step 2 — LogoUpload de logo da organização
- Step 3 — Áreas de AtuaçãoSeleção de áreas (educação, saúde, cultura, esporte etc.)
- Step 4 — TagsTags de interesse para o match com editais
- Step 5 — LocalizaçãoCidade e estado da organização
- Botões Voltar / Avançar / ConcluirNavegação entre steps, com Concluir no último
Dashboard
/dashboardVisão geral da captação com métricas, indicadores e atalhos para as principais funcionalidades.
- Card Total CaptadoValor total arrecadado no período
- Card Meta do PeríodoProgresso em relação à meta do plano ativo
- Card Doadores AtivosQuantidade de doadores com atividade recente
- Card Editais com InteresseEditais onde a ONG demonstrou interesse
- Gráfico de CaptaçãoGráfico de captação por período
- Lista de Últimas DoaçõesFeed com as doações mais recentes
- Botão Novo PlanoRedireciona para criação de plano de captação
- Botão Ver RadarRedireciona para listagem de editais
- Notificação IA DoneSugestões proativas baseadas no plano de captação
Doadores
/doadoresGerenciar o cadastro de doadores PF e PJ com tags, notas, CPF/CNPJ e histórico.
- Input BuscaBusca por nome, e-mail ou CPF/CNPJ
- Filtro por TagsFiltra doadores por tags atribuídas
- Tabela de DoadoresListagem com nome, tipo, tags e última interação
- Botão Novo DoadorAbre formulário de cadastro com CPF/CNPJ
- Botão Editar DoadorAbre formulário para edição dos dados
- Botão Excluir DoadorRemove doador mediante confirmação
- Botão HistóricoExibe histórico de contatos e interações
Doações
/doacoesRegistrar e acompanhar doações pontuais e recorrentes vinculadas a doadores, com status e fonte.
- Input BuscaBusca por doador ou descrição
- Filtro por PeríodoSeleciona intervalo de datas
- Filtro por TipoAlterna entre doações pontuais e recorrentes
- Tabela de DoaçõesListagem com valor, doador, data, tipo, status e fonte
- Botão Nova DoaçãoFormulário com vinculação a doador, status e fonte
- Botão ExportarExporta os dados exibidos em PDF
Perfil da Organização
/perfilGerenciar dados cadastrais da ONG, incluindo logo, CNPJ, áreas de atuação, tags, cidade e estado.
- Upload de LogoUpload e preview da logo da organização
- Input NomeNome oficial da organização
- Input CNPJCNPJ com máscara e validação
- Seletor Áreas de AtuaçãoMulti-select de áreas sociais
- Input TagsTags para matching com editais
- Inputs LocalizaçãoCidade e estado da organização
- Input DescriçãoTexto institucional da organização
- Botão Salvar / CancelarSalva ou descarta alterações
Plano de Captação
/planoCriar e acompanhar planos de captação com título, meta financeira, período, status e milestones.
- Input Título do PlanoNome identificador do plano
- Input Meta FinanceiraValor alvo de captação
- Seletor de PeríodoData de início e fim do plano
- Seletor de StatusRascunho, ativo, concluído
- Lista de MilestonesMarcos intermediários com valor e prazo
- Indicador de ProgressoBarra visual de progresso em relação à meta
- Sugestões IA DoneRecomendações da IA com base nas metas
- Botão Criar / Editar PlanoSalva ou atualiza o plano
Agenda
/agendaCalendário de eventos e lembretes de follow-up com doadores e oportunidades.
- Calendário MensalVisualização mensal com indicadores de eventos
- Lista de EventosFeed lateral com próximos eventos e follow-ups
- Botão Novo EventoFormulário para cadastrar evento ou follow-up
- Botão ConcluirMarca o evento como concluído e registra no histórico
- Modal DetalhesInformações completas do evento selecionado
Relatórios
/relatoriosGráficos de captação por período, fonte e doador, com filtros e exportação PDF.
- Cards de ResumoTotal captado, ticket médio, maior doador do período
- Gráfico por PeríodoEvolução de captação ao longo do tempo
- Gráfico por FonteDistribuição por origem da doação
- Gráfico por DoadorRanking de doadores por valor total
- Filtro por PeríodoSeleciona intervalo de análise
- Filtro por PlanoFiltra dados por plano de captação
- Botão Exportar PDFGera relatório completo em PDF
Radar de Editais
/radarListagem de editais ativos com filtros avançados, match score da IA e opção de demonstrar interesse.
- Input BuscaBusca por título ou descrição
- Filtro por ÁreaEducação, esporte, cultura etc.
- Filtro por RegiãoEstado ou município
- Filtro por ValorFaixa de valor do edital
- Filtro por TipoLei de Incentivo ou edital direto
- Card de EditalTítulo, área, valor, prazo, badge de verificação
- Badge Match ScorePercentual de compatibilidade ONG × edital via IA
- Botão Quick ViewPopup com visualização rápida dos detalhes
- Botão Tenho InteresseRegistra interesse e notifica o investidor
- Label EncerradoVisual grayscale para editais expirados
Cadastro do Investidor PJ
/investidor/cadastroFluxo de criação de conta focado em pessoa jurídica, com perfil corporativo completo.
- Input E-mail CorporativoE-mail institucional do responsável
- Input CNPJCNPJ da empresa com validação
- Input Nome da EmpresaRazão social ou nome fantasia
- Input ResponsávelNome do responsável pela conta
- Upload de LogoLogo da empresa
- Input DescriçãoDescrição institucional
- Seletor Áreas de InteresseTags de áreas sociais de interesse
- Botão Criar ContaRedireciona para o dashboard do investidor
Área do Investidor
/investidorDashboard do investidor com gestão de editais publicados, status e ações de gerenciamento.
- Card Total de EditaisQuantidade total de editais cadastrados
- Card Editais AtivosQuantidade de editais publicados no Radar
- Tabela Meus EditaisListagem com título, status, prazo e ações
- Badge de StatusPendente, ativo, recusado ou encerrado
- Botão Novo EditalRedireciona para formulário de cadastro
- Botão Editar / Substituir PDF / Prorrogar / ExcluirAções de gerenciamento do edital
Cadastro de Edital
/investidor/editais/novoFormulário para o investidor cadastrar um novo edital com documentos, prazos, valores e público-alvo.
- Input TítuloTítulo do edital
- Input ValorValor total do edital
- Input TagsÁreas temáticas do edital
- Seletor RegiãoAbrangência geográfica
- Input Público-AlvoPerfil de organizações alvo
- Seletor Data de InscriçãoPrazo limite para inscrição
- Upload Capa + Anexos PDFImagem de capa e documentos anexos (múltiplos)
- Input Link ExternoLink para inscrição ou site do edital
- Botão PublicarEnvia para curadoria antes de publicar no Radar
Moderação de Editais
/admin/moderacaoCuradoria de editais cadastrados por investidores — aprovar ou reprovar cada solicitação.
- Fila de ModeraçãoLista de editais pendentes de análise
- Filtro por StatusPendente, ativo, recusado, encerrado
- Card de VisualizaçãoDetalhes completos do edital em análise
- Botão AprovarPublica no Radar e dispara automações da IA
- Botão ReprovarRejeita, mantém oculto e notifica com justificativa
- Input JustificativaTexto de justificativa para reprovação
Central de Notificações
/notificacoesPainel global acessível pela topbar com todas as notificações do usuário.
- Lista de NotificaçõesFeed com ícone, título, corpo e timestamp
- Tipos de NotificaçãoEdital compatível, aprovado/reprovado, sugestão IA, lembrete
- Botão Marcar como LidaIndividual ou todas de uma vez
- Badge no ÍconeContador de não-lidas na topbar
IA Done
/ia-doneConsultoria orientada por IA com chat especializado, análise de editais e recomendações estratégicas.
- Interface de ChatChat com a IA Done, contexto do edital selecionado
- Input de MensagemCampo de envio de perguntas ao mentor
- Card Match ScoreIndicador de compatibilidade ONG × edital
- Relatório de ElegibilidadeAnálise "Sinal Verde" ou "Pontos de Atenção"
- Botão Analisar EditalUpload de PDF para extração de dados via IA
- Sugestões ProativasRecomendações automáticas baseadas no plano
Nota técnica: no MVP, a IA trabalha com metadados (tags e perfil). O Chat é alimentado pelos textos e PDFs do investidor. A IA orienta e sugere — não elabora projetos.
Banco de dados
15 tabelas no Supabase (PostgreSQL) com Row Level Security por role.
organizations
Organizações (ONGs) cadastradas| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| user_idFK | uuid | Referência ao usuário criador |
| name | text | Nome da organização |
| cnpj | text | CNPJ com máscara |
| description | text | Descrição institucional |
| logo_url | text | URL da logo no Storage |
| areas_of_activity | jsonb | Áreas de atuação social |
| tags | jsonb | Tags para matching com editais |
| city | text | Cidade |
| state | text | Estado |
| created_at | timestamp | Data de criação |
users
Usuários (captadores, investidores, admins)| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Supabase Auth ID |
| text | E-mail de acesso | |
| role | text | captador | investidor | admin |
| name | text | Nome completo |
| avatar_url | text | URL do avatar |
| organization_idFK | uuid | Organização vinculada (se captador) |
| created_at | timestamp | Data de criação |
investors
Perfil de investidores (PJ)| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| user_idFK | uuid | Referência ao usuário |
| company_name | text | Razão social / nome fantasia |
| cnpj | text | CNPJ da empresa |
| logo_url | text | Logo da empresa |
| description | text | Descrição institucional |
| social_areas | jsonb | Áreas de interesse social |
| created_at | timestamp | Data de criação |
donors
Doadores PF e PJ| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG dona do cadastro |
| name | text | Nome do doador |
| text | E-mail de contato | |
| phone | text | Telefone |
| type | text | PF ou PJ |
| cpf_cnpj | text | CPF ou CNPJ do doador |
| tags | jsonb | Tags de segmentação |
| notes | text | Notas livres |
| created_at | timestamp | Data de criação |
donations
Doações registradas| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG receptora |
| donor_idFK | uuid | Doador vinculado |
| amount | numeric | Valor da doação |
| donation_date | timestamp | Data da doação |
| type | text | pontual | recorrente |
| status | text | pendente | confirmada | cancelada |
| source | text | Origem (PIX, boleto, cartão etc.) |
| description | text | Descrição ou observação |
| created_at | timestamp | Data de criação |
interactions
Histórico de contatos com doadores| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG |
| donor_idFK | uuid | Doador |
| user_idFK | uuid | Captador responsável |
| type | text | email | ligação | reunião |
| description | text | Resumo da interação |
| interaction_date | timestamp | Data da interação |
fundraising_plans
Planos de captação com metas| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG |
| title | text | Título do plano |
| goal_amount | numeric | Meta financeira |
| period_start | timestamp | Início do período |
| period_end | timestamp | Fim do período |
| status | text | rascunho | ativo | concluído |
| milestones | jsonb | Marcos intermediários |
| notes | text | Observações |
| created_at | timestamp | Data de criação |
grant_opportunities
Editais de investidores| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| investor_idFK | uuid | Investidor autor |
| title | text | Título do edital |
| description | text | Descrição do edital |
| amount | numeric | Valor total |
| area | text | Área temática |
| region | text | Abrangência geográfica |
| type | text | incentivo | direto |
| publico_alvo | text | Perfil de organizações alvo |
| deadline | timestamp | Prazo de inscrição |
| status | text | pendente | ativo | recusado | encerrado |
| cover_url | text | Imagem de capa |
| external_link | text | Link para inscrição externa |
| moderator_idFK | uuid | Admin que moderou |
| justification | text | Justificativa de aprovação/reprovação |
| created_at | timestamp | Data de criação |
edital_documents
Anexos PDF dos editais| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| grant_idFK | uuid | Edital vinculado |
| file_url | text | URL do arquivo no Storage |
| file_name | text | Nome original do arquivo |
| uploaded_at | timestamp | Data de upload |
grant_interests
Interesse de ONGs em editais| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| grant_idFK | uuid | Edital |
| organization_idFK | uuid | ONG interessada |
| interest_date | timestamp | Data do interesse |
| match_score | numeric | Score de compatibilidade (0–100) |
| analysis_json | jsonb | Detalhes da análise de matching |
events
Agenda e follow-ups| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG |
| title | text | Título do evento |
| description | text | Detalhes |
| event_date | timestamp | Data do evento |
| type | text | follow-up | reunião | evento |
| completed | boolean | Concluído? |
| related_donor_idFK | uuid | Doador relacionado |
| related_grant_idFK | uuid | Edital relacionado |
| notes | text | Notas adicionais |
chat_sessions
Histórico do chat consultivo (IA Done)| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG |
| grant_idFK | uuid | Edital em contexto |
| messages | jsonb | Array de mensagens [{role, content, timestamp}] |
| created_at | timestamp | Data de criação |
eligibility_reports
Relatórios de elegibilidade da IA| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG analisada |
| grant_idFK | uuid | Edital analisado |
| status | text | green | attention |
| report_json | jsonb | Detalhes da análise de elegibilidade |
| generated_at | timestamp | Data de geração |
ai_suggestions
Sugestões proativas da IA Done| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| organization_idFK | uuid | ONG |
| plan_idFK | uuid | Plano de captação de referência |
| type | text | edital | dica | melhoria |
| content | text | Conteúdo da sugestão |
| read | boolean | Lida? |
| created_at | timestamp | Data de criação |
notifications
Notificações do sistema| Campo | Tipo | Descrição |
|---|---|---|
| idPK | uuid | Identificador único |
| user_idFK | uuid | Usuário destinatário |
| type | text | Tipo da notificação |
| title | text | Título |
| body | text | Corpo da mensagem |
| read | boolean | Lida? |
| created_at | timestamp | Data de criação |
Cronograma
53 dias corridos, 6 fases sequenciais com entregas validadas entre cada uma.
Prioridade de layout (Figma)
Organização dos entregáveis de design em 3 lotes para desenvolvimento paralelo.
Lote 1 — Necessário imediatamente (dia 1–19)
- Tokens de design (cores, tipografia, espaçamentos)
- Login / Cadastro
- Onboarding da ONG (wizard multi-step)
- Shell do app (sidebar + topbar)
- Dashboard principal
- Lista de doadores + formulário
- Registro de doações
- Perfil da organização
Lote 2 — Necessário até o dia 20 (dia 20–29)
- Plano de captação (criar/editar, metas, milestones)
- Agenda / Calendário
- Relatórios (gráficos, cards de resumo, export)
Lote 3 — Necessário até o dia 30 (dia 30–53)
- Radar de editais (listagem + filtros + quick view)
- Cadastro do investidor PJ
- Portal do investidor (dashboard + formulário de edital)
- Admin — Fila de moderação
- Chat consultivo (IA Done)
- Relatório de elegibilidade
- Central de notificações