An ICIJ app to conduct data validation and cleaning.
Status | |
---|---|
CI checks | |
Docker | |
Code Climate | |
Documentation | 📖 icij.gitbook.io/prophecies |
API | ⚡ icij.github.io/prophecies/api.html |
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
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
To run the back end tests
make test-back
To run the front end tests
make test-front
To run all tests
make test
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