Files
Investidor-V2/docs/investmoz/public-portal-sections.md
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

7.6 KiB
Raw Blame History

Portal público — estrutura e serviços

Implementação local de 27/09/2026, seguindo as sete áreas pedidas pelo proprietário.

Páginas e percursos

Área Caminho e comportamento
Página inicial /: cabeçalho, banner, sectores activos, Como Investir, oportunidades em destaque, documentos essenciais publicados, apoio e rodapé.
Oportunidades /oportunidades: pesquisa, sector, província, estado de preparação/maturidade e dimensão por montante mínimo/máximo e moeda. Valores em moedas diferentes nunca são somados ou comparados automaticamente. Só aparecem oportunidades publicadas.
Ficha de oportunidade /oportunidades/{slug}: ficha e manifestação de interesse existentes.
Sectores prioritários /sectores e /sectores/{slug}: descrição do cadastro, oportunidades publicadas e acesso ao percurso de preparação e apoio.
Como Investir /como-investir: seis etapas de preparação, documentação, enquadramento, parceiros e acompanhamento; roteiro de orientação, sem inventar prazos ou requisitos legais obrigatórios.
Legislação e Incentivos /legislacao: documentos públicos catalogados como legislação, pesquisáveis por título, categoria e tema, com referência e download.
Documentos e Formulários /documentos: catálogo público, pesquisa, categorias, temas e acesso aos formulários digitais.
Apoio ao Investidor /apoio: formulário, protocolo, contactos configuráveis e FAQ sobre utilização do portal.
Bolsa de Parcerias /parcerias: propostas publicadas, filtros e pedido de contacto intermediado. Conta com email verificado pode propor; gestor autorizado publica ou retira. Contactos e identidade da conta não são expostos na listagem pública.
Simulador Fiscal /simulador-fiscal: cálculo aritmético de cenários com base, taxa e redução introduzidas pelo utilizador. Não incorpora taxas legais, elegibilidade ou concessão automática de incentivos.
Formulários /formularios/investidor e /formularios/empresa: recolha de dados de contacto, sector/assunto, empresa quando aplicável, mensagem e consentimento; gera protocolo. Não equivale a constituição ou registo legal de empresa.
Balcão Virtual /balcao-virtual: autenticação e email verificado; mostra pedidos enviados com a conta e estado das suas propostas. Liga ao painel existente da carteira.

O layout partilhado acrescenta breadcrumbs e o botão fixo Contactar Apoio ao Investidor às páginas Inertia, incluindo autenticação e gestão. Páginas de erro produzidas directamente pelo servidor não passam por este layout.

Gestão e dados

/management/portal-services permite carregar PDF/TXT autorizado (até 10 MiB), catalogar, publicar e retirar documentos, e rever/publicar/retirar propostas de parceria. Usa o privilégio existente manage-portal, sem criar novos gestores e sem exigir uma segunda pessoa para publicar.

Os ficheiros ficam no storage privado e os metadados no cadastro documents. Downloads só funcionam para documentos activos, classificados como públicos e catalogados como publicados; verificam caminho real e SHA-256. Reclassificar, eliminar, retirar ou alterar o ficheiro bloqueia o download. Não foi instalado um motor antivírus.

A migration aditiva 2026_09_27_120000_public_portal_services cria portal_resources e portal_partnerships; rollback com dados é recusado. Nenhum documento legal, contacto institucional ou anúncio fictício foi inserido. Sem conteúdo publicado, as páginas apresentam estado vazio e caminho para pedir apoio.

Os pedidos reutilizam interest_requests, o serviço transaccional InterestSubmission e a gestão /management/interests, com tipo e contexto em metadata. Repetir a mesma chave e payload não duplica pedido ou evento de integração; reutilizar a chave com dados/conta diferentes devolve 409. Consentimento é obrigatório. O Balcão filtra pelo ID da conta gravado no envio, nunca por coincidência de email. Pedidos anónimos geram protocolo, mas não são associados retroactivamente a contas.

Os eventos da outbox permanecem pendentes conforme a integração existente. Não foram enviados emails nem activado SuiteCRM. Os estados dos pedidos são actualizados na gestão existente; o Balcão não oferece chat nem submissão automática a entidades públicas.

Contactos e conteúdo

Configurar PORTAL_SUPPORT_EMAIL, PORTAL_SUPPORT_PHONE, PORTAL_SUPPORT_ADDRESS e PORTAL_SUPPORT_HOURS no ambiente e limpar cache de configuração quando necessário. Campos vazios não geram contactos fictícios. Publicar os documentos reais no catálogo para preencher Legislação, Documentos e os destaques essenciais da página inicial.

Validação

Execução final: 124 testes / 1.284 verificações aprovadas. PHPStan nos controllers alterados, Pint, TypeScript e build aprovados.

Testes funcionais cobrem páginas públicas, acesso autenticado, privacidade dos pedidos, consentimento, idempotência, moderação de parcerias, ausência de identidade pública, classificação/checksum dos downloads, documentos essenciais e filtros monetários. Os testes HTTP desactivam SSR para não dependerem do servidor Vite de desenvolvimento; a protecção contra chamadas HTTP inesperadas da IA permanece activa.

Edge headless: 11 páginas públicas/autenticação verificadas a 390×844, com breadcrumbs, botão de apoio visível e sem transbordo horizontal ou excepções JavaScript. Capturas de início e apoio inspeccionadas. Fluxos privados, submissões e downloads foram verificados nos testes PHP com dados sintéticos em base isolada, não em contas reais no navegador.

Página inicial também verificada a 1440×1000. Cenário fiscal exercitado no navegador: base 1.000 × taxa 10% × (1 − redução 50%) = 50. Resultados em public-portal-browser-validation.json.

Antes da migration local foi criado e restaurado o backup de 74 tabelas em storage/app/private/portal-services-backup-20260927-090641/. O backup completo anterior permanece em C:/laragon/backups/portal-investidor-20260927-101224/ e representa o estado anterior a esta entrega.