Git Product home page Git Product logo

sistema-voto's Introduction

Sistema de voto.

Aplicación creada para votar de forma remota, diseñada especialmente para la Federación Murciana de Asociaciones de Estudiantes.


Descripción

Sistema de voto es una aplicación web sencilla, creada exclusivamente para la Federación Murciana de Asociaciones de Estudiantes. La funcionalidad principal es la habilidad de poder votar de forma remota, agragando simplicidad a las reuniones y asambleas que se realizen de forma online o semipresencial.

La idea de crear este programa viene de un problema sufrido dentro de la organización, la inexsistencia de una aplicación simple para votar dentro de las asambleas semipresenciales, esto causó problemas en el correcto desempeño de la votación. Despues de sufrir este problema, me planteé crear esta aplicación, que a mi parecer mejorará esta situación.

¿Con qué tecnologia está creado?

PHP MySQL

La tecnolgia principal utilizada es PHP, gracias a esto, ha sido facil poder programar las partes dinamicas de la aplicación. El programa está pensado para utilizarse junto a una base de datos MySQL; el progama usa la extensión de php mysqli, por lo que no se puede user otro software de bases de datos. Nota: esta es mi primera aplicación en PHP, por lo que es posible que el codigo no sea el mejor.

Instalación

Este programa no está diseñado para que el proceso de instalación sea intuitivo.

  1. Crea una base de datos.
  2. Crea un archivo llamado databse.php en el directorio /config para que contenga los datos de tu base de datos. Debes obtener un archivo con la siguiente estructura: /config/database.php. Dentro de este archivo añade este código:
<?php
define('DB_HOST', '[TU HOST]');
define('DB_USER', '[TU USUARIO]');
define('DB_PASS', '[TU CONTRASÑEA]');
define('DB_NAME', '[TU BASE DE DATOS]');

$conec = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

if ($conec->connect_error){
    die('Conexión fallida' . $conec->connect_error);
}
?>
  1. Crea una tabla para los usuarios, desde phpMyAdmin o usando el siguiente comando SQL:
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(255) NOT NULL,
  `nombre` text NOT NULL,
  `cont` varchar(255) NOT NULL,
  `perm` tinyint(1) NOT NULL,
  `por` varchar(255) NOT NULL,
  `date` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
  1. Crea una tabla para las votaciones, desde phpMyAdmin o usando el siguiente comando SQL:
CREATE TABLE `vote` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titulo` varchar(255) NOT NULL,
  `texto` text NOT NULL,
  `si` int(11) NOT NULL,
  `no` int(11) NOT NULL,
  `abs` int(11) NOT NULL,
  `users` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`users`)),
  `activa` tinyint(1) NOT NULL,
  `fecha` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
  1. Crea un usuario con permisos de manera manual en la tabla users. IMPORTANTE, en el campo perm debes poner 1, de esta forma tendra permisos de administrador

Con esto ya tienes toda la aplicación instalada, podras crear votaciones y usuarios desde el panel de administrador. Para acceder solo tendras que acceder a la URL raiz, como votar.tudominio.com/

ATENCIÓN: es necesario que la aplicación tenga un certificado SSL y sea abireta usando HTTPS, si no se usa, algunas de las funciones podrian no funcioar, esto es una medida de seguridad.

Actualmente esta en fase alpha la creación de votaciones que no sigan el patron de «A favor, En contra o Abstención».

Versión

Actualmente la aplicación se encuenta la versión v1.0.2 . El proyecto sigue el sistema de Versionado Semántico.


License / Licencia

License: GPL v3 Este porgrama está bajo la licencia GNU General Public Licens v3 (GPLv3). Andrés Campillo y la Federación Murciana de Asociaciones de Estudiantes se guardan el derecho para cambiar la licencia utilizada.

sistema-voto's People

Contributors

andrescampill avatar

Watchers

 avatar

sistema-voto's Issues

Problema al exportar votaciones personalizadas.

Problema al exportar votaciones personalizadas

Cuando intentas exportar una votación en la que se han obtenido una gran variedad de votos de forma personalizada, el gráfico de los resultados:

  • No se encuentra centrado en la página
  • No se lee entero
  • Tapa contenido
    Y el footer salta a la sigueinte página.

Captura de pantalla 2023-12-24 144405

Visualización de votaciones personalizadas.

Problema al visualizar votaciones personalizadas.

Cuando se muestran los resultados de una votación personalizada, se puede observar como el gráfico no se encuentra correctamente configurado, por lo que salta a la siguiente línea tapando el footer de la página.
image

Fallo de diseño al exportar.

Al exportar algún resultado de alguna votación, se exporta de manera incorrecta y se crean 2 páginas. En la segunda solo se encuentra la última línea de la tabla.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.