ICIJ / prophecies

An ICIJ app to conduct data validation and cleaning.

Home Page:https://icij.gitbook.io/prophecies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prophecies

An ICIJ app to conduct data validation and cleaning.

Status
CI checks
Docker Docker
Code Climate Maintainability
Documentation 📖 icij.gitbook.io/prophecies
API icij.github.io/prophecies/api.html

Installation

Required:

  • Python 3.10
  • Node 16.x
  • Poetry >= 1.2
  • Yarn 1.x

To setup a virtualenv with poetry and to install required packages:

make install

To setup the database:

make migrate

To create a superuser:

make createsuperuser

For more customization, this app utilizes 12factor inspired environment variables to configure your Django application. You can create .env file using the custom settings variables:

DEBUG=on
DATABASE_URL=
CACHE_URL=dummycache://
STATIC_URL=/static/
SOCIAL_AUTH_PROVIDER_KEY=
SOCIAL_AUTH_PROVIDER_SECRET=
SOCIAL_AUTH_PROVIDER_HOSTNAME=http://localhost:3001
SOCIAL_AUTH_PROVIDER_USERNAME_FIELD=uid
SOCIAL_AUTH_PROVIDER_GROUPS_FIELD=groups_by_applications.prophecies
SOCIAL_AUTH_PROVIDER_STAFF_GROUP=icijstaff

Run

To run app inside its virtualenv, use the following command:

make webpack-build
make run

Then in a separated terminal, build and serve assets with Webpack:

make webpack-serve

Then visit http://0.0.0.0:9009

Run tests

To run the back end tests

make test-back

To run the front end tests

make test-front

To run all tests

make test

Publishing a new Docker image manually

Run one of these commands depending on the kind of version you need to publish:

make build # will build the pip deliverables (.egg, .tgz)
make patch # will increment to the next release part (alpha →  beta →  rc)
make minor
make major
make publish # will publish on pypi

Then the new tag on Github. The CI will take care of shipping the new version on Docker Hub:

git push origin main --tags
git push origin main

About

An ICIJ app to conduct data validation and cleaning.

https://icij.gitbook.io/prophecies

License:GNU Affero General Public License v3.0


Languages

Language:Python 36.7%Language:JavaScript 32.8%Language:Vue 26.8%Language:HTML 1.3%Language:CSS 1.3%Language:SCSS 0.9%Language:Makefile 0.1%Language:Dockerfile 0.1%