# 12. Glossário | Termo | Definição | |---|---| | **API Route** | Endpoint de servidor criado dentro do Next.js que responde a pedidos HTTP sem necessidade de servidor separado. Corre como função serverless na Vercel. | | **App Router** | Sistema de routing do Next.js 13+ baseado na estrutura de directórios, com suporte nativo a Server Components e layouts aninhados. | | **bcrypt** | Algoritmo de hashing criptográfico usado para armazenar palavras-passe de forma segura e irreversível. O factor de custo (12) determina a lentidão intencional do hash. | | **CDN** | Content Delivery Network — rede global de servidores que entrega assets (imagens, CSS, JS) a partir do ponto geograficamente mais próximo do utilizador. | | **CNPD** | Comissão Nacional de Protecção de Dados — entidade reguladora portuguesa responsável pela supervisão do cumprimento do RGPD. | | **CSR** | Client-Side Rendering — renderização de HTML feita no browser do utilizador usando JavaScript. Resulta em HTML vazio inicial (mau para SEO). | | **Cursor-based Pagination** | Técnica de paginação que usa o ID do último item como referência para a próxima página, mais eficiente que offset para grandes datasets. | | **DPA** | Data Processing Agreement — contrato celebrado com processadores de dados (Stripe, Resend, etc.) para garantir conformidade com o RGPD. | | **DX** | Developer Experience — qualidade da experiência de desenvolvimento, incluindo ferramentas, mensagens de erro claras e produtividade. | | **Edge Network** | Rede de servidores distribuída globalmente (como a Vercel) que executa código próximo dos utilizadores finais para reduzir latência. | | **Embedding** | Representação vectorial de texto ou dados que permite medir similaridade semântica — usado no match inteligente de animais. | | **JWT** | JSON Web Token — standard para transmissão segura de informação entre partes como token compacto, URL-safe e assinado digitalmente. | | **KPI** | Key Performance Indicator — métrica usada para avaliar o sucesso de um objectivo (ex: número de adopções por mês). | | **Middleware** | Código que é executado entre o pedido HTTP e a resposta. No Next.js, intercepta pedidos antes de chegarem às páginas para verificar autenticação. | | **ORM** | Object-Relational Mapping — camada de abstracção que permite interagir com a base de dados usando código TypeScript em vez de SQL directo. | | **PCI DSS** | Payment Card Industry Data Security Standard — norma de segurança para sistemas que processam dados de cartões de pagamento. Stripe é Level 1 (o mais elevado). | | **Prisma** | ORM moderno para Node.js e TypeScript com esquema declarativo, migrações automáticas e cliente type-safe gerado automaticamente. | | **Rate Limiting** | Mecanismo que limita o número de pedidos que um utilizador pode fazer num determinado período de tempo, prevenindo abusos. | | **React Hook Form** | Biblioteca para gestão de formulários em React com performance optimizada (evita re-renders desnecessários) e integração com Zod. | | **RGPD** | Regulamento Geral sobre a Protecção de Dados — legislação europeia que regula o tratamento de dados pessoais, em vigor desde Maio de 2018. | | **Server Component** | Componente React renderizado exclusivamente no servidor, sem JavaScript enviado para o cliente. Pode aceder directamente à base de dados. | | **Serverless** | Modelo de execução onde o código corre em funções geridas pelo fornecedor cloud (Vercel), escalando automaticamente sem gestão de servidor. | | **shadcn/ui** | Colecção de componentes React acessíveis e personalizáveis, construídos sobre Radix UI e Tailwind CSS. Copiados directamente para o projecto (não é uma dependência de pacote). | | **SSG** | Static Site Generation — geração de HTML no momento do build, servido directamente via CDN. Ideal para páginas que não mudam frequentemente. | | **SSR** | Server-Side Rendering — renderização de HTML feita no servidor a cada pedido, antes de ser enviada para o browser. Óptimo para SEO e dados dinâmicos. | | **Stripe** | Plataforma de pagamentos online que permite aceitar cartões de crédito, MBWay, SEPA e outras formas de pagamento. Certificado PCI DSS Level 1. | | **Stripe Payment Element** | Componente UI do Stripe que renderiza um formulário de pagamento seguro directamente no browser, suportando múltiplos métodos de pagamento. | | **TanStack Query** | Biblioteca para gestão de estado assíncrono e cache de dados do servidor em React. Anteriormente conhecida como React Query. | | **Type-safe** | Código onde erros de tipo são detectados em tempo de compilação (TypeScript), antes de a aplicação correr, eliminando uma classe inteira de bugs. | | **WCAG** | Web Content Accessibility Guidelines — conjunto de directrizes do W3C para tornar conteúdo web acessível a pessoas com deficiência. O Nível AA é o standard mínimo recomendado. | | **Webhook** | Notificação HTTP enviada automaticamente por um serviço externo (ex: Stripe) quando um evento específico ocorre (ex: pagamento confirmado). | | **Zod** | Biblioteca TypeScript-first para declaração e validação de esquemas de dados, com inferência automática de tipos. | | **Zustand** | Biblioteca minimalista de gestão de estado global para React, sem boilerplate, baseada em hooks. | --- ## Acrónimos | Acrónimo | Significado | |---|---| | API | Application Programming Interface | | CDN | Content Delivery Network | | CNPD | Comissão Nacional de Protecção de Dados | | CSP | Content Security Policy | | CSR | Client-Side Rendering | | DPA | Data Processing Agreement | | DX | Developer Experience | | E2E | End-to-End (testes) | | HMAC | Hash-based Message Authentication Code | | HSTS | HTTP Strict Transport Security | | JWT | JSON Web Token | | KPI | Key Performance Indicator | | ORM | Object-Relational Mapping | | PAP | Prova de Aptidão Profissional | | PCI DSS | Payment Card Industry Data Security Standard | | RGPD | Regulamento Geral sobre a Protecção de Dados | | SSG | Static Site Generation | | SSR | Server-Side Rendering | | TLS | Transport Layer Security | | UI | User Interface | | UX | User Experience | | WCAG | Web Content Accessibility Guidelines |