v1.29.0
15 de agosto de 2026
- Gerador Interativo de NDA & Contratos de Serviço com Assinatura Digital (e-Signature): página dedicada em /contract-generator e modal interativo em /index.php e /portfolio.php com editor de termos contratuais, renderização em tempo real de minutas NDA, canvas de assinatura digital e exportação em PDF.
v1.28.0
15 de agosto de 2026
- Portal do Cliente com Acompanhamento de Marcos & Aprovação Digital: página dedicada em /client-portal e modal interativo em /index.php e /portfolio.php com barras de progresso dinâmicas, pré-visualização de entregáveis e validação digital com carimbo temporal.
v1.27.0
15 de agosto de 2026
- Agendamento Instantâneo de Consultoria & Gerador de Propostas PDF: modal interativo para reserva de reuniões técnicas e exportação de propostas em PDF
- Carrossel de Depoimentos & Avaliações de Clientes: slider animado com feedback verificado de clientes enterprise
v1.26.0
14 de agosto de 2026
- Matriz de Comparação de SLA Enterprise & Tiers de Serviço: tabela interativa com métricas de tempo de resposta, disponibilidade, backups e infraestrutura em /services e /index.php
v1.25.0
14 de agosto de 2026
- Categorias de Portfólio Filtráveis: abas de filtragem interativa (All, SaaS Platforms, E-Commerce, Mobile Apps, Branding) na página de estudos de caso
v1.24.0
14 de agosto de 2026
- Calculador de Orçamento Instantâneo: widget interativo na página inicial com simulação de custos e prazos em tempo real
- Endpoint de Diagnóstico e Saúde (/health.php): monitorização detalhada de servidor, versão de PHP, estado do Opcache e saúde da base de dados em formato JSON
v1.23.0
12 de agosto de 2026
- Menu mobile: correção no encerramento do backdrop ao clicar ou tocar na área externa ao menu
- Acessibilidade: anéis de foco visíveis de elevado contraste e atributos aria-label explícitos em todos os campos de formulário
- Badge de tempo estimado de resposta (< 24h) na página de Contacto para dar previsibilidade aos utilizadores
v1.22.0
10 de agosto de 2026
- Secção de testemunhos de clientes com avaliação por estrelas nas páginas Portfólio e Contacto — prova social junto ao ponto de conversão
- Schema JSON-LD FAQPage na página de Perguntas Frequentes para resultados enriquecidos em pesquisa
- Erros 404 corretos para rotas desconhecidas (antes devolviam a página inicial com código 200)
- Honeypot de anti-spam no formulário de contacto — bloqueia envios automáticos sem fricção para utilizadores reais
- URLs de meta Open Graph e logos corrigidos (og-image.png, logo e favicon agora apontam para os ficheiros reais)
- robots.txt corrigido (linha duplicada removida) e sitemap.xml atualizado com blog e todos os artigos
- Segredo por defeito do Email Worker removido do código-fonte (configuração apenas via ambiente)
v1.21.0
10 de agosto de 2026
- Recuperação de password: envio do email a passar pelo mesmo padrão seguro do Cloudflare Email Worker (verificação TLS ativada, remetente e chave configuráveis no servidor) — corrigido o caminho de email ainda com a configuração antiga insegura
- Acessibilidade: menu lateral com gestão de foco para teclado, fecho com a tecla Escape e conteúdo oculto removido da ordem de tabulação quando fechado (WCAG 2.4.3 / 2.1.2)
- Formulário de contacto: mensagens de erro ao nível de cada campo, com referências ARIA precisas apenas no campo inválido (WCAG 3.3.1)
v1.20.0
09 de agosto de 2026
- Formulário de contacto: notificações enviadas através do Cloudflare Email Worker (endereço e chave configuráveis no servidor), com verificação TLS reforçada
- Formulário de contacto: corrigido o reenvio duplicado ao recarregar ou voltar atrás após o envio (padrão Post/Redirect/Get)
- Acessibilidade: contraste do texto de erro melhorado, alvo mínimo de 44px nos campos e indicador de foco visível reforçado no formulário e na navegação
v1.19.0
09 de agosto de 2026
- Endpoint de estado
/api/healthagora responde com o JSON de estado — as sondagens de monitorização deixaram de receber 404 - Indicadores de foco visível reforçados nos campos de formulário e elementos interativos para navegação por teclado (WCAG 2.4.7)
- Botões de partilha (Facebook, WhatsApp e "Copiar link") nos artigos do blog
v1.18.0
08 de agosto de 2026
- Painel de administração: guarda agora o tipo de menu escolhido em cada bloco e protege o formulário contra pedidos inválidos ou incompletos (PHP 8.x)
- Botão "Marcar todas como lidas" para submissões de contacto no painel
- Targets de toque dos botões "Mostrar/Ocultar" password aumentados para 44×44 px (acessibilidade WCAG)
- Formulário de contacto com referências ARIA condicionais (sem apontar para elementos inexistentes)
- Blog post sobre a nova atualização
v1.17.0
08 de agosto de 2026
- Corrigidas variáveis indefinidas no formulário de contacto que geravam avisos PHP 8.x em pedidos GET
- Tempo de leitura estimado em cada artigo do blog
- Botão flutuante "Voltar ao Topo" nas páginas /blog e /changelog
- Blog post sobre a nova atualização
v1.16.0
07 de agosto de 2026
- Correção da página de Blog: a página /blog e os artigos abrem agora corretamente (antes apresentavam erro 403 ou a página inicial)
- Formulário de contacto: dados preservados em caso de erro de validação e proteção contra envios duplicados
- Botão "Mostrar/Ocultar" password no login e na redefinição de password
- Blog post sobre a nova atualização
v1.15.0
16 de julho de 2026
- Spinner de carregamento no botão de submit do formulário de login
- Botão desativado durante o pedido para impedir duplo clique
- Blog post sobre a nova funcionalidade
v1.14.0
16 de julho de 2026
- Estado "sem resultados" na pesquisa de submissões de contacto
- Mensagem amigável quando o filtro não encontra correspondências
- Blog post sobre a nova funcionalidade
v1.13.0
16 de julho de 2026
- Registo e exibição do IP do último login na tabela de administradores
- Coluna ultimo_login_ip na tabela de utilizadores
- Blog post sobre a nova funcionalidade
v1.12.0
16 de julho de 2026
- Botão "Cancelar" na página de recuperação de password para voltar ao login
- Blog post sobre a nova funcionalidade
v1.11.0
16 de julho de 2026
- Mensagem de sucesso desaparece automaticamente ao fim de 5 segundos no painel de administração
- Blog post sobre a nova funcionalidade
v1.10.0
16 de julho de 2026
- Link "Voltar ao topo" na tabela de submissões de contacto quando há mais de 10
- Âncora para navegação rápida ao topo da secção de submissões
- Blog post sobre a nova funcionalidade
v1.9.0
16 de julho de 2026
- Tabela de administradores com registo do último login no painel de controlo
- Coluna ultimo_login na tabela de utilizadores com data/hora do último acesso
- Blog post sobre a nova funcionalidade
v1.8.0
15 de julho de 2026
- Linha de estatísticas rápidas no topo do painel de administração
- Total de blocos, total de submissões e submissões não lidas em cards visuais
- Blog post sobre a nova funcionalidade
v1.7.0
15 de julho de 2026
- Campo de pesquisa/filtro na tabela de submissões de contacto
- Filtragem client-side por nome ou email com suporte a acentos
- Blog post sobre a nova funcionalidade
v1.6.0
15 de julho de 2026
- Botão "Eliminar" por linha na tabela de submissões de contacto
- Confirmação antes de eliminar (JavaScript confirm)
- Endpoint delete_submission.php para remoção segura de submissões
- Blog post sobre a nova funcionalidade
v1.5.0
15 de julho de 2026
- Marcar submissões de contacto como lidas/não lidas no painel de administração
- Coluna "is_read" na tabela contact_submissions
- Endpoint toggle_read.php para alternar estado de leitura
- Blog post sobre a nova funcionalidade
v1.4.0
15 de julho de 2026
- Lista de submissões de contacto no painel de administração
- Tabela com nome, email, data e pré-visualização da mensagem
- Blog post sobre a nova funcionalidade
v1.3.0
15 de julho de 2026
- Indicador de força da palavra-passe na página de redefinição
- Proteção CSRF no formulário de contacto
- Script de migração inclui tabela password_reset_tokens
- Texto de login corrigido com caracteres UTF-8 em português
- Página de login redesenhada com estilo consistente
- Limite de caracteres da senha no login aumentado para 128
v1.2.0
15 de julho de 2026
- Sistema de recuperação de palavra-passe baseado em tokens seguros
- Página "Esqueci-me da Palavra-passe" com envio de link por email
- Tokens com expiração de 1 hora, uso único e encriptação bcrypt
- Página de blog em /blog com artigo sobre a nova funcionalidade
v1.1.0
27 de maio de 2026
- Barra de navegação lateral com menu hambúrguer
- Páginas próprias para Sobre, Serviços, Portfólio, FAQ e Novidades
- Páginas de Política de Privacidade e Termos de Utilização
- Formulário de contacto com validação do lado do servidor
- Botão "Instalar App" (A2HS) na barra lateral
- Configuração nginx atualizada para suportar as novas rotas
v1.0.0
2026 — Lançamento Inicial
- Aplicação de página única com layout de blocos dinâmico
- Suporte PWA com service worker e manifesto
- Área de administração com login e gestão de blocos
- Escalabilidade responsiva para todos os tamanhos de ecrã
2014 — 2026
Design & Desenvolvimento Web
- Desenvolvimento de soluções CMS, CRM e e-commerce sob medida
- Migração de plataformas (OsCommerce para Magento, entre outras)
- Otimização de sistemas e integração de funcionalidades avançadas
- Colaboração próxima com clientes para recolha de requisitos e design reviews
2008 — 2014
Fundação & Consultoria
- Fundação da Prorigem em Lisboa
- Consultoria tecnológica especializada em PHP5, Drupal, WordPress, Joomla e Magento
- Desenvolvimento full-stack com JavaScript, MySQL e Apache
- Entrega de projetos completos: web design, backend, frontend e documentação