diff --git a/app/config.py b/app/config.py
new file mode 100644
index 0000000..ae123c2
--- /dev/null
+++ b/app/config.py
@@ -0,0 +1,48 @@
+__author__ = 'hanl'
+
+DEBUG = True
+
+QUERY_LANGUAGES = {"poliqarp": "Poliqarp", "cosmas2": "Cosmas 2", "annis": "ANNIS",
+                   "cql": "CQL"}
+
+WTF_CSRF_ENABLED = True
+SECRET_KEY = "nHim5JB-YqkX7sS55jayGBnga8WmqgpkzieGe8UhojE"
+REMEMBER_COOKIE_NAME = "rememberMe"
+
+# RECAPTCHA_PUBLIC_KEY = "YOUR PUBLIC KEY"  # https://www.google.com/recaptcha
+# RECAPTCHA_PRIVATE_KEY = "YOUR PRIVATE KEY"  # https://www.google.com/recaptcha
+
+# Oauth client data
+OAUTH2_CLIENT_ID = "fCBbQkA3ZDBhMzc2Nw=="
+OAUTH2_CLIENT_SECRET = "f58c361f7e8e07a05133322f6af6727440edcab7dbc02a49508c0168bd18c7ed"
+OPENID_CONNECT_SCOPES = "openid profile"
+API_SERVER = "http://10.0.10.13:7070/api/v0.1"
+
+# suggest authentication based on the available schema
+AUTH_PROVIDER = "providers.CustomProvider"
+BABEL_DEFAULT_LOCALE = 'de'
+
+LANGUAGES = {
+    'en': 'English',
+    'de': 'Deutsch'
+}
+
+
+class URIBuilder(object):
+    def __init__(self, url=API_SERVER):
+        self.base = url
+        self.path = []
+
+    def addPath(self, path=None):
+        if path:
+            self.path.append(path)
+        return self
+
+    def build(self):
+        end = self.base
+        for p in self.path:
+            if end.endswith("/"):
+                end += p
+            else:
+                end += "/" + p
+        return end
\ No newline at end of file
