Citizen Intelligence Agency
Tracking politicians like bugs. Citizen Intelligence Agency is independent and non-partisan voluntary project.
Goal
Visualize political activity in Sweden, present key performance indicators and metadata for the actors on national level.
Demo
Citizen Intelligence Agency Demo https://www.hack23.com/cia/
Using open data from http://data.riksdagen.se/ , http://www.val.se/ and http://data.worldbank.org/.
Currently the application displays data, metadata and charts for data related to Swedish parliament and government. Covering parliament members, committees, documents, ballots, decisions, ministries, government members and political parties.
Limited functionality proper navigation, descriptions,content, ui and styling are still not in place.
Roadmap
Plan to make it public some time after 2022.04, running Ubuntu 22.04, Postgresql 13+, JDK17, Spring framework 6.x , Hibernate 6.x, Vaadin 8.x.
Resources
- Project homepage Sourceforge.
- Github source code location https://github.com/Hack23/cia
- Build server, jenkins: https://www.hack23.com/jenkins/
- QA report, sonarqube: https://www.hack23.com/sonar/
- Repository manager, nexus: https://www.hack23.com/nexus/
- Ohloh Project Summary Ohloh.
- Principia Discordia Read the book!
Project Documentation
- Source Code Cross-reference Java source code.
- Javadoc & UML Generated javadoc with UML diagrams.
- Entity Model Hibernate Mapping Documentation.
- Test Result Surefire test report.
- Jar Usage Validation Tattletale report.
Running docker image
Docker repository : https://hub.docker.com/r/hack23/cia/
1. docker run hack23/cia:2022.9.17 -p 28443:8443
2. Access server at https://localhost:28443/cia/ , register new user to get admin access
Installing Debian/Ubuntu package
Currently only build a debian package, works with debian and ubuntu 18.04+
Installing database(postgres) and openjdk
$ sudo apt-get install openjdk-16-jdk postgresql-13 pgadmin3
2.1 Installing Postgresql on Ubuntu
$ sudo apt-get install postgresql-13 postgresql-contrib postgresql-13-pgaudit
3. Create empty database
Below description set the default username/password and database name used for development, recommend using custom credentials and update the configuration at /opt/cia/webapps/cia/WEB-INF/database.properties to define your own username/password and database name.
$ 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;
4. Modify postgres setting, enable prepared transactions
Edit file "/etc/postgresql/13/main/postgresql.conf" set
max_prepared_transactions = 100 shared_preload_libraries = 'pg_stat_statements, pgaudit, pgcrypto' pgaudit.log = ddl pg_stat_statements.track = all pg_stat_statements.max = 10000
5. Modify postgres setting Edit file "/etc/postgresql/13/main/pg_hba.conf" add line
host all all ::1/128 md5
6. Restart postgres
$ service postgresql restart
7. Get cia debian package and
$ wget https://oss.sonatype.org/content/repositories/releases/com/hack23/cia/cia-dist-deb/2022.9.17/cia-dist-deb-2022.9.17.deb
8. Install debian package
$ sudo dpkg -i cia-dist-deb-2022.9.17.deb
9. Access the server at https://localhost:28443/cia/