WP Manifestindependent plugin directory
manifest / utilities / plugin-voting

Sistema de Votação

Plugin de votação simples.

by Emanoel de Oliveira · github.com/nelclassico/plugin-voting · website

0stars
0forks

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.zip

Sistema 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

  1. Faça download do arquivo wp-voting-plugin.zip
  2. No painel do WordPress, vá para Plugins > Adicionar Novo
  3. Clique em Enviar Plugin
  4. Selecione o arquivo ZIP e clique em Instalar Agora
  5. Após a instalação, clique em Ativar Plugin

Método 2: FTP

  1. Descompacte o arquivo wp-voting-plugin.zip
  2. Envie a pasta wp-voting-plugin para /wp-content/plugins/ via FTP
  3. No painel do WordPress, vá para Plugins e ative o plugin

Como Usar

Para Administradores

  1. Acessar o Painel

    • No menu lateral do WordPress, clique em Votação
    • Você verá as opções: Eleições, Resultados e Configurações
  2. 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
  3. Criar Cargos

    • Selecione a eleição
    • Clique em Gerenciar Cargos
    • Clique em Novo Cargo
    • Preencha os dados e clique em Criar Cargo
  4. Adicionar Candidatos

    • Selecione o cargo
    • Clique em Gerenciar Candidatos
    • Clique em Novo Candidato
    • Preencha os dados (incluindo foto) e clique em Criar Candidato
  5. Ativar Eleição

    • Na lista de eleições, clique em Ativar
    • Os membros podem começar a votar
  6. Visualizar Resultados

    • Clique em Resultados
    • Selecione a eleição
    • Veja o ranking dos candidatos

Para Membros

  1. Completar Perfil

    • Use o shortcode [wp_voting_profile] em uma página
    • Adicione seu CPF (obrigatório)
    • Salve as alterações
  2. Votar

    • Use o shortcode [wp_voting] em uma página
    • Selecione os candidatos desejados
    • Confirme e submeta seus votos
  3. Ver Resultados

    • Use o shortcode [wp_voting_results] em uma página
    • Visualize o ranking dos candidatos

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ções
  • wp_voting_positions - Cargos
  • wp_voting_candidates - Candidatos
  • wp_voting_votes - Votos
  • wp_voting_members - Dados de membros
  • wp_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ções
  • POST /wp-json/wp-voting/v1/elections - Criar eleição

Cargos

  • GET /wp-json/wp-voting/v1/positions?election_id=1 - Listar cargos
  • POST /wp-json/wp-voting/v1/positions - Criar cargo

Candidatos

  • GET /wp-json/wp-voting/v1/candidates?position_id=1 - Listar candidatos
  • POST /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-00 ou 12345678900
  • 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