Trabajo:Cómo colaborar con el ayuntamiento

De FdIwiki ELP
Saltar a: navegación, buscar

El Ayuntamiento de Madrid está desarrollado dos nuevas aplicaciones de participación y transparencia fomentando el desarrollo colaborativo y abierto. Estas aplicaciones están hechas enteramente en software libre para que luego puedan ser usadas en cualquier parte del mundo. Las aplicaciones están desarrolladas completamente en Ruby on Rails.

El Ayuntamiento va a organizar el evento #CodingMadrid el 2º jueves de cada mes de 12:00 a 15:00 (aunque se pueden sugerir otros horarios), en el Medialab-Prado, con todos aquellos que quieran unirse a trabajar en las nuevas aplicaciones de participación y transparencia: http://diario.madrid.es/blog/2015/11/16/desarrollo-colaborativo-y-abierto-en-codingmadrid/

Trabajo realizado por

  • Ana María Martínez Gómez (Doble Grado Ingeniería Informática - Matemáticas 5º)
  • Jakub Holubanský


¿Cómo puedo colaborar con el ayuntamiento?

Donde más ayuda se necesita es en el desarrollo.

Para quienes no se animen a programar, se puede colaborar de de otras formas:

  • Pensando mejoras y cómo implementarlas, y proponerlas sin programarlas.
  • Se puede colaborar con análisis de datos. Ya hay un grupo que está realizando análisis de datos de cómo participa la gente en el Portal de Participación. Por ej, la vida media de una propuesta, el uso que tiene, lo que atrae cada propuesta por tipo... hacen scrapping y analytics. Ese grupo se reune regularmente en el Medialab, y está abierto a cualquiera que quiera unirse y colaborar.
  • Se puede ayudar a repensar los algoritmos de ordenación de las propuestas. Es decir, al usuario se le muestra una lista de propuestas en portada. ¿Cuáles deberían subir/bajar y en qué casos? Ahora mismo se usa uno como el de Reddit pero simplificado. Hay muchos posibles, y un análisis de los que hay para elegir otro mejor sería algo muy útil.


Participar en el desarrollo

¿Qué necesito saber para poder participar en el desarrollo?

El ayuntamiento de Madrid utiliza Ruby on Rails en todo su software, por tanto si no sabes Ruby on Rails lo primero que debes hacer es aprender. Para ellos puedes utilizar este artículo: Trabajo: Cómo aprender Ruby on Rails

También necesitaras tener un cuenta en Github. Puedes crearla aquí si no la tienes ya: https://github.com/join

Deberás además saber usar Github y Git. Para ellos puedes utilizar la siguiente guía: https://git-scm.com/doc


Manos a la obra

El portal de participación se encuentra en: https://github.com/consul/consul

El portal de transparencia de encuentra en: https://github.com/AyuntamientoMadrid/transparencia


Requisitos previos

Para colaborar en ambos proyectos lo primero que debes hacer es instalar git, Ruby 2.2.3, la gema bundler y PostgreSQL (9.4 o superior). Además para el de participación también necesitarás ghostscript.


Git

Si estás en linux para instalar git basta con:

sudo apt-get install git


Ruby 2.2.3

Si estás usando Ubuntu o debian NO utilices

sudo apt-get install ruby-full

Esto intalará la versión 1.9.3 que no es válida para este proyecto.


Puedes descargar la versión 2.2.3 en formato .gz aquí: https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz

Luego ejecuta desde la consola lo siguiente:

sudo apt-get update

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison nodejs subversion

Desde la carpeta donde esté la descarga haz:

tar xvfz ruby-2.2.3.tar.gz

cd ruby-2.2.3

./configure

make

sudo make install

sudo gem update --system


En algunos sistemas operativos hay formas más sencillas:

CentOS, Fedora, or RHEL: sudo yum install ruby

OS X: brew install ruby

Windows: Usando el siguiente instalador http://rubyinstaller.org/

Puedes encontrar más información sobre como instalar Ruby aquí: https://www.ruby-lang.org/en/documentation/installation/


Gema bundler

Si estás en linux basta con:

gem install bundler

Si necesitas más información: http://bundler.io/


ghostscript

En Debian basta con

sudo apt-get install ghostscript


PostgreSQL (9.4 o superior)

Esto es lo más dificil de instalar y configurar.

En Debian tienes la siguiente guía detallada: https://wiki.debian.org/es/PostgreSql

Para evitar problemas es recomendable instalar también: apt-get install postgresql-9.4-postgis-scripts


Descargar y configurar proyecto

Descarga el proyecto de Github y sigue las instrucciones.

Si al hacer bundler install te da problemas la gema pg en Ubuntu o Debian prueba lo siguiente:

sudo apt-get install libpq-dev

gem install pg


Debes crear un usuario en Postgree (por ejemplo consul) con una contraseña (por ejemplo 000) y modificar el fichero config/database.yml antes de hacer bin/rake db:setup. Lo que debes modificar en el fichero es lo siguiente:

 username: consul
 password: '000'


No olvides darle permisos al usuario, sino seguramente bin/rake db:setup te dará errores. La siguiente documentación puede serte de utilidad: http://www.postgresql.org/docs/8.2/static/sql-alterrole.html

Si obtienes un error similar a este:

ActiveRecord::StatementInvalid: PG::UndefinedFile: ERROR: could not open extension control file "/usr/share/postgresql/9.4/extension/unaccent.control": No such file or directory

Prueba con:

apt-get install postgresql-9.4-postgis-scripts

Issues