Giter Site home page Giter Site logo

ciudadanointeligente / votainteligente-portal-electoral Goto Github PK

View Code? Open in Web Editor NEW
42.0 15.0 32.0 118.08 MB

Votainteligente es el portal electoral de la Fundación Ciudadano Inteligente, tú propones y los candidatos se comprometen.

License: GNU General Public License v3.0

Shell 0.04% Python 49.36% CSS 8.39% JavaScript 4.59% HTML 37.62%
python democracy participatory-democracy django latinoamerica popular-proposals politicians political-proposals political-parties civic-tech

votainteligente-portal-electoral's Introduction

votainteligente-portal-electoral

Build Status Coverage Status

Descripción y contexto


Votainteligente, la plataforma electoral de la Fundación Ciudadano Inteligente, se utiliza para transparentar las posiciones electorales de los diferentes candidatos a una elección.

En esta plataforma de participación ciudadana, cualquier persona, u organización puede proponer a los candidatos electorales iniciativas para que estos las añadan a sus compromisos electorales.

Una vez publicadas las propuestas de la ciudadanía, pueden ser apoyadas tanto por las personas u organizaciones registradas para que sean consideradas como compromisos por los candidatos parlamentarios y presidenciales en chile.

Esta herramienta fue desarrolla por la fundación Ciudadano Inteligente para las elecciones chilenas del 2017 en la que se lograron 12 compromisos por parte de los dos candidatos que pasan a la segunda vuelta electoral.

Actualmente 100 organizaciones se encuentran registradas y participando en la plataforma, fueron creadas 700 propuestas ciudadanas y después de la primera vuelta electoral fue visitada por 220 mil personas.

El desarrollo de la herramienta fue la base para crear http://levantalamano.cl/, plataforma que visibiliza las propuestas que niños, niñas y adolescentes tienen para Chile.

Instalación


Requerimientos o dependencias

Antes de que se inicie el proceso de instalación, se necesitan los siguientes requisitos:

Para instalar estas dependencias en ubuntu puedes hacer lo siguiente:

sudo apt-get install virtualenvwrapper git redis-server zlib1g-dev libjpeg62-dev graphicsmagick libboost-python-dev

y seguir las instrucciones de ElasticSearch 2.4

Para instalar estas dependencias en fedora puedes hacer lo siguiente:

sudo dnf install redhat-rpm-config python-virtualenvwrapper git redis zlib-devel libjpeg-devel GraphicsMagick-c++-devel boost-devel

y seguir las instrucciones de ElasticSearch 2.4

Proceso de instalación

  • Clone vota inteligente en algún lugar de tu sistema

git clone https://github.com/ciudadanointeligente/votainteligente-portal-electoral.git

Ingresa el directorio de instalación

cd votainteligente-portal-electoral

  • Crea un ambiente virtual

mkvirtualenv votainteligente

Aquí puedes opcionalmente darle al comando la ruta completa al directorio de instalación agregando -a <full_path>. Luego, para ir a este ambiente virtual (y directorio) debes ejecutar workon votainteligente

  • Si no usaste la opción -a, deberás ingresar al directorio.

cd votainteligente-portal-electoral

  • Instala los requisitos que vota inteligente necesita en el entorno virtual actual

pip install -r requirements.txt

Puede tomar algo de tiempo el tener todo instalado

  • Crea la base de datos y tablas.

python manage.py migrate

  • corre VotaInteligente

python manage.py runserver

y entra a http://localhost:8000/.

Datos de ejemplo:

Se pueden utilizar algunos datos de ejemplo previamente creados: Usuarios de ejemplo:

./manage.py loaddata example_data.yaml

Usuarios normales, comunes y corrientes que no hacen nada especial

user: proponedor pass: p

Organizaciones

user: organizacion pass: o

Candidatos


user: senador pass: s

user: presidente pass: p

Temas

LevantaLaMano

Puedes acceder a los datos de ejemplo de LLM después de cargarlos datos como está explicado arriba:

./manage.py loaddata example_data.yaml

Y puedes acceder a LLM en la siguiente url http://votita.127.0.0.1.xip.io:8000

#MeRepresenta

Se você quiser trabalhar em #MeRepresenta, você deve, além do acima, fazer o upload dos dados de amostra para o projeto.

./manage.py loaddata merepresenta_example.yaml

E também adicione ao arquivo votainteligente/local_settings.py (e crie o arquivo se você não tiver criado) o seguinte:

## SPECIFIC CONFIGS for #MEREPRESENTA
MEREPRESENTA_SITE_ID=2
DEFAULT_AREA=u'brasil-country-br'
FILTERABLE_AREAS_TYPE=['state', ]
ROOT_URLCONF = 'merepresenta.stand_alone_urls'
THEME = 'merepresenta'

Rio Por Inteiro

Se você quiser trabalhar em #RioPorInteiro, você deve, além do acima, fazer o upload dos dados de amostra para o projeto.

./manage.py loaddata example_data.yaml
./manage.py loaddata areas_cariocas_elecao_2018.yaml
./manage.py constance set DEFAULT_AREA "rj"

E, finalmente, adicione ao arquivo votainteligente/local_settings.py (e crie o arquivo se você não tiver criado) o seguinte:

FILTERABLE_AREAS_TYPE=['município', ]
THEME = "rioxinteiro"
LANGUAGE_CODE = 'pt'

Cuidado: Se você está criando o arquivo, você precisará escrever isto na primeira linha:

# coding=utf-8

Correr la aplicación

Podemos correr la aplicación con el siguiente comando:

./manage.py runserver

y accedemos a Localhost:8000

Testeo


Puede ejecutar tests haciendo:

$ ./test.sh

Y hay un atajo para testear sin migraciones:

$ ./t.sh

Licencia


VotaInteligente es gratuito y se presenta como software de código abierto bajo los términos de GNU Public License (GPL v3)

votainteligente-portal-electoral's People

Contributors

auskode avatar bastiantorres avatar beatrizirarrazaval avatar camargozzini avatar damian-garrido avatar daquiroz avatar fci-jenkins avatar fnavarro1 avatar gicastillo avatar guimohallem avatar jbci avatar jiconstanzo avatar lfalvarez avatar lipecrlopes avatar lissteilor avatar malferirem avatar margamaira avatar martinszy avatar maugsbur avatar mcorvera avatar miguelzinhe avatar mujerdehojalata avatar nataliamatayoshi avatar nicofernandezrod avatar nnmatayoshi avatar octagrammer avatar pdaire avatar rechecopar avatar th4ynn4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

votainteligente-portal-electoral's Issues

Cada elección tiene un tipo

Una elección tiene un solo tipo y pueden existir muchos tipos. En el caso chileno estos tipos son: presidencial, senatorial, diputado y core. Para el caso venezolano sería solo municipales.

Feature: Marca

Tal como actualmente se le puede poner una banda de "no responde" al candidato, este feature permitiría personalizar la banda de manera que el administrador de Vota elija el texto que quiere que ésta contenga.

Tener páginas de contenido general

Del tipo, "quienes somos" y cuyo contenido se despliegue en una página aparte y su contenido tenga markdown. Entonces a modo de ejemplo:

  • Pagina 1:
    • Título: Quienes Somos?
    • slug: quienes-somos y por lo tanto la url viene siendo /pages/quienes-somos (le coloqué pages pa que la cuestión salga más fácil)
    • contenido: No es sabido quienes somos pero somos bacanes y estamos escritos en markdown

Listar elementos de la elección como JSON

Para poder llenar los datos de una elección, se debe desplegar como JSON los siguientes elementos:

  • Candidates
  • QuestionCategories
  • Topics
  • Positions
  • TakenPositions

Esto puede estar listado en algún lugar del tipo /data/<model>.json.

Importar desde PopIt

Importar datos desde PopIt para que personas puedan tener otras fuentes de información. Esto es increiblemente útil si estamos utilizando herramientas como YourNextMP.

Mejorar la administración del sitio

Actualmente será donde se pueda incluir el resto de la información. Debemos incluir administración para:

  • Extra Info del Candidato
  • Extra Info de la Eleccion

allow disabling features per election

in some cases the admin of the site might need to disable the ask or soulmate feature in some election, it should be possible through the admin page

No se borran alternativas de candideit.org

Pese a que en el editor no aparecen las alternativas que fueron borradas, en el sito se ven las alternativas antiguas y las que se agregaron

(eso pasa pq en vez de permitir "editar" la pregunta hay que borrarla y escribirla completa de nuevo!!!)

Más info por elección

igual que en las elecciones de paraguay donde teníamos un título modificable y además la página con contenido en markdown

Cómo se calcula el ranking?

Ordenamos a los candidatos por un índice que describe cuanto está respondiendo y cuanto es el interés que genera entre los ciudadanos.

Este índice se calcula como se explica acá:

pr = Preguntas respondidas por el candidato

ph = Preguntas hechas al candidato

P = Total de preguntas

R = Total de respuestas

indice_por_candidato = (indice_de_premio + 1)*ph*pr - ph^2

Donde el índice de premio se calcula como sigue

indice_de_premio = P/R

Links por elección

A otras ONG y ojalá locales, ejemplo: En Valpo podríamos tener una ONG que está en contra del mall Barón y en la elección podríamos tener un link a su página.

Título del sitio

En el menú de administración no está habilitada la opción para modificar el título del sitio.

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.