# core-reporting

## reporting service

## Purpose

The primary purposes of core-reporting service is provide a generic way
to generate reports

## Configuration

### Environment variables

- JSON_LOGS
- LOGLEVEL
- SENTRY_DSN
- CELERY_BROKER_URL
- CELERY_RESULT_BACKEND

## Development

Python package dependencies are specified using
[pipenv](https://github.com/pypa/pipenv). The expected version of
Python is also specified in pipenv’s Pipfile.

To develop core-reporting,
install pipenv, then `pipenv install --dev`.

Or use `web` service from the docker-compose config for your local
development needs.

## Code style
[Flake8](https://github.com/PyCQA/flake8) linter is being used to
keep the code style in a good and PEP8 compliant shape.

[Black](https://github.com/psf/black) is being used for code autoformatting.

Use `make docker/lint` to check code style

## Security check
[Safety](https://github.com/pyupio/safety) if being used for the
security check of the project dependencies.

[Bandit](https://github.com/PyCQA/bandit) is being used for the
security check of the project code.

Use `make docker/security` to run the security checks

## Code updates

Before you push code and create a PR, run the following command:

`make pre-commit`
