Git Product home page Git Product logo

cia's Introduction

Citizen Intelligence Agency

Tracking politicians like bugs. Citizen Intelligence Agency is independent and non-partisan voluntary project.

Using Statistical Machine Intelligence and Learning Engine and Business Rules Management System to track politicians.

license FOSSA Status CLA assistant Maven Central Jenkins Jenkins tests Build Status Coverage Lines of Code Technical Debt CII Best Practices CodeFactor Maintainability BCH compliance codebeat badge Language grade: Java Black Duck Security Risk DepShield Badge Average time to resolve an issue Percentage of issues still open Quality Gate Quality gate SourceSpy Dashboard

Runtime

[JDK-11 or higher] [JDK-12] [JDK-13] [JDK-14] [JDK-15] [JDK-16] [JDK-17]

Goal

Visualize political activity in Sweden, present key performance indicators and metadata for the actors on national level.

Still prototype, live demo running at 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 2018.04, running Ubuntu 18.04, Postgresql 10.x, JDK10, Spring framework 5.x , Hibernate 6.x, Vaadin 8.x

#Resources

Project documentation http://hack23.github.io/cia/

Project Architecture http://hack23.github.io/cia/architecture.html

Project Architecture(old) https://structurizr.com/share/37264#Enterprise

3D project view https://www.hack23.com/sonar/project/extension/softvis3d/overview_page?id=com.hack23.cia:cia-all&qualifier=TRK&metricFootprint=complexity&metricHeight=ncloc&metricColor=coverage&layout=district&scale=logarithmic&cameraX=0&cameraY=1551&cameraZ=1570&colorTheme=default

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/

Reporting Security Issues

Follow instructions

Parlimentary informatics

https://en.wikipedia.org/wiki/Parliamentary_informatics list many good examples of other projects in the domain around the world.

USA https://www.govtrack.us/

Canada http://OpenParliament.ca

European Union http://www.votewatch.eu/

Sweden http://govdata.se/api

http://riksdagsskolket.se/

http://www.demokratikollen.se

Denmark http://www.hvemstemmerhvad.dk/

Finland http://kansanmuisti.fi/

Norway https://www.holderdeord.no/

UK https://www.theyworkforyou.com/ http://www.publicwhip.org.uk/

Germany http://offenesparlament.de

Italy http://parlamento17.openpolis.it/

France https://www.nosdeputes.fr/

Colombia http://www.congresovisible.org/

Jordanian http://www.jpm.jo/

South Korea http://pokr.kr/

Israel https://oknesset.org/

Running docker image

Docker repository : https://hub.docker.com/r/hack23/cia/

  1. docker run hack23/cia:2020.4.19 -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 14.04,16.04,16.10

  1. Installing database(postgres) and openjdk
$ sudo apt-get install openjdk-11-jdk postgresql-11 pgadmin3
  1. Installing Postgresql on Ubuntu
$ sudo apt-get install postgresql-11 postgresql-contrib postgresql-11-pgaudit
  1. 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;
  1. Modify postgres setting, enable prepared transactions and extensions used pg_stat_statements, pgaudit, pgcrypto

Edit file "/etc/postgresql/11/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
  1. Modify postgres setting Edit file "/etc/postgresql/11/main/pg_hba.conf" add line
host all all ::1/128 md5
  1. Restart postgres
$ service postgresql restart
  1. Get cia debian package and
$ wget https://oss.sonatype.org/content/repositories/releases/com/hack23/cia/cia-dist-deb/2020.4.19/cia-dist-deb-2020.4.19.deb
  1. Install debian package
$ sudo dpkg -i cia-dist-deb-2020.4.19.deb
  1. Access the server at https://localhost:28443/cia/ .

Application package diagram overview

Package overview diagram Api docs

Cloudformation template diagram

Cloudformation

FOSSA Status

Get more details at codescene.io.

cia's People

Contributors

pethers avatar renovate-bot avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar greenkeeper[bot] avatar snyk-bot avatar andreasrosdal avatar sj avatar imgbotapp avatar codacy-badger avatar fossabot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.