ICIJ / prophecies

An ICIJ app to conduct data validation and cleaning.
https://icij.gitbook.io/prophecies
GNU Affero General Public License v3.0
19 stars 4 forks source link
django factchecking journalism platform python

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:

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