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 & Vaadin.


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 cia-trunk

Setting up the postgresql database user

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

Use the commandline to access postgresql or through pgAdmin3. > sudo su - postgres > psql

postgres=# CREATE USER eris WITH password 'discord';

postgres=# CREATE DATABASE cia_dev;

postgres=# GRANT ALL PRIVILEGES ON DATABASE cia_dev to eris;

Build the application & run test

Now everything should be ready for you to build the application, execute the following commands to build & run

$ mvn clean package -Pdev,skip-db -Dmaven.skip.test=true

$ mvn jetty:run -Pdev,skip-db -Dtest=none -Dmaven.skip.test=true

or using convenient ant task

$ ant run

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

NOTE: Set the variable MAVEN_OPTS="-Xmx1024m -Xms512m -XX:MaxPermSize=512m" if you get java memory exception.

Test Citizen Intelligence Agency

Now if everything has started successfully you should be able to view Citizen Intelligence Agency 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 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 - > Collaboration Tools
  • - [required] Subversive SVN Connectors
  • - [optional] Subversive Integrations
  • Install m2eclipse , instructions at
  • OPTIONAL plugins below..
  • Spring IDE, update site:
  • Install Jautodoc , update site
  • Install EclEmma, update site
  • Install Eclipse cs, update site
  • Install Jdepend for eclipse, update site
  • Install Pmd for eclipse, update site
  • Install Findbugs for eclipse, update site