Skip to content

Commit 7c4fef7

Browse files
committed
[docs] README update with images
1 parent d38c9a7 commit 7c4fef7

File tree

4 files changed

+99
-53
lines changed

4 files changed

+99
-53
lines changed

README.md

+99-53
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,134 @@
1-
Podemos Participa
2-
============================================
1+
# Participa
32

4-
El objetivo de esta aplicación es ofrecer una interfaz a los usuarios donde inscribirse a Podemos,
5-
así como poder iniciar sesión y modificar sus datos en la plataforma y tener acceso al listado de
6-
Herramientas oficiales (Reddit, Agora Voting, App Gree).
3+
El objetivo de esta aplicación es ofrecer una interfaz única a los usuarios interesados donde inscribirse a Podemos.
74

8-
https://participa.podemos.info
5+
Entre las funcionalidades en las que consiste ahora mismo es con elecciones (integración con Agora Voting), Colaboraciones económicas (donaciones periódicas), Microcréditos (sistema de prestamos distribuidos), Notificaciones móviles (para dispositivos Android), entre otras funcionalidades.
96

10-
Instalación
11-
-----------
7+
![Pantallazo de Participa](doc/images/participa01.png)
8+
9+
![Pantallazo de Participa](doc/images/participa02.png)
10+
11+
![Pantallazo de Participa](doc/images/participa03.png)
12+
13+
## Funcionalidades
14+
15+
### Elecciones
16+
17+
Permite servir de censo integrado con Agora Voting: *Agora Voting es un software libre de votaciones que permite a cualquier organización realizar procesos electorales de forma segura, flexible, transparente y a un precio competitivo*. Permite que las elecciones se realicen en función a la localización del inscrito. En el caso de Podemos, se hace para diferenciar las elecciones de los ámbitos Municipales, Provinciales, Autonómicas y Estatales. A través de esta herramienta se han realizado todas las votaciones vinculantes de Podemos desde hace más de medio año, más de 30 votaciones: documentos organizativos, eticos y políticos, elecciones de cargos internos (secretario general, consejos ciudadanos estatales, autonómicos y minicipales), las distintas fases e iniciativas del proyecto Impulsa, etc.
18+
19+
* https://agoravoting.com/
20+
* http://www.eldiario.es/hojaderouter/internet/Podemos-votacion-seguridad-Pablo-Iglesias_0_318118945.html
21+
22+
### Colaboraciones económicas
23+
24+
Permite que los usuarios inscritos puedan configurar donaciones de forma periódica (mensual, trimestral o anual) por el importe que quieran (desde 5 a 50 €). Permite que esta colaboración se produzca a través de transferencia bancaria o con tarjeta de crédito (conexión con Redsys). Es uno de las principales formas de ingresos de Podemos (más de € 300.000).
25+
26+
* http://transparencia.podemos.info/cuentas-claras/partido/ingresos
27+
* http://transparencia.podemos.info/preguntas-frecuentes
28+
29+
### Microcréditos
30+
31+
Permite que usuarios (inscritos o no) den de alta préstamos a la organización de forma puntual. Ha servido para financiar la campaña electoral del año 2015 de Podemos en todas las Comunidades Autonómicas
32+
(más de € 1.500.000).
33+
34+
* http://transparencia.podemos.info/preguntas-frecuentes
35+
* http://www.bolsamania.com/noticias/politica/como-funcionan-los-microcreditos-con-los-que-podemos-ha-financiado-la-campana-electoral--743443.html
36+
37+
### Iniciativas Ciudadanas
38+
39+
Sistema de llegada de propuestas filtradas por votaciones con +1 bottom-up tomando como modelo el sistema planteado en el documento Organizativo de Podemos. Sobre esto mismo se realizará el sistema de Recovatorios de Cargos. Toma iniciativas de una categoría ("Propuestas") en la Plaza Podemos (subreddit de Podemos). Todavía ninguna iniciativa a cumplido los requisitos mínimos de participación impuestos por Podemos.
40+
41+
* http://www.eldiario.es/politica/Podemos-sistema-iniciativas-ciudadanas-revocatorios_0_369914239.html
42+
* http://labodemo.net/es/2015/03/28/labodemo-ayuda-a-lanzar-las-iniciativas-ciudadanas-en-podemos/
43+
44+
### Equipos de Participación
45+
46+
Permite a los inscritos darse de alta como interesado en formar parte de equipos localizados geográficamente para fomentar la participación presencial y la formación sobre la participación digital.
47+
48+
* http://www.europapress.es/nacional/noticia-podemos-crea-estructura-participacion-paralela-circulos-articulara-equipos-accion-20141217145841.html
49+
50+
### Verificación por SMS
51+
52+
Método de verificación utilizado por Podemos. Cuando un usuario se inscribe debe confirmar su correo electrónico y su teléfono móvil con un código que se le envía. Con esto se permite que haya mayor cantidad de Participación en pérdida de una mayor seguridad. Estos problemas se suplen con herramientas de Reportes de grupos de usuarios y de Anti Spam con blacklists.
53+
54+
* http://www.eldiario.es/turing/tecnologia-detras-voto-online-primarias_0_238326398.html
55+
56+
### Blog (Brújula)
57+
58+
Sistema de publicación de noticias que sirve de forma de argumentario y comunicación interna con sus inscritos.
59+
60+
### Newsletter
61+
62+
Sincronización de usuarios entre sistemas (Participa y Sendy) para los distintos casos que puede haber de falta de sincronía entre las bases de datos, es decir, si un usuario se quiere dar de baja sólo de la newsletter o si quiere darse de baja completamente como usuario.
63+
64+
* https://sendy.co/
65+
66+
### Formularios y páginas estáticas
67+
68+
Sistema de integración con formularios basados en Wordpress (con el plugin privativo Gravity Forms).
69+
70+
* http://www.gravityforms.com/
71+
72+
### Notificaciones móviles
73+
74+
Se ha hecho una aplicación en Android que sirve para que se pueda enviar notificaciones a los dispositivos móviles. Se utiliza para avisar cuando hay una nueva votación en curso (módulo de Eleciones) así como para hacer avisos durante la campaña electoral. Se trata de una aplicación realizada con Phonegap, por lo que está planificado su desarrollo para IOS (iPhone e iPad).
75+
76+
* https://play.google.com/store/apps/details?id=info.podemos.participa&hl=en
77+
78+
### OpenID
79+
80+
Se ha configurado para que la aplicación sea un proveedor de OpenID, por lo que permite que otras aplicaciones autentifiquen contra los usuarios del censo. Se ha utilizado para la aplicación de "La Expresión del Cambio" (concurso de carteles y canciones).
81+
82+
* https://laexpresiondelcambio.info/board/550096f30ee95e0000000007
83+
84+
## Instalación
1285

1386
Es una aplicación Ruby On Rails hecha con Rails 4.1 / Ruby 2.0.
1487
Se recomienda hacerla en sistemas operativos GNU/Linux (nosotros usamos Ubuntu).
1588
Para manejar las gemas recomendamos rvm o rbenv.
16-
Para la BBDD recomendamos postgres, pero se puede usar también mysql/sqlite3.
89+
Para la BBDD recomendamos postgres, pero se puede usar también mysql/sqlite3.
1790

1891
Una vez se tenga configurado el rvm o rbenv los pasos a seguir serían los siguientes:
1992

2093
```
2194
bundle install
22-
cp config/database.yml.example config/database.yml
23-
cp config/secrets.yml.example config/secrets.yml
95+
cp config/database.yml.example config/database.yml
96+
cp config/secrets.yml.example config/secrets.yml
2497
rake db:migrate
25-
rails server
98+
rails server
2699
```
27100

28-
Aparte de esto para algunas acciones utilizamos [resque](), una cola para trabajos asincronos.
101+
Aparte de esto para algunas acciones utilizamos [resque](), una cola para trabajos asincronos.
29102

30-
Tests
31-
-----
103+
## Tests
32104

33-
Se pueden comprobar los tests con
105+
Se pueden comprobar los tests con
34106

35107
```
36108
rake test
37109
```
38110

39111
Todos deberían dar OK o SKIP (significa que se ipasa de alto, y que hay que programarlo). Una vez se libere el código se integrará con [travis-sci](http://travis-ci.org/).
40112

41-
APIs externas
42-
-------------
113+
## APIs externas
43114

44115
* Para las votaciones de los usuarios usamos [Agora Voting](https://agoravoting.com/), que han realizado una integración con la plataforma de Podemos. La configuración del secreto compartido se encuentra en una clave de `secrets.yml`. Documentación: [Sobre la integración, al momento de escribir esto](https://github.com/agoravoting/agora-core-view/blob/9dfbbf5252b2eb119463d2dcaa2c01391b232653/INTEGRATION.md), [Sobre la integración, versión más actualizada](https://github.com/agoravoting/agora-core-view/blob/master/INTEGRATION.md), [Sobre la API REST general de AgoraVoting](https://agora-ciudadana.readthedocs.org/).
45116

46117
* Para el envío de SMS usamos [esendex](http://esendex.es/). Puede comprobarse con el comando `rake esendex:validate[username,password,account_reference]`. La configuración de la autenticación se encuentra en unas claves de `secrets.yml`.
47118

48119
* Para el control de excepciones en staging y production usamos una instancia privada de la Asociación aLabs de [errbit](https://github.com/errbit/errbit), una aplicación libre basada en la API de [airbrake](https://airbrake.io/). Puede comprobarse la conexión con el servidor con el comando `rake airbrake:test`. La configuración de la autenticación se encuentra en unas claves de `secrets.yml`.
49120

50-
* Para la gestión de las colas de trabajo utilizamos [resque](https://github.com/resque/resque/), que usa como DDBB redis. Un comando útil para desarrollo es el de iniciar un worker: `rake resque:work`
121+
* Para la gestión de las colas de trabajo utilizamos [resque](https://github.com/resque/resque/), que usa como DDBB redis. Un comando útil para desarrollo es el de iniciar un worker: `rake resque:work`
51122

52123
* En desarrollo, para comprobar el envio de correos, utilizamos [mailcatcher](http://mailcatcher.me/), una gema que levanta un servidor SMTP en el puerto 1025 y una interfaz web para ver los correo s que se envían en en el puerto 1080. Para levantarlo ejecutar el comando `mailcatcher`
53124

54125
* Para el envío de correo en producción usamos [Amazon SES](http://aws.amazon.com/es/ses/). La configuración va en `config/secrets.yml`.
55126

56127
* Para descargar las últimas iniciativas ciudadanas en Plaza Podemos ejecutamos el comando: `rake podemos:reddit`
57128

58-
Dependencias
59-
------------
129+
## Dependencias
60130

61-
Para ejecutar la aplicación en su totalidad hay que tener los siguientes servicios en funcionamiento:
131+
Para ejecutar la aplicación en su totalidad hay que tener los siguientes servicios en funcionamiento:
62132

63133
```
64134
sudo apt-get install libicu52 # para manejar cadenas Unicode correctamente
@@ -70,8 +140,7 @@ sudo apt-get install qt5-default libqt5webkit5-dev # para capybara (tests)
70140
sudo apt-get install wkhtmltopdf # para generación de PDFs (microcreditos)
71141
```
72142

73-
Configuraciones
74-
---------------
143+
## Configuraciones
75144

76145
Se ha intentado que todas las configuraciones esten accessibles con los ficheros de configuración
77146

@@ -80,39 +149,17 @@ config/databases.yml
80149
config/secrets.yml
81150
```
82151

83-
Ver ejemplos en `config/databases.yml.example` y `config/secrets.yml`.
84-
85-
Textos
86-
------
87-
88-
Cuando se ponga el nombre del partido, deberá ponerse de la siguiente forma:
89-
90-
```html
91-
<em class="podemos">Podemos</em>
92-
```
93-
En los steps, se deberá prestar atención a tener textos de longitud similar
94-
para mantener el aspecto de los steps uniforme.
152+
Ver ejemplos en `config/databases.yml.example` y `config/secrets.yml.example`.
95153

96-
En las cajas de herramientas el título permite tres palabras "cortas" ("Plaza Podemos", "Ágora Voting" o "AppGree")
154+
## i18n
97155

98-
A ancho completo, la altura de las cajas está fija. Dicha limitación no está en responsive.
99-
100-
i18n
101-
----
102-
103-
Para modificar los distintos idiomas, revisar los ficheros de `config/locales/`
104-
Para agregar uno nuevo se deben seguir los siguientes pasos:
105-
* Agregarlo en la línea de 'scope locale' en `config/routes`
156+
Para modificar los distintos idiomas, revisar los ficheros de `config/locales/`
157+
Para agregar uno nuevo se deben seguir los siguientes pasos:
158+
* Agregarlo en la línea de 'scope locale' en `config/routes`
106159
* Agregarlo en la UI de cambio de idiomas del footer en `app/views/layouts/application.html.erb`
107160
* Agregarlo en la configuración para idiomas válidos en `config/application.rb`
108161

109-
Newsletter
110-
----------
111-
112-
TODO: documentar integración con Sendy
113-
114-
Colaboraciones
115-
--------------
162+
## Colaboraciones económicas
116163

117164
Para la forma de pago "Suscripción con Tarjeta de Crédito/Débito" hemos hecho una integración con Redsys.
118165

@@ -128,4 +175,3 @@ Para realizar las pruebas en su entorno y que finalice correctamente es necesari
128175
```
129176

130177
Se pueden ver los documentos desde los que se han partido para su implementación en `doc/redsys`.
131-

doc/images/participa01.png

412 KB
Loading

doc/images/participa02.png

251 KB
Loading

doc/images/participa03.png

78.3 KB
Loading

0 commit comments

Comments
 (0)