diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..887a82320f48e1c2de254b2f830722e7cfe163e4
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,17 @@
+
+default:
+  image: node:lts-alpine
+  tags:
+    - docker
+
+workflow:
+  rules:
+    - if: $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_REF_NAME != $CI_COMMIT_TAG
+
+stages:
+  - test
+
+webui:build-test:
+  stage: test
+  script:
+    - npm run build
diff --git a/next-env.d.ts b/next-env.d.ts
index c6643fda12ff6f86da14e44369faa91fd9877a29..4f11a03dc6cc37f2b5105c08f2e7b24c603ab2f4 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,3 +1,5 @@
 /// <reference types="next" />
-/// <reference types="next/types/global" />
 /// <reference types="next/image-types/global" />
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/package-lock.json b/package-lock.json
index 49efe310df4016111e4587e45aca4a82985a6903..e46bc7d74278e22e49acef31cf5b1dc780545b7b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,14 +14,14 @@
         "@mui/lab": "^5.0.0-alpha.85",
         "@mui/material": "^5.8.6",
         "@mui/x-data-grid": "^6.6.0",
-        "@refinedev/cli": "^2.16.21",
-        "@refinedev/core": "^4.46.1",
-        "@refinedev/devtools": "^1.1.29",
-        "@refinedev/inferencer": "^4.5.16",
-        "@refinedev/kbar": "^1.3.5",
-        "@refinedev/mui": "^5.14.1",
-        "@refinedev/nextjs-router": "^5.5.5",
-        "@refinedev/react-hook-form": "^4.8.13",
+        "@refinedev/cli": "^2.16.24",
+        "@refinedev/core": "^4.47.1",
+        "@refinedev/devtools": "^1.1.32",
+        "@refinedev/inferencer": "^4.5.20",
+        "@refinedev/kbar": "^1.3.6",
+        "@refinedev/mui": "^5.14.4",
+        "@refinedev/nextjs-router": "^5.5.7",
+        "@refinedev/react-hook-form": "^4.8.14",
         "@refinedev/simple-rest": "^5.0.1",
         "next": "^13.0.6",
         "next-auth": "^4.20.1",
@@ -1635,9 +1635,9 @@
       }
     },
     "node_modules/@ory/client": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/@ory/client/-/client-1.5.2.tgz",
-      "integrity": "sha512-GjCzukyyMPg1Pp3uyAIbIhI+OOO9ekR1Zonz4+X29nt6OtD3Efha8BCRKEooKeeoKLtI3HYUXXxD6zLuPns41Q==",
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/@ory/client/-/client-1.6.1.tgz",
+      "integrity": "sha512-CboARAoTtXOFx1fVVPN/IezU5S6uEOtSvI8Y6LkXD6NKiMzJdc9Ezt8m807toI6lCz1Gc+DCD1OX6gnHnMjb4g==",
       "dependencies": {
         "axios": "^1.6.1"
       }
@@ -1755,11 +1755,11 @@
       "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ=="
     },
     "node_modules/@refinedev/cli": {
-      "version": "2.16.23",
-      "resolved": "https://registry.npmjs.org/@refinedev/cli/-/cli-2.16.23.tgz",
-      "integrity": "sha512-Me7VOhC/gx5bZEakkaYb1kaOObWRPxNAYgW78Ji96wu25+7V7rURiLJfEF9FtIv3XxIChuybO8cbTzp27NDsKA==",
+      "version": "2.16.24",
+      "resolved": "https://registry.npmjs.org/@refinedev/cli/-/cli-2.16.24.tgz",
+      "integrity": "sha512-xN7xJMbA8tyHCIvTR6ZuvMNEbEDzjGH3XF4CKhRql7k5Q8TCpWhmUZ2cFHEIa5RpdYaboS7lFAdwwm2uW0rLVQ==",
       "dependencies": {
-        "@refinedev/devtools-server": "1.1.23",
+        "@refinedev/devtools-server": "1.1.24",
         "boxen": "^5.1.2",
         "cardinal": "^2.1.1",
         "center-align": "1.0.1",
@@ -1800,11 +1800,11 @@
       }
     },
     "node_modules/@refinedev/core": {
-      "version": "4.47.0",
-      "resolved": "https://registry.npmjs.org/@refinedev/core/-/core-4.47.0.tgz",
-      "integrity": "sha512-kCKw7zvm6kbdUmBcoDLEF3+lN6d+FZ2x++KEWfbiMDaU8RndMCgPwywz3Edi1ehbZ5e4PkitenwrsKVmrRBRCw==",
+      "version": "4.47.1",
+      "resolved": "https://registry.npmjs.org/@refinedev/core/-/core-4.47.1.tgz",
+      "integrity": "sha512-J2bsJTZ+pkqwXlkH84oauPkc0O9P6m+39FF7TgvvkKzu7XKIg/ifoeG1PDMy5Nxgdb9oiJLr0H4YQYKNi8JErA==",
       "dependencies": {
-        "@refinedev/devtools-internal": "1.1.4",
+        "@refinedev/devtools-internal": "1.1.5",
         "@tanstack/react-query": "^4.10.1",
         "lodash": "^4.17.21",
         "lodash-es": "^4.17.21",
@@ -1823,12 +1823,12 @@
       }
     },
     "node_modules/@refinedev/devtools": {
-      "version": "1.1.31",
-      "resolved": "https://registry.npmjs.org/@refinedev/devtools/-/devtools-1.1.31.tgz",
-      "integrity": "sha512-waCCUvE5qW8N2c8m3ub0wVPb88hPH0CAFfHpIzCinkccDZ8dLZpvEl3v89IxcsvrNAwFLW69zEx6n4j4TibKhA==",
+      "version": "1.1.32",
+      "resolved": "https://registry.npmjs.org/@refinedev/devtools/-/devtools-1.1.32.tgz",
+      "integrity": "sha512-xFtIiYUjbvqhz0iKFl/CZZOajIOuHWmprSwOt85qdTAF3VkUzwDiPdK/6QdgcBgCZ7aToWu1jFKyGs5h4uIiXA==",
       "dependencies": {
         "@aliemir/dom-to-fiber-utils": "^0.4.0",
-        "@refinedev/devtools-shared": "1.1.2",
+        "@refinedev/devtools-shared": "1.1.3",
         "error-stack-parser": "^2.1.4",
         "lodash": "^4.17.21",
         "lodash-es": "^4.17.21"
@@ -1837,9 +1837,9 @@
         "node": ">=10"
       },
       "peerDependencies": {
-        "@refinedev/cli": "2.16.23",
+        "@refinedev/cli": "2.16.24",
         "@refinedev/core": "^4.46.1",
-        "@refinedev/devtools-server": "1.1.23",
+        "@refinedev/devtools-server": "1.1.24",
         "@types/react": "^17.0.0 || ^18.0.0",
         "@types/react-dom": "^17.0.0 || ^18.0.0",
         "react": "^17.0.0 || ^18.0.0",
@@ -1847,11 +1847,11 @@
       }
     },
     "node_modules/@refinedev/devtools-internal": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/@refinedev/devtools-internal/-/devtools-internal-1.1.4.tgz",
-      "integrity": "sha512-AuXlKRdDZ8POC1B2DMa3AzSICN3LmKebmsMUry3+T9xc7TkL2lGy3anqJnBOQw8asWd5fr+vz1UYjdVcvqUqJA==",
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/@refinedev/devtools-internal/-/devtools-internal-1.1.5.tgz",
+      "integrity": "sha512-24yE9r6rnTcCAe35XqmeiL5oL9FlodAOAPo4joMxu2SDzBNndh1ZdEEuFxoLd9t9CYu46cjLKQhaWcWWC2Ii3A==",
       "dependencies": {
-        "@refinedev/devtools-shared": "1.1.2",
+        "@refinedev/devtools-shared": "1.1.3",
         "@tanstack/react-query": "^4.10.1",
         "error-stack-parser": "^2.1.4"
       },
@@ -1866,13 +1866,13 @@
       }
     },
     "node_modules/@refinedev/devtools-server": {
-      "version": "1.1.23",
-      "resolved": "https://registry.npmjs.org/@refinedev/devtools-server/-/devtools-server-1.1.23.tgz",
-      "integrity": "sha512-Bxi+tFv48WefmD8r7QE2ovPzg9pksgfP8YKIOcYu2aBCFJZ133F35fG5AOdiSHHAp7Y9gl2tDL2cR1PVH/7Pow==",
+      "version": "1.1.24",
+      "resolved": "https://registry.npmjs.org/@refinedev/devtools-server/-/devtools-server-1.1.24.tgz",
+      "integrity": "sha512-4nKBhOKBOSPdO6LGfZnk0XmJ74TSQ/MQ2h5204aQgM1znPhPNnLERsTzKL6b0vHoli/EKzm0nRFcTfFJ0WOEUg==",
       "dependencies": {
         "@ory/client": "^1.5.2",
-        "@refinedev/devtools-shared": "1.1.2",
-        "@refinedev/devtools-ui": "1.1.16",
+        "@refinedev/devtools-shared": "1.1.3",
+        "@refinedev/devtools-ui": "1.1.17",
         "body-parser": "^1.20.2",
         "boxen": "^5.1.2",
         "chalk": "^4.1.2",
@@ -1908,9 +1908,9 @@
       }
     },
     "node_modules/@refinedev/devtools-shared": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@refinedev/devtools-shared/-/devtools-shared-1.1.2.tgz",
-      "integrity": "sha512-ze+akDLtCblBBEZuFTYoiAu1CfEdzBRBdttVaLJEAgSNdMva9vpbV/7gG5yTQRIIi4kIdfghphwrGHBxOOKjXQ==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@refinedev/devtools-shared/-/devtools-shared-1.1.3.tgz",
+      "integrity": "sha512-3xtVUwMGWwwnufDL+QDEdMkoi+qLQllefil+y5UyNsDuEIeh9xcNn/Uxl/N27lObA+zakHX9QOR++lR8SQ+TnQ==",
       "dependencies": {
         "@tanstack/react-query": "^4.10.1",
         "error-stack-parser": "^2.1.4"
@@ -1926,14 +1926,14 @@
       }
     },
     "node_modules/@refinedev/devtools-ui": {
-      "version": "1.1.16",
-      "resolved": "https://registry.npmjs.org/@refinedev/devtools-ui/-/devtools-ui-1.1.16.tgz",
-      "integrity": "sha512-i7TJ7vj4kF16PK8t8bn1TDSOk/vgSihHwSGq/vCuDEw9D6C0+gxDBQGbb6iAXPthoT3TK3KnPbkPZOj8xRzycQ==",
+      "version": "1.1.17",
+      "resolved": "https://registry.npmjs.org/@refinedev/devtools-ui/-/devtools-ui-1.1.17.tgz",
+      "integrity": "sha512-bV9FjWBYIB73pwSS/2jBbmWznqxvBHSXXk9cNqY+FhqKHWBUznFs5c64YimCBRZajcdGeFZhiJ8FZhC8l5T8vw==",
       "dependencies": {
         "@fireworks-js/react": "^2.10.7",
         "@headlessui/react": "^1.7.17",
         "@ory/client": "^1.5.2",
-        "@refinedev/devtools-shared": "1.1.2",
+        "@refinedev/devtools-shared": "1.1.3",
         "@tanstack/react-table": "^8.2.6",
         "clsx": "^1.1.1",
         "dayjs": "^1.10.7",
@@ -1963,14 +1963,15 @@
       }
     },
     "node_modules/@refinedev/inferencer": {
-      "version": "4.5.18",
-      "resolved": "https://registry.npmjs.org/@refinedev/inferencer/-/inferencer-4.5.18.tgz",
-      "integrity": "sha512-zg3aZC9H108prwLtf120CNYyNsr+vuwa2XPXUnArbuy+LzIO6tCUFhZblsQUf+olR7Cf9rPUmEKOPe/Ne3clUA==",
+      "version": "4.5.20",
+      "resolved": "https://registry.npmjs.org/@refinedev/inferencer/-/inferencer-4.5.20.tgz",
+      "integrity": "sha512-3BlTrhmMijzhoWuVbnez2VbtINPp1YV+ZZFv7mg5eRYgV1pfjacz10EjIsmhihQ51W/1NhLG4kkp+SzYBWjTkA==",
       "dependencies": {
         "@aliemir/react-live": "^4.0.0",
-        "@refinedev/core": "^4.47.0",
+        "@refinedev/core": "^4.47.1",
         "@tabler/icons": "^1.119.0",
         "dayjs": "^1.10.7",
+        "graphql": "^15.6.1",
         "graphql-tag": "^2.12.6",
         "lodash": "^4.17.21",
         "lodash-es": "^4.17.21",
@@ -2077,9 +2078,9 @@
       }
     },
     "node_modules/@refinedev/kbar": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/@refinedev/kbar/-/kbar-1.3.5.tgz",
-      "integrity": "sha512-bb0SURbi1fubJx5RD6FPrlq9YbvFVdoLUIbf69hW1UslSTdC9bgXU6raWKCosKWrFyt7Au7CVVP8IqSXoIgb6w==",
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@refinedev/kbar/-/kbar-1.3.6.tgz",
+      "integrity": "sha512-5eDnrEeyY0INJWgbXPimmPMq1lrcRv80kQmU+PCuTZZwz6GwFXdpp4Oxyf/PQdxfea9yFyXpfkmLe0P7KSewXw==",
       "dependencies": {
         "kbar": "^0.1.0-beta.40"
       },
@@ -2093,9 +2094,9 @@
       }
     },
     "node_modules/@refinedev/mui": {
-      "version": "5.14.3",
-      "resolved": "https://registry.npmjs.org/@refinedev/mui/-/mui-5.14.3.tgz",
-      "integrity": "sha512-Db7xkPvI8TlKMmCT+lSXhofQ1s9wlE60pYNNByvcDeXuSAaK9mWU06bRStjE3chq+nzLNsKHUXdXxtq8Zg1Dwg==",
+      "version": "5.14.4",
+      "resolved": "https://registry.npmjs.org/@refinedev/mui/-/mui-5.14.4.tgz",
+      "integrity": "sha512-D3XI4KI0ttvBZTyaYDHvDH+wQqDOZUAPldAVft4SnjFPxjaf/piWaUj7WwJR+peXtE/+gLGydk4W3oGDUVQ/RA==",
       "dependencies": {
         "@emotion/react": "^11.8.2",
         "@emotion/styled": "^11.8.1",
@@ -2103,7 +2104,7 @@
         "@mui/lab": "^5.0.0-alpha.85",
         "@mui/material": "^5.14.2",
         "@mui/x-data-grid": "^6.6.0",
-        "@refinedev/react-hook-form": "^4.8.13",
+        "@refinedev/react-hook-form": "^4.8.14",
         "@refinedev/ui-types": "^1.22.4",
         "dayjs": "^1.10.7",
         "lodash": "^4.17.21",
@@ -2130,9 +2131,9 @@
       }
     },
     "node_modules/@refinedev/nextjs-router": {
-      "version": "5.5.6",
-      "resolved": "https://registry.npmjs.org/@refinedev/nextjs-router/-/nextjs-router-5.5.6.tgz",
-      "integrity": "sha512-K0VOSfe4CdcfkHkTJyiUbrRzwLhLfQG9DhcUi/qsVWcioqD2u7eSeLPolI5WsnzdhV7TdRsm1/2N3O8GDCyNxg==",
+      "version": "5.5.7",
+      "resolved": "https://registry.npmjs.org/@refinedev/nextjs-router/-/nextjs-router-5.5.7.tgz",
+      "integrity": "sha512-tmZuryorJtgWr2lvuUI8AjAVNyZpVJvGr/v+t+TJp5uiAY8RLuOlUxGBIiYvlFpA2Ach2kaaqx+yBa8rC2Gmsw==",
       "dependencies": {
         "qs": "^6.10.1",
         "warn-once": "^0.1.0"
@@ -2150,9 +2151,9 @@
       }
     },
     "node_modules/@refinedev/react-hook-form": {
-      "version": "4.8.13",
-      "resolved": "https://registry.npmjs.org/@refinedev/react-hook-form/-/react-hook-form-4.8.13.tgz",
-      "integrity": "sha512-IgW5REXgnXQ2jsu//4Lj51MmXjxi/GKIxJs6XXDnNQsdAstLVDW3vneDzokTyt1ywazAeyruSfOYViaDTsEBqg==",
+      "version": "4.8.14",
+      "resolved": "https://registry.npmjs.org/@refinedev/react-hook-form/-/react-hook-form-4.8.14.tgz",
+      "integrity": "sha512-buUTprTFIoc7bB3GWBSIkxmYf7aWKv5yBGbFF064TVXaJowrNHtedltoQ+NujMALglvyTKFXfw+D/PgTEJrPGA==",
       "dependencies": {
         "lodash": "^4.17.21",
         "lodash-es": "^4.17.21",
@@ -3770,9 +3771,9 @@
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.656",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz",
-      "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q=="
+      "version": "1.4.661",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz",
+      "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw=="
     },
     "node_modules/emoji-regex": {
       "version": "8.0.0",
@@ -3847,9 +3848,9 @@
       }
     },
     "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
       "engines": {
         "node": ">=6"
       }
@@ -4677,6 +4678,14 @@
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
       "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
     },
+    "node_modules/graphql": {
+      "version": "15.8.0",
+      "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz",
+      "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==",
+      "engines": {
+        "node": ">= 10.x"
+      }
+    },
     "node_modules/graphql-tag": {
       "version": "2.12.6",
       "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
@@ -7364,9 +7373,9 @@
       }
     },
     "node_modules/react-hook-form": {
-      "version": "7.50.0",
-      "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.0.tgz",
-      "integrity": "sha512-AOhuzM3RdP09ZCnq+Z0yvKGHK25yiOX5phwxjV9L7U6HMla10ezkBnvQ+Pk4GTuDfsC5P2zza3k8mawFwFLVuQ==",
+      "version": "7.50.1",
+      "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.1.tgz",
+      "integrity": "sha512-3PCY82oE0WgeOgUtIr3nYNNtNvqtJ7BZjsbxh6TnYNbXButaD5WpjOmTjdxZfheuHKR68qfeFnEDVYoSSFPMTQ==",
       "engines": {
         "node": ">=12.22.0"
       },
diff --git a/package.json b/package.json
index 09a94079bdd8c5a39eae74d7cc71acf0b83c8443..ccac9c610940ede2a23ab6ff4cc55ff55bda21d2 100644
--- a/package.json
+++ b/package.json
@@ -13,35 +13,35 @@
     "refine": "refine"
   },
   "dependencies": {
-    "@refinedev/cli": "^2.16.21",
-    "@refinedev/core": "^4.46.1",
-    "@refinedev/devtools": "^1.1.29",
-    "@refinedev/nextjs-router": "^5.5.5",
-    "@refinedev/inferencer": "^4.5.16",
-    "@refinedev/kbar": "^1.3.5",
-    "next": "^13.0.6",
-    "nookies": "^2.5.2",
-    "react": "^18.0.0",
-    "react-dom": "^18.0.0",
-    "@refinedev/simple-rest": "^5.0.1",
-    "@refinedev/mui": "^5.14.1",
-    "@refinedev/react-hook-form": "^4.8.13",
-    "@mui/icons-material": "^5.8.3",
     "@emotion/react": "^11.8.2",
     "@emotion/styled": "^11.8.1",
+    "@mui/icons-material": "^5.8.3",
     "@mui/lab": "^5.0.0-alpha.85",
     "@mui/material": "^5.8.6",
     "@mui/x-data-grid": "^6.6.0",
+    "@refinedev/cli": "^2.16.24",
+    "@refinedev/core": "^4.47.1",
+    "@refinedev/devtools": "^1.1.32",
+    "@refinedev/inferencer": "^4.5.20",
+    "@refinedev/kbar": "^1.3.6",
+    "@refinedev/mui": "^5.14.4",
+    "@refinedev/nextjs-router": "^5.5.7",
+    "@refinedev/react-hook-form": "^4.8.14",
+    "@refinedev/simple-rest": "^5.0.1",
+    "next": "^13.0.6",
     "next-auth": "^4.20.1",
-    "next-i18next": "^8.9.0"
+    "next-i18next": "^8.9.0",
+    "nookies": "^2.5.2",
+    "react": "^18.0.0",
+    "react-dom": "^18.0.0"
   },
   "devDependencies": {
+    "@types/node": "^18.0.0",
     "@types/react": "^18.0.0",
     "@types/react-dom": "^18.0.0",
-    "@types/node": "^18.0.0",
     "@typescript-eslint/parser": "5.48.0",
-    "typescript": "^4.7.4",
-    "cross-env": "^7.0.3"
+    "cross-env": "^7.0.3",
+    "typescript": "^4.7.4"
   },
   "refine": {
     "projectId": "sJp3Js-ginGsG-d3ioXd"
diff --git a/pages/_app.tsx b/pages/_app.tsx
index a207da8cedaddcea499300f0974dfffc7418cbe6..98d6bbf2620cb4760c5a82b8051e014055330066 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -1,8 +1,9 @@
-import { AuthBindings, GitHubBanner, Refine } from "@refinedev/core";
+import { AuthBindings, Refine } from "@refinedev/core";
 import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar";
 import {
   RefineSnackbarProvider,
   ThemedLayoutV2,
+  ThemedTitleV2,
   notificationProvider,
 } from "@refinedev/mui";
 import routerProvider, {
@@ -20,8 +21,9 @@ import CssBaseline from "@mui/material/CssBaseline";
 import GlobalStyles from "@mui/material/GlobalStyles";
 import dataProvider from "@refinedev/simple-rest";
 import { appWithTranslation, useTranslation } from "next-i18next";
+import logo from "../src/components/fdo_logo";
 
-const API_URL = "https://api.fake-rest.refine.dev";
+const API_URL = "http://localhost:8081";
 
 export type NextPageWithLayout<P = {}, IP = P> = NextPage<P, IP> & {
   noLayout?: boolean;
@@ -51,7 +53,7 @@ const App = (props: React.PropsWithChildren) => {
   const authProvider: AuthBindings = {
     login: async () => {
       signIn("keycloak", {
-        callbackUrl: to ? to.toString() : "/",
+        callbackUrl: to ? to.toString() : "/info",
         redirect: true,
       });
 
@@ -105,7 +107,6 @@ const App = (props: React.PropsWithChildren) => {
 
   return (
     <>
-      <GitHubBanner />
       <RefineKbarProvider>
         <ColorModeContextProvider>
           <CssBaseline />
@@ -118,10 +119,17 @@ const App = (props: React.PropsWithChildren) => {
               authProvider={authProvider}
               i18nProvider={i18nProvider}
               options={{
+                disableTelemetry: true,
                 syncWithLocation: true,
                 warnWhenUnsavedChanges: true,
                 useNewQueryKeys: true,
               }}
+              resources={[
+                {
+                  name: "info",
+                  list: "/info",
+                }
+              ]}
             >
               {props.children}
               <RefineKbar />
@@ -144,7 +152,16 @@ function MyApp({
     }
 
     return (
-      <ThemedLayoutV2 Header={() => <Header sticky />}>
+      <ThemedLayoutV2
+        Header={() => <Header sticky />}
+        Title={({ collapsed }) => (
+          <ThemedTitleV2
+            collapsed={collapsed}
+            text="FDO Manager"
+            icon={logo}
+          />
+        )}
+        >
         <Component {...pageProps} />
       </ThemedLayoutV2>
     );
diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts
index 6c57768e5c53abbc84d1a9de6975bb692f35abfc..9b30bf70c881a388ca5c24805be7b801dbb4a496 100644
--- a/pages/api/auth/[...nextauth].ts
+++ b/pages/api/auth/[...nextauth].ts
@@ -6,9 +6,9 @@ export const authOptions = {
   providers: [
     // !!! Should be stored in .env file.
     KeycloakProvider({
-      clientId: `refine-demo`,
-      clientSecret: `refine`,
-      issuer: `https://lemur-0.cloud-iam.com/auth/realms/refine`,
+      clientId: `fdo-manager-webui`,
+      clientSecret: `ay7l6jhECSohAZsEp6HYOaoXdARMQCei`,
+      issuer: `http://localhost:8080/realms/FDO%20Manager`,
       profile(profile) {
         return {
           id: profile.sub,
diff --git a/pages/info/index.jsx b/pages/info/index.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..bd71ad5c21d7cf26e592cf4566a58785dec2c547
--- /dev/null
+++ b/pages/info/index.jsx
@@ -0,0 +1,19 @@
+import React from "react";
+
+import { useGo, useList } from "@refinedev/core";
+
+const Info = () => {
+  const { data, isLoading } = useList({resource: "hello"});
+
+  const go = useGo();
+
+  if (isLoading) return <div>Loading...</div>;
+
+  return (
+    <div>
+      {data?.data?.message}
+    </div>
+  );
+};
+
+export default Info;
diff --git a/pages/login/index.tsx b/pages/login/index.tsx
index 4f2f6c2fc682c2fd3b8f55fe174b3ae9fc9b06db..9b4f0c92a7abebda57e88f61d1b1640d214c4cbb 100644
--- a/pages/login/index.tsx
+++ b/pages/login/index.tsx
@@ -11,6 +11,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations";
 
 import { getServerSession } from "next-auth";
 import { authOptions } from "../api/auth/[...nextauth]";
+import logo from "../../src/components/fdo_logo";
 
 export default function Login() {
   const { mutate: login } = useLogin();
@@ -33,6 +34,8 @@ export default function Login() {
         flexDirection="column"
       >
         <ThemedTitleV2
+          text="FDO Manager"
+          icon={logo}
           collapsed={false}
           wrapperStyles={{
             fontSize: "22px",
diff --git a/public/favicon.ico b/public/favicon.ico
index 2f05c5f484fbf720523541519ff0cad4df752a9f..55cb44f83d7a6d4ab566588859282d5a39871964 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/src/components/fdo_logo.jsx b/src/components/fdo_logo.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..82d8cbe13ecc0343914fccaddab13e0bd3bfc2e1
--- /dev/null
+++ b/src/components/fdo_logo.jsx
@@ -0,0 +1,15 @@
+import React from "react";
+
+const logo = <svg
+      width={24}
+      height={24}
+      viewBox="0 0 24 24"
+      fill="none"
+      xmlns="http://www.w3.org/2000/svg"
+      data-testid="fdo-manager-logo"
+    >
+      <path d="m12 2a10 10 0 0 0-10 10 10 10 0 0 0 10 10 10 10 0 0 0 10-10 10 10 0 0 0-10-10zm0 2a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm0 2a6 6 0 0 0-6 6 6 6 0 0 0 6 6 6 6 0 0 0 6-6 6 6 0 0 0-6-6zm0 2a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0-2-2z" fill="currentColor"/>
+
+    </svg>
+
+export default logo;
diff --git a/tsconfig.json b/tsconfig.json
index 67872729ec5d985454921f597c1cd4a6d51936b6..2e4a6289eb8ad74ff8f2cb6b751f61aa414f87d8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,11 @@
 {
   "compilerOptions": {
     "target": "es5",
-    "lib": ["dom", "dom.iterable", "esnext"],
+    "lib": [
+      "dom",
+      "dom.iterable",
+      "esnext"
+    ],
     "allowJs": true,
     "skipLibCheck": true,
     "strict": true,
@@ -15,16 +19,39 @@
     "jsx": "preserve",
     "baseUrl": ".",
     "paths": {
-      "@components/*": ["src/components/*"],
-      "@components": ["src/components"],
-      "@contexts/*": ["src/contexts/*"],
-      "@contexts": ["src/contexts"],
-      "@styles/*": ["src/styles/*"],
-      "@styles": ["src/styles"],
-      "@public/*": ["public/*"],
-      "@public": ["public"]
-    }
+      "@components/*": [
+        "src/components/*"
+      ],
+      "@components": [
+        "src/components"
+      ],
+      "@contexts/*": [
+        "src/contexts/*"
+      ],
+      "@contexts": [
+        "src/contexts"
+      ],
+      "@styles/*": [
+        "src/styles/*"
+      ],
+      "@styles": [
+        "src/styles"
+      ],
+      "@public/*": [
+        "public/*"
+      ],
+      "@public": [
+        "public"
+      ]
+    },
+    "incremental": true
   },
-  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
-  "exclude": ["node_modules"]
+  "include": [
+    "next-env.d.ts",
+    "**/*.ts",
+    "**/*.tsx"
+  ],
+  "exclude": [
+    "node_modules"
+  ]
 }