diff --git a/requirements/build.in b/requirements/build.in
index 85fa4c28088678c3469d6583bb8176fa850eb8d1..ebdd39d5a12cc8771406c66351090f3236c53c67 100644
--- a/requirements/build.in
+++ b/requirements/build.in
@@ -18,3 +18,9 @@ build>=0.3.1.post1
 twine>=3.4.1
 urllib3>=1.26.4
 pep517==0.10.0
+docutils=0.17
+identify=1.5.14
+pygments==2.8.1
+pytz==2021.1
+alembic==1.5.5
+attrs==20.3.0
diff --git a/requirements/build.txt b/requirements/build.txt
index 5f76c1522639e0f4b21863636d3baad2b35e310c..79d6635d81bf65f0bac0d3c045185fcec1dc500c 100644
--- a/requirements/build.txt
+++ b/requirements/build.txt
@@ -59,8 +59,10 @@ packaging==20.9
     #   build
 pbr==3.1.1
     # via -r requirements/build.in
-pep517==0.9.1
-    # via build
+pep517==0.10.0
+    # via
+    #   -r requirements/build.in
+    #   build
 pip-licenses==3.3.0
     # via -r requirements/build.in
 pip-tools==5.5.0
diff --git a/requirements/dev.in b/requirements/dev.in
index 72a74727d68bf30bac74178e119e2a5b6652eeda..7cf2246f45af4263eced0c12cb5cae320f24ca83 100644
--- a/requirements/dev.in
+++ b/requirements/dev.in
@@ -4,11 +4,7 @@ Flask>=1.1.2
 Flask-SQLAlchemy>=2.5.1
 Flask-Cors>=3.0.10
 Flask-BS4>=5.0.0.1
-Flask-Babel>=2.0.0
 Flask-Admin>=1.5.7
-Flask-Redisboard>=0.2.0
-flask-whooshalchemy3>=0.2.0
-Flask-PluginKit>=3.6.0
 SQLAlchemy>=1.4.5
 celery[redis]>=5.0.5
 psycopg2-binary>=2.8.6
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 3be83e63339fda72194a48bb41ec9829c89bac7e..43751babd2462ff34d401d42b2392580c021d215 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -219,8 +219,10 @@ pbr==3.1.1
     #   -r requirements/build.in
     #   flask-whooshalchemy3
     #   sphinxcontrib-gravizo
-pep517==0.9.1
-    # via build
+pep517==0.10.0
+    # via
+    #   -r requirements/build.in
+    #   build
 pillow==8.2.0
     # via
     #   -r requirements/dev.in
@@ -454,8 +456,6 @@ uritemplate==3.0.1
 urllib3==1.26.4
     # via
     #   -r requirements/build.in
-    #   -r requirements/docs.in
-    #   -r requirements/tests.in
     #   requests
 venv-run==0.1.0
     # via -r requirements/build.in
diff --git a/requirements/docs.txt b/requirements/docs.txt
index 0ebdcd8347a889da214d885343549ec0d655fdb6..7f153a0525ce9d7291dd32757045c2fc12db4d42 100644
--- a/requirements/docs.txt
+++ b/requirements/docs.txt
@@ -6,38 +6,96 @@
 #
 alabaster==0.7.12
     # via sphinx
+appdirs==1.4.4
+    # via virtualenv
+argparse==1.4.0
+    # via pytoolbox
 babel==2.9.0
     # via sphinx
+bleach==3.3.0
+    # via readme-renderer
+build==0.3.1.post1
+    # via -r requirements/build.in
 certifi==2020.12.5
-    # via requests
+    # via
+    #   pipenv
+    #   requests
 cffi==1.14.5
     # via cryptography
+cfgv==3.2.0
+    # via pre-commit
 chardet==3.0.4
-    # via requests
+    # via
+    #   -r requirements/build.in
+    #   requests
+click==7.1.2
+    # via pip-tools
+colorama==0.4.4
+    # via twine
 cryptography==3.4.7
-    # via jwcrypto
+    # via
+    #   jwcrypto
+    #   secretstorage
+distlib==0.3.1
+    # via virtualenv
 docutils==0.16
-    # via sphinx
+    # via
+    #   readme-renderer
+    #   sphinx
+filelock==3.0.12
+    # via virtualenv
 github3.py==2.0.0
     # via sphinxcontrib-github
 httplib2==0.19.0
     # via plantuml
+identify==2.2.2
+    # via pre-commit
 idna==2.10
     # via requests
 imagesize==1.2.0
     # via sphinx
+importlib-metadata==3.10.0
+    # via
+    #   keyring
+    #   twine
+jeepney==0.6.0
+    # via
+    #   keyring
+    #   secretstorage
 jinja2==2.11.3
     # via sphinx
 jwcrypto==0.8
     # via github3.py
+keyring==23.0.1
+    # via twine
 markdown==3.3.3
     # via plantuml-markdown
 markupsafe==1.1.1
     # via jinja2
-packaging==20.0
-    # via sphinx
-pbr==5.5.1
-    # via sphinxcontrib-gravizo
+nodeenv==1.5.0
+    # via pre-commit
+packaging==20.9
+    # via
+    #   -r requirements/build.in
+    #   bleach
+    #   build
+    #   sphinx
+pbr==3.1.1
+    # via
+    #   -r requirements/build.in
+    #   sphinxcontrib-gravizo
+pep517==0.10.0
+    # via
+    #   -r requirements/build.in
+    #   build
+pip-licenses==3.3.0
+    # via -r requirements/build.in
+pip-tools==5.5.0
+    # via -r requirements/build.in
+pipenv==2020.11.15
+    # via -r requirements/build.in
+pkginfo==1.7.0
+    # via twine
 plantuml-gentools==0.1.2
     # via -r requirements/docs.in
 plantuml-markdown==3.4.2
@@ -46,28 +104,65 @@ plantuml-wrapper==0.1.0
     # via -r requirements/docs.in
 plantuml==0.3.0
     # via plantuml-markdown
+pre-commit==2.10.1
+    # via -r requirements/build.in
+ptable==0.9.2
+    # via pip-licenses
 py2puml==0.4.0
     # via -r requirements/docs.in
+py==1.10.0
+    # via -r requirements/build.in
+pyaml==20.4.0
+    # via pytoolbox
 pycparser==2.20
     # via cffi
 pygments==2.8.0
-    # via sphinx
-pyparsing==2.4.6
     # via
+    #   readme-renderer
+    #   sphinx
+pyparsing==2.4.7
+    # via
+    #   -r requirements/build.in
     #   httplib2
     #   packaging
 python-dateutil==2.8.1
     # via github3.py
+python-dotenv==0.17.0
+    # via -r requirements/build.in
+python-magic==0.4.22
+    # via pytoolbox
+pytoolbox==14.0.0
+    # via -r requirements/build.in
 pytz==2021.1
-    # via babel
+    # via
+    #   babel
+    #   pytoolbox
+pyyaml==5.4.1
+    # via
+    #   pre-commit
+    #   pyaml
+readme-renderer==29.0
+    # via twine
+requests-toolbelt==0.9.1
+    # via twine
 requests==2.25.1
     # via
     #   github3.py
+    #   pytoolbox
+    #   requests-toolbelt
     #   sphinx
-six==1.13.0
+    #   twine
+rfc3986==1.4.0
+    # via twine
+secretstorage==3.3.1
+    # via keyring
+six==1.15.0
     # via
-    #   packaging
+    #   -r requirements/build.in
+    #   bleach
     #   python-dateutil
+    #   readme-renderer
+    #   virtualenv
 snowballstemmer==2.1.0
     # via sphinx
 speaklater==1.3
@@ -100,12 +195,38 @@ sphinxcontrib-serializinghtml==1.1.4
     # via sphinx
 tokenize-rt==4.1.0
     # via -r requirements/docs.in
+toml==0.10.2
+    # via
+    #   -r requirements/build.in
+    #   build
+    #   pep517
+    #   pre-commit
+tqdm==4.60.0
+    # via twine
+twine==3.4.1
+    # via -r requirements/build.in
 uritemplate==3.0.1
     # via github3.py
 urllib3==1.26.4
     # via
-    #   -r requirements/docs.in
+    #   -r requirements/build.in
     #   requests
+venv-run==0.1.0
+    # via -r requirements/build.in
+virtualenv-clone==0.5.4
+    # via pipenv
+virtualenv==20.4.3
+    # via
+    #   -r requirements/build.in
+    #   pipenv
+    #   pre-commit
+webencodings==0.5.1
+    # via bleach
+wheel==0.36.2
+    # via -r requirements/build.in
+zipp==3.4.1
+    # via importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
+# pip
 # setuptools
diff --git a/requirements/tests.txt b/requirements/tests.txt
index 6e4458be335b63cc6b09cd9404343d942c497b28..6bf545b681fe696090b06f7160582bf8e7c6b14d 100644
--- a/requirements/tests.txt
+++ b/requirements/tests.txt
@@ -8,12 +8,38 @@ alembic==1.5.5
     # via flask-db
 appdirs==1.4.4
     # via virtualenv
+argparse==1.4.0
+    # via pytoolbox
 attrs==20.3.0
     # via pytest
+bleach==3.3.0
+    # via readme-renderer
+build==0.3.1.post1
+    # via -r requirements/build.in
+certifi==2020.12.5
+    # via
+    #   pipenv
+    #   requests
+cffi==1.14.5
+    # via cryptography
+cfgv==3.2.0
+    # via pre-commit
+chardet==3.0.4
+    # via
+    #   -r requirements/build.in
+    #   requests
 click==7.1.2
-    # via flask
+    # via
+    #   flask
+    #   pip-tools
+colorama==0.4.4
+    # via twine
+cryptography==3.4.7
+    # via secretstorage
 distlib==0.3.1
     # via virtualenv
+docutils==0.17
+    # via readme-renderer
 filelock==3.0.12
     # via virtualenv
 flask-db==0.3.1
@@ -31,6 +57,14 @@ flask==1.1.2
     #   flask-fixtures
     #   flask-sqlalchemy
     #   pytest-flask
+identify==2.2.2
+    # via pre-commit
+idna==2.10
+    # via requests
+importlib-metadata==3.10.0
+    # via
+    #   keyring
+    #   twine
 iniconfig==1.1.1
     # via pytest
 itsdangerous==1.1.0
@@ -39,8 +73,14 @@ jaraco.context==4.0.0
     # via pytest-enabler
 jaraco.functools==3.2.1
     # via pytest-enabler
+jeepney==0.6.0
+    # via
+    #   keyring
+    #   secretstorage
 jinja2==2.11.3
     # via flask
+keyring==23.0.1
+    # via twine
 mako==1.1.4
     # via alembic
 markupsafe==1.1.1
@@ -53,20 +93,53 @@ more-itertools==8.7.0
     # via
     #   jaraco.functools
     #   pytest-enabler
+nodeenv==1.5.0
+    # via pre-commit
 packaging==20.9
     # via
+    #   -r requirements/build.in
+    #   bleach
+    #   build
     #   pytest
     #   pytest-flask-sqlalchemy
+pbr==3.1.1
+    # via -r requirements/build.in
+pep517==0.10.0
+    # via
+    #   -r requirements/build.in
+    #   build
+pip-licenses==3.3.0
+    # via -r requirements/build.in
+pip-tools==5.5.0
+    # via -r requirements/build.in
+pipenv==2020.11.15
+    # via -r requirements/build.in
+pkginfo==1.7.0
+    # via twine
 pluggy==0.13.1
     # via pytest
 port-for==0.4
     # via pytest-postgresql
+pre-commit==2.10.1
+    # via -r requirements/build.in
 psutil==5.8.0
     # via mirakuru
+ptable==0.9.2
+    # via pip-licenses
 py==1.10.0
-    # via pytest
+    # via
+    #   -r requirements/build.in
+    #   pytest
+pyaml==20.4.0
+    # via pytoolbox
+pycparser==2.20
+    # via cffi
+pygments==2.8.1
+    # via readme-renderer
 pyparsing==2.4.7
-    # via packaging
+    # via
+    #   -r requirements/build.in
+    #   packaging
 pytest-enabler==1.2.0
     # via -r requirements/tests.in
 pytest-flask-sqlalchemy==1.0.2
@@ -91,12 +164,40 @@ pytest==6.2.3
     #   pytest-venv
 python-dateutil==2.8.1
     # via alembic
+python-dotenv==0.17.0
+    # via -r requirements/build.in
 python-editor==1.0.4
     # via alembic
+python-magic==0.4.22
+    # via pytoolbox
+pytoolbox==14.0.0
+    # via -r requirements/build.in
+pytz==2021.1
+    # via pytoolbox
+pyyaml==5.4.1
+    # via
+    #   pre-commit
+    #   pyaml
+readme-renderer==29.0
+    # via twine
+requests-toolbelt==0.9.1
+    # via twine
+requests==2.25.1
+    # via
+    #   pytoolbox
+    #   requests-toolbelt
+    #   twine
+rfc3986==1.4.0
+    # via twine
+secretstorage==3.3.1
+    # via keyring
 six==1.15.0
     # via
+    #   -r requirements/build.in
+    #   bleach
     #   flask-fixtures
     #   python-dateutil
+    #   readme-renderer
     #   sqlalchemy-utils
     #   virtualenv
 sqlalchemy-utils==0.36.8
@@ -110,16 +211,41 @@ sqlalchemy==1.3.23
     #   sqlalchemy-utils
 toml==0.10.2
     # via
+    #   -r requirements/build.in
+    #   build
+    #   pep517
+    #   pre-commit
     #   pytest
     #   pytest-enabler
+tqdm==4.60.0
+    # via twine
+twine==3.4.1
+    # via -r requirements/build.in
 urllib3==1.26.4
-    # via -r requirements/tests.in
-virtualenv==20.4.2
-    # via pytest-venv
+    # via
+    #   -r requirements/build.in
+    #   requests
+venv-run==0.1.0
+    # via -r requirements/build.in
+virtualenv-clone==0.5.4
+    # via pipenv
+virtualenv==20.4.3
+    # via
+    #   -r requirements/build.in
+    #   pipenv
+    #   pre-commit
+    #   pytest-venv
+webencodings==0.5.1
+    # via bleach
 werkzeug==1.0.1
     # via
     #   flask
     #   pytest-flask
+wheel==0.36.2
+    # via -r requirements/build.in
+zipp==3.4.1
+    # via importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
+# pip
 # setuptools
diff --git a/setup.py b/setup.py
index ef88815644839d3e4ee8bf65ca5a13bb84518d26..72be2276d72adf1c819e33e7d86037dc25e3e0b7 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,7 @@
 import os
 import sys
+import logging
+import subprocess
 
 from setuptools import find_packages, setup
 
@@ -374,6 +376,47 @@ for kw in keywords_list:
 
 packages = find_packages()
 
+
+def run_compile_requirements():
+    my_cmd_list = [
+        ['pip-compile', '-r', 'requirements' + os.sep + 'build.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'docs.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'tests.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'dev.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'build.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'docs.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'tests.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'dev.in'],
+    ]
+    for my_cmd in my_cmd_list:
+        returncode = subprocess.call(my_cmd, shell=True)
+        if returncode == 0:
+            logging.info("retcode: "+str(returncode))
+        else:
+            logging.error("retcode: " + str(returncode))
+    return None
+
+
+def run_npm_install():
+    my_cmd = ['npm', 'install']
+    returncode = subprocess.call(my_cmd, shell=True)
+    if returncode == 0:
+        logging.info("retcode: "+str(returncode))
+    else:
+        logging.error("retcode: " + str(returncode))
+    return None
+
+
+def get_python_requirements_from_txt():
+    my_cmd = ['bash', 'scripts'+os.sep+'script_get_python_requirements_from_txt.sh']
+    returncode = subprocess.call(my_cmd, shell=True)
+    if returncode == 0:
+        logging.info("retcode: "+str(returncode))
+    else:
+        logging.error("retcode: " + str(returncode))
+    return None
+
+
 setup(
     name='flask-covid19',
     version=version,
diff --git a/src/database.py b/src/database.py
index f7a87911c2c4406f4f2cc0748d2323c4c8e02163..a9f280f811828849f288eb7aaa42805a6c54e942 100644
--- a/src/database.py
+++ b/src/database.py
@@ -1,9 +1,5 @@
-import logging
 from flask import Flask, logging
-# import flask_monitoringdashboard as dashboard
 # from flask_caching import Cache
-# from flask_pluginkit import PluginManager
-# from flask_redisboard import RedisBoardExtension
 from flask_cors import CORS
 from flask_bs4 import Bootstrap
 from flask_sqlalchemy import SQLAlchemy
@@ -12,8 +8,6 @@ from flask_admin import Admin
 from celery import Celery
 from celery.utils.log import LoggingProxy
 
-# board = RedisBoardExtension()
-# pm = PluginManager()
 # cache = Cache(config={"CACHE_TYPE": "simple"})
 app_cors = CORS()
 app_bootstrap = Bootstrap()
@@ -32,10 +26,7 @@ def create_app():
     my_app.config['SQLALCHEMY_DATABASE_URI'] = my_db_url
     my_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # silence the deprecation warning
     my_app.config['FLASK_ADMIN_SWATCH'] = 'superhero'
-    # pm.init_app(app)
-    # board.init_app(my_app)
     # cache.init_app(app)
-    # dashboard.bind(my_app)
     return my_app