Developer Guide

This developer's guide provides documentation on how to build,deploy & test the application. But also to encourage Hacktivism and give people enough knowledge on how to develop their own web applications using Maven, Hibernate, Spring, & thinwire..

Requirements

To build and run the Citizen Intelligence Agency you need to install the following software.

Getting the Source Code

The source can be checked out anonymously from SVN with this command:

$ svn checkout https://edemocrazy.svn.sourceforge.net/svnroot/edemocrazy/democracy/trunk democracy

Setting up the Mysql database user

The command below describes how you setup an database user that will be used by the application.

Start the mysql command line tool with this command:

$ mysql -u root

and execute the following command

mysql> GRANT ALL PRIVILEGES ON *.* TO 'democracy'@'localhost' IDENTIFIED BY 'directdemocracy' WITH GRANT OPTION;

Build the application & run test

Now everything should be ready for you to build the application, execute the following command to build

$ mvn clean jetty:run-war -Pdev -Dtest=none -DfailIfNoTests=false

This will build build a .war file and start en embedded jetty instance

Test Direct Democracy Portal

Now if everything has started successfully you should be able to view Direct Democracy portal at http://localhost:8080/

Eclipse development

If you want to do any serious development I would recommend that you install the latest version of Eclipse http://www.eclipse.org/downloads/ and also add the following plugins below.

  • Install SVN client subversive
  • Subversive Update Site is a part of Galileo Update Site.
  • Look at Help > Install New Software... > select Galileo - http://download.eclipse.org/release/galileo > Collaboration Tools
  • http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/ - [required] Subversive SVN Connectors
  • http://community.polarion.com/projects/subversive/download/integrations/galileo-site/ - [optional] Subversive Integrations
  • Install m2eclipse , instructions at http://m2eclipse.sonatype.org/
  • Spring IDE, update site: http://springide.org/updatesite/
  • Install Jautodoc , update site http://jautodoc.sourceforge.net/update/
  • Install EclEmma, update site http://update.eclemma.org/
  • Install Eclipse cs, update site http://eclipse-cs.sf.net/update
  • Install Jdepend for eclipse, update site http://andrei.gmxhome.de/eclipse/
  • Install Pmd for eclipse, update site http://pmd.sourceforge.net/eclipse
  • Install Findbugs for eclipse, update site http://findbugs.cs.umd.edu/eclipse/