Skip to content
The Social Network for eDemocracy
Ruby JavaScript HTML CSS Other
Latest commit 27f1a05 May 9, 2016 @coorasse reduce releases
Failed to load latest commit information.
app fix announcements Apr 6, 2016
bin use the new form validation in wizards Aug 26, 2015
config reduce releases May 9, 2016
db schema Feb 7, 2016
lib Merge branch 'develop' into feature/vote_with_drag_and_drop Dec 11, 2015
public [skip ci] update swagger.io Feb 7, 2016
script fix mailman server Nov 30, 2015
spec Merge branch 'develop' into feature/json_api Feb 7, 2016
vendor/assets remove all old icon libraries Dec 13, 2015
.codeclimate.yml configure to run test covarage for codeclimate Jul 14, 2015
.gitignore removed pid files and added to gitignore Jan 14, 2016
.pryrc Use pry-rails in conjunction with awesome_print instead of ugly irb Aug 18, 2015
.rubocop.yml fix rubocop Dec 4, 2015
.ruby-version rollback ruby version Jul 15, 2015
.travis.yml Added compose configuration for travis build, removed pidfile setting… Jan 14, 2016
Capfile autodeploy!!! Mar 9, 2015
Dockerfile Use single container for airesis and solr Jan 14, 2016
Gemfile reintroduce missing gems Feb 7, 2016
Gemfile.lock reintroduce missing gems Feb 7, 2016
LICENSE nuova gestione eventi di votazione, correzione bug, profilata pagina … Jan 6, 2013
Procfile allow to vote ordering the solutions. Nov 28, 2015
README.md Use https for airesis links Jan 14, 2016
Rakefile remove f***ing resque and replaced with s***id sidekiq. Mar 12, 2014
config.ru fix rubocop Dec 4, 2015
docker-compose.test.yml Added compose configuration for travis build, removed pidfile setting… Jan 14, 2016
docker-compose.travis.yml Added compose configuration for travis build, removed pidfile setting… Jan 14, 2016
docker-compose.yml Use single container for airesis and solr Jan 14, 2016
install.sh update INSTALL and README Dec 12, 2015
private_pub.ru private_pub and icalendar May 30, 2013
sitemap_test.xml huge code refactoring for replacing old code with new one May 5, 2014

README.md

Airesis - The Social Network for eDemocracy

Codeship Status for coorasse/Airesis Dependency Status Code Climate

The first open source web application for eDemocracy

Summary

This innovative tool for participatory democracy puts the citizens at the center, as the main actors, and finally allows them to be active in the decisions of their territory.

Users can view their own territory and listen to the voices and messages that come directly from other citizens or groups present.

The groups will be able to get in touch with the citizens, support the proposals and create events in the area.

Everything fully integrated with all major social networks and the ability to communicate through e-mail the proposals.

Users who wish to participate in the activities of groups can also sign up and follow the discussions on the forums.

But what really makes Airesis a platform for edemocracy? The first thing is a totally innovative mechanism for the construction of proposals, where finally the contributions and the minds of the users will be able to merge and make it possible to write proposals in a shared way .

Airesis allows users to have a better ranking on the basis of how they work and contribute to the proposals but at the same time allows a true comparison on the topics and content while maintaining the anonymity of users during the construction of the proposals.

Each time a user participates in a proposal will be overshadowed his real name, so as to ensure that the discussions will focus on the texts and the value of what is written rather than who wrote it.

A system for evaluating the contributions and proposals totally new will automatically identify the users who write better and those who write worse by allowing them to write and evaluate better within the system.

Finally, an implementation of the method schulze will always hold genuine elections within groups or to choose the best among the proposals.

Absolutely simple and intuitive interface will allow everyone in a short time, to find all the information they want.

Reference website

License

This software is released under AGPL .

For the terms of the license can be found in the LICENSE file available within the project.

Anyone which installs the application and is required to comply with the terms of the license and to incorporate in the footer of the website the following statement:

Powered by Airesis - The Social Network for eDemocracy

Installation and Setup

You can install Airesis to run locally on your machine, or if you prefer using Docker containers for a quick and easy setup.

Local installation

The application installs itself as any other RubyOnRails application.

Requirements

  • PostgreSQL 9 with the hstore extension enabled.
  • Redis in order to execute Sidekiq and all background jobs.
  • A JVM installed to run SOLR server, used for searching inside Airesis.

Tutorial

  1. Download the project
git clone https://github.com/coorasse/Airesis.git
cd airesis
  1. Install the libraries
bundle install
  1. Configure the database connection and other application variables (such as PayPal, Google Maps API, etc.), run
cp config/database.example.yml config/database.yml
cp config/application.example.yml config/application.yml
cp config/private_pub.example.yml config/private_pub.yml
cp config/sidekiq.example.yml config/sidekiq.yml
cp config/sunspot.example.yml config/sunspot.yml

then edit the .yml files and set your custom values 4. Bootstrap the database, populating it with initial data (be advised: it will date some time!)

bundle exec rake db:setup
  1. Run Airesis
bundle exec rails s
  1. run SOLR
bundle exec rake sunspot:solr:run
  1. run Sidekiq
bundle exec sidekiq

That's it! Now you have a running installation of Airesis!

Foreman

If you want to run them all in a single command you can use Foreman

bundle exec foreman start

and it will take care of running everything for you.

Mailman

Users can reply in the forum by email. Run

ruby script/mailman_server.rb

in background to receive emails and create forum posts from them.

Docker

Docker takes care of all the required dependencies for you, and with it you use a fixed and standard dev environment between all of developers. This eliminate inconsistencies problem that can lead to bugs and other complications in running the application.

Requirements

Tutorial

  1. Download the project
git clone https://github.com/coorasse/Airesis.git
cd airesis
  1. Create the required Docker containers (first we need the container for airesis, then we can build all the others)
docker-compose build airesis
docker-compose build
  1. To configure application variables (such as PayPal, Google Maps API, etc.), run
cp config/database.example.yml config/database.yml
cp config/application.example.yml config/application.yml
cp config/private_pub.example.yml config/private_pub.yml
cp config/sidekiq.example.yml config/sidekiq.yml
cp config/sunspot.example.yml config/sunspot.yml

then edit the .yml files and set your custom values 4. Bootstrap and seed the DB

docker-compose run --rm airesis bundle exec rake db:setup
  1. Run Airesis
docker-compose up

Testing

  1. Build the test container
docker build -t airesis_test ./spec/
  1. Start all the test
docker-compose -f docker-compose.yml -f docker-compose.test.yml up airesis

SOLR

We strongly suggest to edit solrconfig.xml setting

  <autoCommit> 
    <maxTime>500</maxTime>
    <openSearcher>false</openSearcher> 
  </autoCommit>

  <autoSoftCommit> 
    <maxTime>500</maxTime>
  </autoSoftCommit>

To generate new collections create another solr subfolder like solr/new_collection and in solr.xml add <core name="new_collection" instanceDir="." dataDir="new_collection/data"/>

Seeding more data

You'll probably need some fake data in your development environment to test stuff. These scripts are available:

bundle exec rake airesis:seed:more:public_proposals[number]

Will generate number fake proposals in public open space and number new users (one for each proposal)

bundle exec rake airesis:seed:more:votable_proposals[number]

Will generate number fake proposals in public open space in vote for the next three days and number new users (one for each proposal)

bundle exec rake airesis:seed:more:clear_proposals

Destroy all the proposals in the database

To generate other fake data look at spec/factories folder.

Using Docker

You can run all the previous command if you use Docker. Juste prefix them with docker-compose run --rm airesis to run them in the airesis container.

For instance

docker-compose run --rm airesis bundle exec rake airesis:seed:more:public_proposals[number]

Environment variables

Look at application.example.yml for a detailed explanation of each environment variable.

Internationalization

See this wiki page for information on how to configure the language of the application

What else should I know? What are we working on right now?

We are working hard trying to convert Airesis in a modular engine.

We want to take out everything which is related to our installation and make it easier to install.

We are working mainly on the proposals and the layout.

Our main goal is to make it even more simple and usable for everybody!

Author

Alessandro Rodi

Alessandro Rodi ( coorasse@gmail.com )

Contributors

List of Contributors to the project Airesis

Tecnologie Democratiche Association

Something went wrong with that request. Please try again.