diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6df7ed09a088452955ac736d2f21729ad6810fb3..a42500e22adf3b21bb3a17d10a9a6a7c1edfb0e7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ test-centos7:
   script:
   - yum install -y epel-release
   - yum install install -y python34-pip python34-devel
+  - yum install -y gcc graphviz graphviz-devel
   - cd ippisite
   - pip3 install -r requirements.txt
   - python3 manage.py test
\ No newline at end of file
diff --git a/ippisite/ippisite/settings.py b/ippisite/ippisite/settings.py
index f49781a3d9bf6a9fdecdb631e7656dc4128cf087..9eeee7eba8d4d021db2c0d7ee9cc5f495c6d52b5 100644
--- a/ippisite/ippisite/settings.py
+++ b/ippisite/ippisite/settings.py
@@ -37,6 +37,7 @@ INSTALLED_APPS = [
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
+    'django_extensions',
     'bootstrap3',
     'ippidb'
 ]
@@ -120,3 +121,12 @@ USE_TZ = True
 # https://docs.djangoproject.com/en/1.10/howto/static-files/
 
 STATIC_URL = '/static/'
+
+# required to use django-extensions to draw database diagram
+# to do so type
+#$ ./manage.py graph_models -a > db.dot
+#$ dot db.dot -T png -odb.png
+GRAPH_MODELS = {
+  'all_applications': True,
+  'group_models': True,
+}
diff --git a/ippisite/requirements.txt b/ippisite/requirements.txt
index cd634ed6600b9499d62c890ffe7005b60be0c12b..111a8cdd3e9feeebb95af8e17a1387d492f8b004 100644
--- a/ippisite/requirements.txt
+++ b/ippisite/requirements.txt
@@ -1,3 +1,7 @@
 Django
 django-bootstrap3
-bioservices
\ No newline at end of file
+bioservices
+django-extensions
+pygraphviz
+pydot
+pyparsing