Para Programadores

Especificacoes Tecnicas

Tudo o que precisa de saber sobre a arquitetura, o stack tecnologico e os requisitos do uwAdmin6.

Stack Tecnologico

Tecnologias fiaveis e comprovadas, zero dependencias exoticas.

PHP 8.2+

  • OOP com classes e namespaces
  • MySQLi com prepared statements
  • Gestao de sessoes segura
  • Intervention Image 3.x

MySQL 8.0+

  • InnoDB com foreign keys
  • UTF8MB4 full unicode
  • Indices otimizados
  • Transacoes ACID

Frontend Stack

  • Tailwind CSS 4.x
  • Alpine.js 3.x
  • Flowbite 4.x
  • jQuery 3.7 (compatibilidade)

Rich Text Editor

  • TinyMCE 8.2
  • MoxieManager 8.2
  • Configuracao multilingue
  • Plugins personalizados

UI & Icons

  • Font Awesome Pro 7.2
  • Flag Icons (bandeiras)
  • SortableJS 1.15
  • Fancybox 3.5.7

Zero Framework

  • Sem Laravel/Symfony
  • Composer para dependencias minimas
  • Deploy via FTP/SFTP
  • Compativel com alojamento partilhado

Arquitetura

Padrao modular com separacao de responsabilidades e multilingue nativo.

Padrao Modular

Cada modulo segue uma estrutura padronizada:

/uw-admin/admin/{modulo}/
├── index.php       # Lista con filtri
├── form.php        # Create/Edit
├── ajax/           # Operazioni async
│   ├── delete.php
│   ├── toggle-*.php
│   └── reorder.php
└── includes/       # Componenti riutilizzabili

24 modulos implementados com este padrao

Ativacao seletiva para cada projeto

Sistema Multilingue

Padrao polimorfico com tabelas separadas:

# Tabella principale
news (id, data_pubblicazione, attivo)

# Tabella traduzioni
news_traduzioni (
  id, news_id, lingua_id,
  titolo, slug, contenuto,
  UNIQUE(news_id, lingua_id)
)

9 idiomas suportados nativamente

URL SEO-friendly para cada idioma: /it/news/titolo

Gestao de Media

Upload unico, 7 formatos automaticos:

Formato Dimensao Utilizacao
s150pxThumbnail
m300pxCard
l600pxContent
xl1200pxHero
xxl1920pxFull HD
original-Backup
cropCustomRitaglio

Sistema RBAC

4 funcoes com permissoes granulares por modulo:

Funcao Read Write Delete Publish
Super Admin
Admin
Editor
Viewer

Gestao de Temas

Tema ativo configuravel pelo admin com suporte a tema de desenvolvimento:

Priorita risoluzione tema:
1. Tema sviluppo (se abilitato + IP/cookie)
2. Tema attivo (da database)
3. Fallback a 'default'

Override granular: personalize apenas os ficheiros necessarios

Tema de desenvolvimento: teste novos temas sem afetar os visitantes

Autorizacao: whitelist IP ou cookie secreto

Recuperacao de Palavra-passe

Sistema completo com email SMTP e token seguro:

Token: 64 char hex (random_bytes)
Scadenza: 1 ora
Anti-enumeration: messaggio generico
SMTP: PHPMailer con fallback mail()

Modal integrado na pagina de login (Alpine.js)

8 preferencias de email configuraveis pelo admin

reCAPTCHA v3 opcional para anti-spam

RGPD & Consentimento de Cookies

Sistema integrado sem dependencias para conformidade com RGPD e ePrivacy:

Cookie Banner (2 livelli):
1. Barra fissa: Accetta | Rifiuta | Personalizza
2. Modal: toggle per categoria cookie

Blocco preventivo script:
- GA4 caricato SOLO dopo consenso
- Script custom bloccati fino ad accettazione
- reCAPTCHA classificato come tecnico

Cookie: uw_cookie_consent (base64 JSON, 365gg)
Policy: generate automaticamente IT/EN

18 preferencias base de dados (10 privacidade + 8 cookies)

Classes PHP: CookieConsent + PrivacyPolicy

Frontend: Alpine.js cookie-consent.js

Seguranca

Protecao completa OWASP Top 10 e melhores praticas.

SQL Injection

100% prepared statements com binding de parametros via MySQLi.

$db->query($sql, [$id], 'i');

XSS Protection

Output encoding com htmlspecialchars() em todos os dados do utilizador.

htmlspecialchars($data, ENT_QUOTES, 'UTF-8')

CSRF Protection

Token unico por sessao em cada formulario POST.

<input type="hidden" name="csrf_token" value="...">

Password Security

Hashing com PASSWORD_BCRYPT e cost factor 12.

password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])

Rate Limiting

5 tentativas falhadas -> lockout de 15 minutos. Anti brute-force.

max_attempts: 5, lockout: 900s

Session Fingerprint

Binding IP + User Agent. Regeneracao do ID apos login.

session_regenerate_id(true);

reCAPTCHA v3

Protecao anti-spam invisivel com validacao baseada em pontuacao (0.0-1.0).

$recaptcha->isValid(null, 'login');
OWASP Top 10 2021 . GDPR Compliant . Audit Trail

Requisitos de Alojamento

Compativel com a maioria dos fornecedores de alojamento.

Requisitos Minimos

PHP 8.2+
MySQL 8.0+
Memoria PHP 128 MB
Max Upload 32 MB
Espaco em Disco 500 MB+

Extensoes PHP Necessarias

mysqli
mbstring
gd
json
session
curl
fileinfo
openssl

Opcional: imagick para processamento avancado de imagens

Fornecedores Compativeis

Aruba SiteGround Netsons OVH Serverplan VHosting DigitalOcean AWS

Integracoes

Servicos externos e API suportadas.

OpenRouter

OpenRouter AI

Geracao de conteudos
  • Claude, GPT-4, Llama
  • Assistentes especializados
  • Traducoes automaticas

YouTube

Video embed
  • Embed responsivo
  • Thumbnail automatico
  • Privacy-enhanced mode

Vimeo

Video embed
  • Embed responsivo
  • Extracao de metadados
  • Player personalizado

Intervention Image

Image processing
  • Redimensionamento automatico
  • Recorte inteligente (cover)
  • Marca de agua e rotacao

PHPMailer

Envio de email
  • SMTP autenticado
  • Email HTML responsivo
  • Anexos e templates
Pronto para IA

REST API & Ligar IA

Uma REST API ao estilo WordPress que transforma o CMS num endpoint "AI-ready": faça a gestão dos seus conteúdos conversando com um assistente de IA (Claude, ChatGPT, Gemini…), através de padrões abertos.

O motor — REST API

Dentro do CMS (PHP): recebe pedidos HTTP+JSON e atua sobre os conteúdos. Cerca de 19 recursos/módulos cobertos.

O tradutor — Bridge MCP

Um pacote npm que liga os assistentes de IA à API. É self-documenting: descobre sozinho as funções disponíveis.

O painel — Ligar IA

Uma página de administração que gera as chaves e fornece as instruções para copiar e colar de cada assistente.

MCP (Model Context Protocol) e OpenAPI 3.0. A arquitetura é agnóstica em relação à IA por conceção: sem dependência de fornecedor, e continuará a funcionar com os modelos futuros sem voltar a comprar nada.

O que oferece

Application Passwords

Chaves dedicadas para cada app ligada, mostradas apenas uma vez e revogáveis, com as permissões do utilizador específico.

Permissões granulares (scopes)

Cada chave pode ser limitada a módulos ou ações específicos.

Rascunhos de IA

Os conteúdos criados pela IA permanecem invisíveis ao público até serem publicados manualmente.

Alterações não destrutivas

As alterações da IA em conteúdos publicados permanecem online, são assinaladas e podem ser anuladas (restauro do texto anterior).

Registo de auditoria

Quem, o quê, quando, a partir de que app/IP — tudo visível num painel dedicado.

Limite de pedidos

Limite de pedidos por hora configurável por chave, contra abusos.

Multilingue

Payload com traduções por idioma (it/en/…), coerente com o CMS.

Carregamento de imagens

Carregamento de fotos para uma galeria com geração automática dos formatos.

Reordenar conteúdos

Posicionamento dos elementos via IA, como o arrastar e largar do painel.

Extensibilidade

Um novo módulo na API = uma única classe; aparece automaticamente entre as ferramentas da IA.

Exemplos: o que pode escrever ao assistente

Frases em linguagem natural que se tornam conteúdos no CMS, prontos a rever.

“Publica uma notícia intitulada "Concerto de sábado" com este texto e esta foto.”
“Atualiza a biografia em inglês acrescentando o último prémio recebido.”
“Cria o evento de 20 de junho às 21:00 no Teatro Comunale.”
“Carrega estas 8 fotos para a galeria do concerto e coloca-as por esta ordem.”
“Coloca no topo a resenha de imprensa do Corriere.”

Porque é diferente de WordPress + plugins de IA

Aspeto WordPress + plugins de IA uwAdmin6 REST API
Multi-IA Plugins separados por fornecedor, fragmentados Uma única API, padrões abertos, agnóstica em relação à IA
Segurança de publicação Variável conforme o plugin Rascunhos de IA nativos: nada vai para o ar sem aprovação humana
Alterações em conteúdos publicados Risco de sobreposição Não destrutivas + restauro do texto anterior
Rastreabilidade Depende do plugin Registo de auditoria integrado no CMS
Novos tipos de conteúdo Depende do plugin Uma classe → ferramenta de IA automaticamente
Já funciona com o Claude, o ChatGPT e o Gemini (apps e web) • DeepSeek preparado

Modulo E-Commerce — uwEasyShop

Sistema e-commerce integrado com gestao completa de produtos, encomendas e pagamentos.

Tipos de Produto

Sem limite de tipos. Pode vender qualquer produto físico, digital ou serviço. Alguns exemplos:

Produtos Físicos

  • CD / Vinil
  • Livros / Manuais
  • Documentos impressos
  • Merchandising
  • Bilhetes para eventos

Produtos Digitais

  • Downloads de ficheiros
  • PDF / E-books / Guias
  • Acesso streaming
  • Licenças de software
  • Cartões presente

Outros

  • Assinaturas
  • Doacoes
  • Bundles mistos

Payment Gateway

Gateway duplo com gestao PCI-compliant:

  • Stripe — cartoes de credito, Apple Pay, Google Pay
  • PayPal — checkout e pagamento expresso
  • Gestao de webhooks para confirmacao de pagamento assincrona
  • Suporte multi-moeda (EUR, USD, GBP...)

Checkout Engine

Checkout adaptativo em 4 passos:

  • Passo 1: Carrinho — resumo de produtos e quantidades
  • Passo 2: Dados do cliente — formulario adaptativo (envio apenas para produtos fisicos)
  • Passo 3: Pagamento — selecao de gateway e confirmacao
  • Passo 4: Confirmacao — resumo da encomenda e link de download (se digital)

Gestao de Encomendas

5 estados de encomenda com workflow completo:

  • Pending → Paid → Shipped → Delivered → Refunded
  • Recibos PDF gerados automaticamente
  • Reembolsos totais e parciais
  • Notificacoes por email automaticas em cada mudanca de estado

Sistema de Cupoes

Promocoes flexiveis com regras compostas:

  • Desconto percentual ou valor fixo
  • Data de expiracao configuravel
  • Limites de utilizacao por cupao e por cliente
  • Restricoes por categoria de produto ou valor minimo

Analytics

Dashboard de vendas integrado:

  • Top produtos por vendas e receita
  • Distribuicao de receita por gateway de pagamento
  • Estatisticas de encomendas por periodo
  • Exportacao CSV para reporting externo

Tem questoes tecnicas?

Contacte-nos para uma consultoria tecnica ou para solicitar uma demo personalizada.