EM ANDAMENTO
Resumo técnico
Plugin NEXUS de gestão centralizada de links de afiliados e cupons promocionais: CRUD completo com organização por projeto e categoria, rastreamento de cliques (redirecionamento 302 + contador + log detalhado), Dead Link Detector com verificação periódica de saúde HTTP via cron a cada 12 horas, sugestão de cupons no Intelligence Hub, geração de QR Codes e snippets de divulgação — 100% interno, sem API externa (primeiro da série).
Escopo executado
- Backend
backend.php(519 linhas): CRUD interno em MySQL — sem dependência de API externa (único da série até aqui). - Tabelas (criadas por
affiliates_install()):nexus_affiliates(project, name, url, promo_code, status, category, commission_rate, clicks_count, notes, expires_at, http_code, last_checked_at; índicesidx_project,idx_status,idx_category,idx_expires_at) com migrations silenciosas (ADD COLUMNpara expires_at/http_code/last_checked_at) enexus_affiliate_clicks(affiliate_id, ip, user_agent, referer, clicked_at;idx_affiliate_id,idx_clicked_at). - Seeds iniciais: 3 cadastros de exemplo (Cloudflare Enterprise 15%, Hetzner Cloud VPS €10 de crédito, Shodan Pro Engine 20%) criados quando a tabela está vazia.
affiliates_list— filtros por project/status/category/search (LIKE em name/promo_code/url/notes), limit ≤ 100; auto-marcaçãoexpiredquandoexpires_atpassou;short_urlmontado a partir desite_url(/api.php?action=affiliate_redirect&id=X); flagis_expiring_soon(< 3 dias); categorias distintas e stats embutidos.affiliates_save— valida nome obrigatório, URL viaFILTER_VALIDATE_URL, whitelist de status (active/pending/cancelled/expired) e auto-expira quando a data está no passado; insert ou update.affiliates_delete— remove o cadastro e os cliques vinculados (cascade manual).affiliates_check_health(Dead Link Detector) — HEAD request (CURLOPT_NOBODY), follow de até 5 redirecionamentos, timeout 8s / connect 4s, UANEXUS-Affiliate-HealthCheck/1.0; com ID checa 1 link; sem ID checa até 10 links ativos mais antigos (last_checked_at ASC); gravahttp_code+last_checked_at.affiliate_redirect— incrementaclicks_count, registra clique detalhado (IP, User-Agent, Referer) emnexus_affiliate_clickse redireciona com HTTP 302 (ou retorna JSON em chamadas AJAX).affiliates_stats— total, ativos, pendentes, cancelados, expirados, total de cliques, com cupom e dead_links (http_code ≥ 400ou0).- Configurações (
affiliates_settings/affiliates_settings_save) —base_url(validada),enable_tracking,default_category,auto_shortenviaDB::setConfig('plugin.affiliates.*'). - Intelligence Hub: enricher
nexus-affiliates(prioridade 20, tiposaffiliate,promo,cupom,cloud,hosting,vpn,vps) — formato de sugestão (não sinal de severidade): quando o usuário menciona serviços (Hetzner, Cloudflare, Shodan...), sugere até 3 cupons ativos com link encurtado, código promocional e comissão. - Cron (
cronjob.json): jobAffiliate Link Health Checkcom **agendamento cron real0 */12 * * *** (a cada 12 horas) →affiliates_check_health— primeiro da série com cron expression (os anteriores usavam soft-cron tick). - API: 9 actions via
PluginManager::registerApiAction(affiliates_list, affiliates_get, affiliates_save, affiliates_delete, affiliates_check_health, affiliate_redirect, affiliates_stats, affiliates_settings, affiliates_settings_save). - UI Alpine.js (
tab.php, 712 linhas — maior da série): tema indigo; 2 sub-abas (Painel / Configurações); 5 KPI cards (Total de Links, Ativos, Cliques Acumulados, Cupons, Links Inacessíveis); toolbar com busca (debounce 300ms) e filtros de projeto/status/categoria; botão Testar Saúde dos Links; cards com badge de status (Ativo/Pendente/Cancelado/Expirado), badge HTTP (verde 2xx / azul 3xx / vermelho 4xx ou 0) e alerta "⏰ Expira em breve" (< 3 dias); ações de QR Code (api.qrserver.com), copiar link encurtado, testar redirecionamento, gerar snippet Markdown e editar/excluir; modal de cadastro/edição; configurações com guia de uso. - Fastr: 2 comandos —
/afiliados(PT) e/affiliates(EN) →affiliates_list. - Sem API externa — 100% interno: MySQL + cURL (apenas para health check e redirecionamento).
Stack e ferramentas
- PHP 8 (sem framework)
- MySQL 8 (nexus_affiliates + nexus_affiliate_clicks)
- Alpine.js + Tailwind CSS (premium light, indigo ring)
- Sistema de plugins do NEXUS (PluginManager + cronjob.json)
- cURL (health check HEAD + redirecionamento 302)
Tags operacionais
- Afiliados
- Cupons
- Marketing
- Link Building
- Rastreamento de Cliques
- QR Code
- Plugin NEXUS
Resultado operacional
- Cadastro centralizado de links de afiliados e cupons com organização por projeto e categoria (Geral, NEXUS, Security, etc.).
- Rastreamento de conversão: link encurtado NEXUS com contador de cliques e log detalhado (IP, User-Agent, Referer).
- Dead Link Detector: verificação automática a cada 12 horas + manual, sinalizando links quebrados com badge HTTP.
- Sugestão de cupons no chat/tarefas via Intel Hub (menção a serviços → cupom com link e comissão).
- QR Codes e snippets Markdown prontos para divulgação em 1 clique.
- 100% interno: sem custo de API externa, dados próprios no MySQL.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Plugin NEXUS de gestão centralizada de links de afiliados e cupons promocionais: CRUD completo com organização por projeto e categoria, rastreamento de cliques com redirecionamento 302 e contador, Dead Link Detector com verificação periódica de saúde HTTP via cron a cada 12 horas, sugestão de cupons no Intelligence Hub, geração de QR Codes e snippets de divulgação — 100% interno, sem API externa.
Arquitetura e organização
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.