/fit4privacy

Fit4Privacy is a self-assessment tool by @CASES-LU to help business owners implement a better cybersecurity strategy.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Fit4Privacy

Fit4Privacy is a self-assessment tool by CASES to help business owners implement a better data protection and privacy approach.

Deployment

Requirements

$ sudo apt install gettext postgresql

Set up your Python environment

$ pyenv install 3.9.2 # install Python
$ pyenv global 3.9.2 # make this version default for the whole system
$ pyenv versions # check

Install the application

$ git clone https://github.com/CASES-LU/fit4privacy.git
$ cd fit4privacy/
$ npm install
$ poetry install

Configure and run the application

$ cp csskp/config_dev.py csskp/config_prod.py # configure production settings
$ poetry shell
$ python manage.py collectstatic # copy static files required by Django Admin
$ python manage.py compilemessages # compile the translations
$ python manage.py migrate # need to initialize before create the first user
$ python manage.py createsuperuser --username <username>

Run the application:

$ python manage.py runserver # not for production

For production you can use Gunicorn or mod_wsgi.

Deploy with a Dockerized environment (for development purposes)

$ docker-compose up -d

The server will be listening at http://127.0.0.1:8000.

The login for the Django Admin interface will be admin and the password will be password.

Upgrading the application

$ cd fit4privacy/
$ git pull origin master
$ poetry run python manage.py migrate
$ poetry run python manage.py compilemessages

If you want to update the translations, you must first run:

$ python manage.py makemessages -a --keep-pot # extract the translations

Then you can use a tool like poedit to translate the strings and you can compile with the previously mentioned command.

License

This software is licensed under GNU Affero General Public License version 3

Copyright (C) 2019-2021 SECURITYMADEIN.LU