Sistema de Votação
Plugin de votação simples.
by Emanoel de Oliveira · github.com/nelclassico/plugin-voting · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nelclassico/plugin-voting/archive/refs/heads/main.zipSistema de Votação - Plugin WordPress
Um plugin WordPress completo e profissional para gerenciar eleições, candidatos e votações online com segurança e auditoria.
Características
✅ Gerenciamento de Eleições
- Criar eleições com datas de início e fim
- Ativar/desativar eleições
- Múltiplos cargos por eleição
✅ Gerenciamento de Candidatos
- Adicionar candidatos com foto e biografia
- Número de candidato customizável
- Campos de exibição configuráveis
✅ Sistema de Votação Seguro
- Interface intuitiva para votação
- Suporte a múltiplos votos por cargo
- Validação de voto duplicado
- Confirmação antes de submeter
✅ Relatórios e Resultados
- Ranking de candidatos em tempo real
- Visualização de resultados por cargo
- Exportação de dados
✅ Segurança
- Validação de CPF brasileiro
- Proteção contra voto duplicado
- Auditoria de votos com IP
- Nonces do WordPress para proteção CSRF
- Verificação de permissões
Requisitos
- WordPress 5.0+
- PHP 7.4+
- MySQL 5.7+
- Usuário com permissão de administrador
Instalação
Método 1: Upload do Plugin
- Faça download do arquivo
wp-voting-plugin.zip - No painel do WordPress, vá para Plugins > Adicionar Novo
- Clique em Enviar Plugin
- Selecione o arquivo ZIP e clique em Instalar Agora
- Após a instalação, clique em Ativar Plugin
Método 2: FTP
- Descompacte o arquivo
wp-voting-plugin.zip - Envie a pasta
wp-voting-pluginpara/wp-content/plugins/via FTP - No painel do WordPress, vá para Plugins e ative o plugin
Como Usar
Para Administradores
-
Acessar o Painel
- No menu lateral do WordPress, clique em Votação
- Você verá as opções: Eleições, Resultados e Configurações
-
Criar uma Eleição
- Clique em Eleições
- Clique em Nova Eleição
- Preencha o título, descrição e datas
- Clique em Criar Eleição
-
Criar Cargos
- Selecione a eleição
- Clique em Gerenciar Cargos
- Clique em Novo Cargo
- Preencha os dados e clique em Criar Cargo
-
Adicionar Candidatos
- Selecione o cargo
- Clique em Gerenciar Candidatos
- Clique em Novo Candidato
- Preencha os dados (incluindo foto) e clique em Criar Candidato
-
Ativar Eleição
- Na lista de eleições, clique em Ativar
- Os membros podem começar a votar
-
Visualizar Resultados
- Clique em Resultados
- Selecione a eleição
- Veja o ranking dos candidatos
Para Membros
-
Completar Perfil
- Use o shortcode
[wp_voting_profile]em uma página - Adicione seu CPF (obrigatório)
- Salve as alterações
- Use o shortcode
-
Votar
- Use o shortcode
[wp_voting]em uma página - Selecione os candidatos desejados
- Confirme e submeta seus votos
- Use o shortcode
-
Ver Resultados
- Use o shortcode
[wp_voting_results]em uma página - Visualize o ranking dos candidatos
- Use o shortcode
Shortcodes
[wp_voting]
Exibe a interface de votação. Requer que o usuário esteja logado e tenha completado seu perfil.
[wp_voting]
[wp_voting_results]
Exibe os resultados da votação.
[wp_voting_results]
[wp_voting_profile]
Exibe o formulário de perfil do membro.
[wp_voting_profile]
Estrutura do Banco de Dados
O plugin cria as seguintes tabelas:
wp_voting_elections- Eleiçõeswp_voting_positions- Cargoswp_voting_candidates- Candidatoswp_voting_votes- Votoswp_voting_members- Dados de membroswp_voting_audit_log- Log de auditoria
API REST
O plugin fornece endpoints REST para integração:
Eleições
GET /wp-json/wp-voting/v1/elections- Listar eleiçõesPOST /wp-json/wp-voting/v1/elections- Criar eleição
Cargos
GET /wp-json/wp-voting/v1/positions?election_id=1- Listar cargosPOST /wp-json/wp-voting/v1/positions- Criar cargo
Candidatos
GET /wp-json/wp-voting/v1/candidates?position_id=1- Listar candidatosPOST /wp-json/wp-voting/v1/candidates- Criar candidato
Votos
POST /wp-json/wp-voting/v1/votes- Registrar voto
Resultados
GET /wp-json/wp-voting/v1/results?election_id=1- Obter resultados
Validações
CPF
- Validação automática de CPF brasileiro
- Formato aceito:
123.456.789-00ou12345678900 - CPF duplicado não é permitido
Votação
- Membro deve estar registrado (ter CPF)
- Eleição deve estar ativa
- Dentro do período de votação
- Mínimo 1 voto obrigatório
- Máximo de votos definido por cargo
- Não é permitido votar duas vezes no mesmo candidato
Segurança
- Validação de CPF brasileiro
- Proteção contra voto duplicado
- Controle de acesso por role (admin/user)
- Nonces do WordPress para proteção CSRF
- Auditoria de votos com IP
- Sanitização de entrada
- Escapagem de saída
Troubleshooting
Problema: Shortcode não funciona
Solução:
- Verifique se o plugin está ativado
- Certifique-se de que o usuário está logado (para
[wp_voting]) - Verifique se o shortcode está digitado corretamente
Problema: Erro ao criar eleição
Solução:
- Verifique se você tem permissão de administrador
- Certifique-se de que a data de início é anterior à data de término
- Verifique se o banco de dados tem espaço disponível
Problema: Membro não consegue votar
Solução:
- Verifique se o membro completou seu perfil com CPF
- Verifique se a eleição está ativa
- Verifique se estamos dentro do período de votação
- Verifique se o membro já votou neste candidato
Problema: Banco de dados não foi criado
Solução:
- Desative e reative o plugin
- Verifique se o usuário do banco de dados tem permissão para criar tabelas
- Verifique os logs de erro do WordPress
Suporte
Para dúvidas ou problemas, entre em contato com o desenvolvedor do plugin.
Changelog
v1.0.0 (2024)
- ✨ Lançamento inicial
- ✅ Sistema de eleições completo
- ✅ Votação segura
- ✅ Relatórios em tempo real
- ✅ Auditoria de votos
- ✅ API REST
Licença
GPL v2 ou posterior
Desenvolvido com ❤️ para sistemas de votação seguros e transparentes