From ff8f3a2a756bf1ed32f0bbd1bae30cf53f096e68 Mon Sep 17 00:00:00 2001
From: Arie Peterson <arie@greenhost.nl>
Date: Fri, 21 Oct 2022 13:00:58 +0200
Subject: [PATCH] Dockerize local frontend

---
 .../docker-compose.yml => docker-compose.yml  |  29 ++++++++++++------
 frontend/Dockerfile                           |   8 +++++
 craco.config.js => frontend/craco.config.js   |   0
 package.json => frontend/package.json         |   0
 .../public}/android-chrome-192x192.png        | Bin
 .../public}/android-chrome-256x256.png        | Bin
 .../public}/apple-touch-icon.png              | Bin
 .../public}/assets/logo-small.svg             |   0
 {public => frontend/public}/assets/logo.svg   |   0
 .../public}/assets/monitoring.svg             |   0
 .../public}/assets/nextcloud.svg              |   0
 {public => frontend/public}/assets/velero.svg |   0
 {public => frontend/public}/assets/wekan.svg  |   0
 .../public}/assets/wordpress.svg              |   0
 {public => frontend/public}/assets/zulip.svg  |   0
 {public => frontend/public}/favicon-16x16.png | Bin
 {public => frontend/public}/favicon-32x32.png | Bin
 {public => frontend/public}/favicon.ico       | Bin
 {public => frontend/public}/index.html        |   0
 {public => frontend/public}/logo192.png       | Bin
 {public => frontend/public}/logo512.png       | Bin
 {public => frontend/public}/manifest.json     |   0
 .../public}/markdown/monitoring.md            |   0
 .../public}/markdown/nextcloud.md             |   0
 .../public}/markdown/support.md               |   0
 {public => frontend/public}/markdown/wekan.md |   0
 .../public}/markdown/wordpress.md             |   0
 {public => frontend/public}/markdown/zulip.md |   0
 .../public}/mstile-150x150.png                | Bin
 {public => frontend/public}/robots.txt        |   0
 .../react-table-config.d.ts                   |   0
 {src => frontend/src}/App.tsx                 |   0
 {src => frontend/src}/common/const.ts         |   0
 {src => frontend/src}/common/index.ts         |   0
 {src => frontend/src}/common/types.ts         |   0
 .../src}/common/util/add-params-to-link.ts    |   0
 {src => frontend/src}/common/util/index.ts    |   0
 .../src}/common/util/is-touched.ts            |   0
 .../src}/common/util/show-toast.tsx           |   0
 .../src}/components/Banner/Banner.tsx         |   0
 .../src}/components/Banner/index.ts           |   0
 .../components/Form/Checkbox/Checkbox.tsx     |   0
 .../src}/components/Form/Checkbox/index.ts    |   0
 .../components/Form/CodeEditor/CodeEditor.tsx |   0
 .../src}/components/Form/CodeEditor/index.ts  |   0
 .../src}/components/Form/Input/Input.tsx      |   0
 .../src}/components/Form/Input/index.ts       |   0
 .../src}/components/Form/Select/Select.tsx    |   0
 .../src}/components/Form/Select/index.ts      |   0
 .../src}/components/Form/Switch/Switch.tsx    |   0
 .../src}/components/Form/Switch/index.ts      |   0
 .../src}/components/Form/TextArea/index.ts    |   0
 .../components/Form/TextArea/textarea.tsx     |   0
 .../src}/components/Form/index.ts             |   0
 .../src}/components/Header/Header.tsx         |   0
 .../src}/components/Header/index.ts           |   0
 .../src}/components/Layout/Layout.tsx         |   0
 .../src}/components/Layout/index.ts           |   0
 .../ConfirmationModal/ConfirmationModal.tsx   |   0
 .../Modal/ConfirmationModal/index.ts          |   0
 .../src}/components/Modal/Modal/Modal.tsx     |   0
 .../src}/components/Modal/Modal/index.ts      |   0
 .../src}/components/Modal/Modal/types.ts      |   0
 .../Modal/StepsModal/StepsModal.tsx           |   0
 .../src}/components/Modal/StepsModal/index.ts |   0
 .../src}/components/Modal/StepsModal/types.ts |   0
 .../src}/components/Modal/index.ts            |   0
 .../ProgressSteps/ProgressSteps.tsx           |   0
 .../src}/components/ProgressSteps/index.ts    |   0
 .../src}/components/ProgressSteps/types.ts    |   0
 .../src}/components/Table/Table.tsx           |   0
 .../src}/components/Table/index.ts            |   0
 .../src}/components/Tabs/TabPanel.tsx         |   0
 .../src}/components/Tabs/Tabs.tsx             |   0
 .../src}/components/Tabs/index.ts             |   0
 .../src}/components/Tabs/types.ts             |   0
 .../src}/components/UserModal/UserModal.tsx   |   0
 .../src}/components/UserModal/consts.ts       |   0
 .../src}/components/UserModal/index.ts        |   0
 .../src}/components/UserModal/types.ts        |   0
 {src => frontend/src}/components/index.ts     |   0
 {src => frontend/src}/index.css               |   0
 {src => frontend/src}/index.tsx               |   0
 .../src}/modules/apps/AppSingle.tsx           |   0
 {src => frontend/src}/modules/apps/Apps.tsx   |   0
 .../components/AdvancedTab/AdvancedTab.tsx    |   0
 .../components/ChangeSecretModal.tsx          |   0
 .../AdvancedTab/components/Secrets.tsx        |   0
 .../AdvancedTab/components/index.ts           |   0
 .../apps/components/AdvancedTab/index.ts      |   0
 .../AppInstallModal/AppInstallModal.tsx       |   0
 .../apps/components/AppInstallModal/consts.ts |   0
 .../apps/components/AppInstallModal/index.ts  |   0
 .../apps/components/AppInstallModal/types.ts  |   0
 .../apps/components/GeneralTab/GeneralTab.tsx |   0
 .../apps/components/GeneralTab/index.ts       |   0
 .../src}/modules/apps/components/index.ts     |   0
 {src => frontend/src}/modules/apps/consts.tsx |   0
 {src => frontend/src}/modules/apps/index.ts   |   0
 .../src}/modules/dashboard/Dashboard.tsx      |   0
 .../DashboardCard/DashboardCard.tsx           |   0
 .../components/DashboardCard/index.ts         |   0
 .../DashboardUtility/DashboardUtility.tsx     |   0
 .../components/DashboardUtility/index.ts      |   0
 .../modules/dashboard/components/index.ts     |   0
 .../src}/modules/dashboard/consts.ts          |   0
 .../src}/modules/dashboard/index.ts           |   0
 {src => frontend/src}/modules/index.ts        |   0
 {src => frontend/src}/modules/login/Login.tsx |   0
 .../src}/modules/login/LoginCallback.tsx      |   0
 {src => frontend/src}/modules/login/index.ts  |   0
 {src => frontend/src}/modules/users/Users.tsx |   0
 .../MultipleUsersModal/MultipleUsersModal.tsx |   0
 .../components/MultipleUsersModal/index.ts    |   0
 .../components/MultipleUsersModal/types.ts    |   0
 .../src}/modules/users/components/index.ts    |   0
 {src => frontend/src}/modules/users/index.ts  |   0
 {src => frontend/src}/react-app-env.d.ts      |   0
 {src => frontend/src}/redux/index.ts          |   0
 {src => frontend/src}/redux/store.ts          |   0
 {src => frontend/src}/redux/types.ts          |   0
 {src => frontend/src}/services/api/apiCall.ts |   0
 {src => frontend/src}/services/api/config.ts  |   0
 {src => frontend/src}/services/api/index.ts   |   0
 .../src}/services/api/redux/actions.ts        |   0
 .../src}/services/api/redux/index.ts          |   0
 .../src}/services/api/redux/reducers.ts       |   0
 .../src}/services/api/redux/traits.ts         |   0
 .../src}/services/api/redux/types.ts          |   0
 {src => frontend/src}/services/api/types.ts   |   0
 .../src}/services/apps/hooks/index.ts         |   0
 .../src}/services/apps/hooks/use-apps.ts      |   0
 {src => frontend/src}/services/apps/index.ts  |   0
 .../src}/services/apps/redux/actions.ts       |   0
 .../src}/services/apps/redux/index.ts         |   0
 .../src}/services/apps/redux/reducers.ts      |   0
 .../src}/services/apps/redux/selectors.ts     |   0
 .../src}/services/apps/redux/types.ts         |   0
 .../src}/services/apps/transformations.ts     |   0
 {src => frontend/src}/services/apps/types.ts  |   0
 {src => frontend/src}/services/auth/api.ts    |   0
 .../src}/services/auth/hooks/index.ts         |   0
 .../src}/services/auth/hooks/use-auth.ts      |   0
 {src => frontend/src}/services/auth/index.ts  |   0
 .../src}/services/auth/redux/actions.ts       |   0
 .../src}/services/auth/redux/index.ts         |   0
 .../src}/services/auth/redux/reducers.ts      |   0
 .../src}/services/auth/redux/selectors.ts     |   0
 .../src}/services/auth/redux/types.ts         |   0
 .../src}/services/auth/transformations.ts     |   0
 {src => frontend/src}/services/auth/types.ts  |   0
 {src => frontend/src}/services/users/api.ts   |   0
 .../src}/services/users/hooks/index.ts        |   0
 .../src}/services/users/hooks/use-users.ts    |   0
 {src => frontend/src}/services/users/index.ts |   0
 .../src}/services/users/redux/actions.ts      |   0
 .../src}/services/users/redux/index.ts        |   0
 .../src}/services/users/redux/reducers.ts     |   0
 .../src}/services/users/redux/selectors.ts    |   0
 .../src}/services/users/redux/types.ts        |   0
 .../src}/services/users/transformations.ts    |   0
 {src => frontend/src}/services/users/types.ts |   0
 .../tailwind.config.js                        |   0
 tsconfig.json => frontend/tsconfig.json       |   0
 yarn.lock => frontend/yarn.lock               |   0
 backend/run_app.sh => run_app.sh              |   0
 166 files changed, 27 insertions(+), 10 deletions(-)
 rename backend/docker-compose.yml => docker-compose.yml (82%)
 create mode 100644 frontend/Dockerfile
 rename craco.config.js => frontend/craco.config.js (100%)
 rename package.json => frontend/package.json (100%)
 rename {public => frontend/public}/android-chrome-192x192.png (100%)
 rename {public => frontend/public}/android-chrome-256x256.png (100%)
 rename {public => frontend/public}/apple-touch-icon.png (100%)
 rename {public => frontend/public}/assets/logo-small.svg (100%)
 rename {public => frontend/public}/assets/logo.svg (100%)
 rename {public => frontend/public}/assets/monitoring.svg (100%)
 rename {public => frontend/public}/assets/nextcloud.svg (100%)
 rename {public => frontend/public}/assets/velero.svg (100%)
 rename {public => frontend/public}/assets/wekan.svg (100%)
 rename {public => frontend/public}/assets/wordpress.svg (100%)
 rename {public => frontend/public}/assets/zulip.svg (100%)
 rename {public => frontend/public}/favicon-16x16.png (100%)
 rename {public => frontend/public}/favicon-32x32.png (100%)
 rename {public => frontend/public}/favicon.ico (100%)
 rename {public => frontend/public}/index.html (100%)
 rename {public => frontend/public}/logo192.png (100%)
 rename {public => frontend/public}/logo512.png (100%)
 rename {public => frontend/public}/manifest.json (100%)
 rename {public => frontend/public}/markdown/monitoring.md (100%)
 rename {public => frontend/public}/markdown/nextcloud.md (100%)
 rename {public => frontend/public}/markdown/support.md (100%)
 rename {public => frontend/public}/markdown/wekan.md (100%)
 rename {public => frontend/public}/markdown/wordpress.md (100%)
 rename {public => frontend/public}/markdown/zulip.md (100%)
 rename {public => frontend/public}/mstile-150x150.png (100%)
 rename {public => frontend/public}/robots.txt (100%)
 rename react-table-config.d.ts => frontend/react-table-config.d.ts (100%)
 rename {src => frontend/src}/App.tsx (100%)
 rename {src => frontend/src}/common/const.ts (100%)
 rename {src => frontend/src}/common/index.ts (100%)
 rename {src => frontend/src}/common/types.ts (100%)
 rename {src => frontend/src}/common/util/add-params-to-link.ts (100%)
 rename {src => frontend/src}/common/util/index.ts (100%)
 rename {src => frontend/src}/common/util/is-touched.ts (100%)
 rename {src => frontend/src}/common/util/show-toast.tsx (100%)
 rename {src => frontend/src}/components/Banner/Banner.tsx (100%)
 rename {src => frontend/src}/components/Banner/index.ts (100%)
 rename {src => frontend/src}/components/Form/Checkbox/Checkbox.tsx (100%)
 rename {src => frontend/src}/components/Form/Checkbox/index.ts (100%)
 rename {src => frontend/src}/components/Form/CodeEditor/CodeEditor.tsx (100%)
 rename {src => frontend/src}/components/Form/CodeEditor/index.ts (100%)
 rename {src => frontend/src}/components/Form/Input/Input.tsx (100%)
 rename {src => frontend/src}/components/Form/Input/index.ts (100%)
 rename {src => frontend/src}/components/Form/Select/Select.tsx (100%)
 rename {src => frontend/src}/components/Form/Select/index.ts (100%)
 rename {src => frontend/src}/components/Form/Switch/Switch.tsx (100%)
 rename {src => frontend/src}/components/Form/Switch/index.ts (100%)
 rename {src => frontend/src}/components/Form/TextArea/index.ts (100%)
 rename {src => frontend/src}/components/Form/TextArea/textarea.tsx (100%)
 rename {src => frontend/src}/components/Form/index.ts (100%)
 rename {src => frontend/src}/components/Header/Header.tsx (100%)
 rename {src => frontend/src}/components/Header/index.ts (100%)
 rename {src => frontend/src}/components/Layout/Layout.tsx (100%)
 rename {src => frontend/src}/components/Layout/index.ts (100%)
 rename {src => frontend/src}/components/Modal/ConfirmationModal/ConfirmationModal.tsx (100%)
 rename {src => frontend/src}/components/Modal/ConfirmationModal/index.ts (100%)
 rename {src => frontend/src}/components/Modal/Modal/Modal.tsx (100%)
 rename {src => frontend/src}/components/Modal/Modal/index.ts (100%)
 rename {src => frontend/src}/components/Modal/Modal/types.ts (100%)
 rename {src => frontend/src}/components/Modal/StepsModal/StepsModal.tsx (100%)
 rename {src => frontend/src}/components/Modal/StepsModal/index.ts (100%)
 rename {src => frontend/src}/components/Modal/StepsModal/types.ts (100%)
 rename {src => frontend/src}/components/Modal/index.ts (100%)
 rename {src => frontend/src}/components/ProgressSteps/ProgressSteps.tsx (100%)
 rename {src => frontend/src}/components/ProgressSteps/index.ts (100%)
 rename {src => frontend/src}/components/ProgressSteps/types.ts (100%)
 rename {src => frontend/src}/components/Table/Table.tsx (100%)
 rename {src => frontend/src}/components/Table/index.ts (100%)
 rename {src => frontend/src}/components/Tabs/TabPanel.tsx (100%)
 rename {src => frontend/src}/components/Tabs/Tabs.tsx (100%)
 rename {src => frontend/src}/components/Tabs/index.ts (100%)
 rename {src => frontend/src}/components/Tabs/types.ts (100%)
 rename {src => frontend/src}/components/UserModal/UserModal.tsx (100%)
 rename {src => frontend/src}/components/UserModal/consts.ts (100%)
 rename {src => frontend/src}/components/UserModal/index.ts (100%)
 rename {src => frontend/src}/components/UserModal/types.ts (100%)
 rename {src => frontend/src}/components/index.ts (100%)
 rename {src => frontend/src}/index.css (100%)
 rename {src => frontend/src}/index.tsx (100%)
 rename {src => frontend/src}/modules/apps/AppSingle.tsx (100%)
 rename {src => frontend/src}/modules/apps/Apps.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/AdvancedTab/AdvancedTab.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/AdvancedTab/components/ChangeSecretModal.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/AdvancedTab/components/Secrets.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/AdvancedTab/components/index.ts (100%)
 rename {src => frontend/src}/modules/apps/components/AdvancedTab/index.ts (100%)
 rename {src => frontend/src}/modules/apps/components/AppInstallModal/AppInstallModal.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/AppInstallModal/consts.ts (100%)
 rename {src => frontend/src}/modules/apps/components/AppInstallModal/index.ts (100%)
 rename {src => frontend/src}/modules/apps/components/AppInstallModal/types.ts (100%)
 rename {src => frontend/src}/modules/apps/components/GeneralTab/GeneralTab.tsx (100%)
 rename {src => frontend/src}/modules/apps/components/GeneralTab/index.ts (100%)
 rename {src => frontend/src}/modules/apps/components/index.ts (100%)
 rename {src => frontend/src}/modules/apps/consts.tsx (100%)
 rename {src => frontend/src}/modules/apps/index.ts (100%)
 rename {src => frontend/src}/modules/dashboard/Dashboard.tsx (100%)
 rename {src => frontend/src}/modules/dashboard/components/DashboardCard/DashboardCard.tsx (100%)
 rename {src => frontend/src}/modules/dashboard/components/DashboardCard/index.ts (100%)
 rename {src => frontend/src}/modules/dashboard/components/DashboardUtility/DashboardUtility.tsx (100%)
 rename {src => frontend/src}/modules/dashboard/components/DashboardUtility/index.ts (100%)
 rename {src => frontend/src}/modules/dashboard/components/index.ts (100%)
 rename {src => frontend/src}/modules/dashboard/consts.ts (100%)
 rename {src => frontend/src}/modules/dashboard/index.ts (100%)
 rename {src => frontend/src}/modules/index.ts (100%)
 rename {src => frontend/src}/modules/login/Login.tsx (100%)
 rename {src => frontend/src}/modules/login/LoginCallback.tsx (100%)
 rename {src => frontend/src}/modules/login/index.ts (100%)
 rename {src => frontend/src}/modules/users/Users.tsx (100%)
 rename {src => frontend/src}/modules/users/components/MultipleUsersModal/MultipleUsersModal.tsx (100%)
 rename {src => frontend/src}/modules/users/components/MultipleUsersModal/index.ts (100%)
 rename {src => frontend/src}/modules/users/components/MultipleUsersModal/types.ts (100%)
 rename {src => frontend/src}/modules/users/components/index.ts (100%)
 rename {src => frontend/src}/modules/users/index.ts (100%)
 rename {src => frontend/src}/react-app-env.d.ts (100%)
 rename {src => frontend/src}/redux/index.ts (100%)
 rename {src => frontend/src}/redux/store.ts (100%)
 rename {src => frontend/src}/redux/types.ts (100%)
 rename {src => frontend/src}/services/api/apiCall.ts (100%)
 rename {src => frontend/src}/services/api/config.ts (100%)
 rename {src => frontend/src}/services/api/index.ts (100%)
 rename {src => frontend/src}/services/api/redux/actions.ts (100%)
 rename {src => frontend/src}/services/api/redux/index.ts (100%)
 rename {src => frontend/src}/services/api/redux/reducers.ts (100%)
 rename {src => frontend/src}/services/api/redux/traits.ts (100%)
 rename {src => frontend/src}/services/api/redux/types.ts (100%)
 rename {src => frontend/src}/services/api/types.ts (100%)
 rename {src => frontend/src}/services/apps/hooks/index.ts (100%)
 rename {src => frontend/src}/services/apps/hooks/use-apps.ts (100%)
 rename {src => frontend/src}/services/apps/index.ts (100%)
 rename {src => frontend/src}/services/apps/redux/actions.ts (100%)
 rename {src => frontend/src}/services/apps/redux/index.ts (100%)
 rename {src => frontend/src}/services/apps/redux/reducers.ts (100%)
 rename {src => frontend/src}/services/apps/redux/selectors.ts (100%)
 rename {src => frontend/src}/services/apps/redux/types.ts (100%)
 rename {src => frontend/src}/services/apps/transformations.ts (100%)
 rename {src => frontend/src}/services/apps/types.ts (100%)
 rename {src => frontend/src}/services/auth/api.ts (100%)
 rename {src => frontend/src}/services/auth/hooks/index.ts (100%)
 rename {src => frontend/src}/services/auth/hooks/use-auth.ts (100%)
 rename {src => frontend/src}/services/auth/index.ts (100%)
 rename {src => frontend/src}/services/auth/redux/actions.ts (100%)
 rename {src => frontend/src}/services/auth/redux/index.ts (100%)
 rename {src => frontend/src}/services/auth/redux/reducers.ts (100%)
 rename {src => frontend/src}/services/auth/redux/selectors.ts (100%)
 rename {src => frontend/src}/services/auth/redux/types.ts (100%)
 rename {src => frontend/src}/services/auth/transformations.ts (100%)
 rename {src => frontend/src}/services/auth/types.ts (100%)
 rename {src => frontend/src}/services/users/api.ts (100%)
 rename {src => frontend/src}/services/users/hooks/index.ts (100%)
 rename {src => frontend/src}/services/users/hooks/use-users.ts (100%)
 rename {src => frontend/src}/services/users/index.ts (100%)
 rename {src => frontend/src}/services/users/redux/actions.ts (100%)
 rename {src => frontend/src}/services/users/redux/index.ts (100%)
 rename {src => frontend/src}/services/users/redux/reducers.ts (100%)
 rename {src => frontend/src}/services/users/redux/selectors.ts (100%)
 rename {src => frontend/src}/services/users/redux/types.ts (100%)
 rename {src => frontend/src}/services/users/transformations.ts (100%)
 rename {src => frontend/src}/services/users/types.ts (100%)
 rename tailwind.config.js => frontend/tailwind.config.js (100%)
 rename tsconfig.json => frontend/tsconfig.json (100%)
 rename yarn.lock => frontend/yarn.lock (100%)
 rename backend/run_app.sh => run_app.sh (100%)

diff --git a/backend/docker-compose.yml b/docker-compose.yml
similarity index 82%
rename from backend/docker-compose.yml
rename to docker-compose.yml
index 462ebea4..3efeb435 100644
--- a/backend/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,16 +1,25 @@
-version: '3'
+version: "3"
 services:
+  frontend:
+    build:
+      context: ./frontend
+    working_dir: "/home/node/app"
+    env_file: local.env
+    ports:
+      - "3000:3000"
+    # command: "yarn start"
   stackspin_proxy:
-    image: nginx:1.23.2
+    image: nginx:1.23.1
     ports:
       - "8081:8081"
     volumes:
-      - ./proxy/default.conf:/etc/nginx/conf.d/default.conf
+      - ./backend/proxy/default.conf:/etc/nginx/conf.d/default.conf
     depends_on:
       - kube_port_kratos_public
       - flask_app
   flask_app:
-    build: .
+    build:
+      context: ./backend
     environment:
       - FLASK_APP=app.py
       - FLASK_ENV=development
@@ -39,13 +48,13 @@ services:
       - "5000:5000"
     user: "${KUBECTL_UID}:${KUBECTL_GID}"
     volumes:
-      - .:/app
+      - ./backend:/app
       - "$KUBECONFIG:/.kube/config"
     depends_on:
       - kube_port_mysql
     entrypoint: ["bash", "-c", "flask run --host $$(hostname -i)"]
   kube_port_kratos_admin:
-    image: bitnami/kubectl:1.25.3
+    image: bitnami/kubectl:1.25.2
     user: "${KUBECTL_UID}:${KUBECTL_GID}"
     expose:
       - 8000
@@ -53,7 +62,7 @@ services:
       - "$KUBECONFIG:/.kube/config"
     entrypoint: ["bash", "-c", "kubectl -n stackspin port-forward --address $$(hostname -i) service/kratos-admin 8000:80"]
   kube_port_hydra_admin:
-    image: bitnami/kubectl:1.25.3
+    image: bitnami/kubectl:1.25.2
     user: "${KUBECTL_UID}:${KUBECTL_GID}"
     expose:
       - 4445
@@ -61,7 +70,7 @@ services:
       - "$KUBECONFIG:/.kube/config"
     entrypoint: ["bash", "-c", "kubectl -n stackspin port-forward --address $$(hostname -i) service/hydra-admin 4445:4445"]
   kube_port_kratos_public:
-    image: bitnami/kubectl:1.25.3
+    image: bitnami/kubectl:1.25.2
     user: "${KUBECTL_UID}:${KUBECTL_GID}"
     ports:
       - "8080:8080"
@@ -69,9 +78,9 @@ services:
       - 8080
     volumes:
       - "$KUBECONFIG:/.kube/config"
-    entrypoint: ["bash", "-c", "kubectl -n stackspin port-forward --address $$(hostname -i) service/kratos-public 8080:80"]
+    entrypoint: ["bash", "-c", "kubectl -n stackspin port-forward --address 0.0.0.0 service/kratos-public 8080:80"]
   kube_port_mysql:
-    image: bitnami/kubectl:1.25.3
+    image: bitnami/kubectl:1.25.2
     user: "${KUBECTL_UID}:${KUBECTL_GID}"
     expose:
       - 3306
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
new file mode 100644
index 00000000..ee080ade
--- /dev/null
+++ b/frontend/Dockerfile
@@ -0,0 +1,8 @@
+FROM node:18
+
+ADD . .
+
+RUN yarn install
+
+ENV NODE_OPTIONS="--openssl-legacy-provider"
+CMD yarn start
diff --git a/craco.config.js b/frontend/craco.config.js
similarity index 100%
rename from craco.config.js
rename to frontend/craco.config.js
diff --git a/package.json b/frontend/package.json
similarity index 100%
rename from package.json
rename to frontend/package.json
diff --git a/public/android-chrome-192x192.png b/frontend/public/android-chrome-192x192.png
similarity index 100%
rename from public/android-chrome-192x192.png
rename to frontend/public/android-chrome-192x192.png
diff --git a/public/android-chrome-256x256.png b/frontend/public/android-chrome-256x256.png
similarity index 100%
rename from public/android-chrome-256x256.png
rename to frontend/public/android-chrome-256x256.png
diff --git a/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png
similarity index 100%
rename from public/apple-touch-icon.png
rename to frontend/public/apple-touch-icon.png
diff --git a/public/assets/logo-small.svg b/frontend/public/assets/logo-small.svg
similarity index 100%
rename from public/assets/logo-small.svg
rename to frontend/public/assets/logo-small.svg
diff --git a/public/assets/logo.svg b/frontend/public/assets/logo.svg
similarity index 100%
rename from public/assets/logo.svg
rename to frontend/public/assets/logo.svg
diff --git a/public/assets/monitoring.svg b/frontend/public/assets/monitoring.svg
similarity index 100%
rename from public/assets/monitoring.svg
rename to frontend/public/assets/monitoring.svg
diff --git a/public/assets/nextcloud.svg b/frontend/public/assets/nextcloud.svg
similarity index 100%
rename from public/assets/nextcloud.svg
rename to frontend/public/assets/nextcloud.svg
diff --git a/public/assets/velero.svg b/frontend/public/assets/velero.svg
similarity index 100%
rename from public/assets/velero.svg
rename to frontend/public/assets/velero.svg
diff --git a/public/assets/wekan.svg b/frontend/public/assets/wekan.svg
similarity index 100%
rename from public/assets/wekan.svg
rename to frontend/public/assets/wekan.svg
diff --git a/public/assets/wordpress.svg b/frontend/public/assets/wordpress.svg
similarity index 100%
rename from public/assets/wordpress.svg
rename to frontend/public/assets/wordpress.svg
diff --git a/public/assets/zulip.svg b/frontend/public/assets/zulip.svg
similarity index 100%
rename from public/assets/zulip.svg
rename to frontend/public/assets/zulip.svg
diff --git a/public/favicon-16x16.png b/frontend/public/favicon-16x16.png
similarity index 100%
rename from public/favicon-16x16.png
rename to frontend/public/favicon-16x16.png
diff --git a/public/favicon-32x32.png b/frontend/public/favicon-32x32.png
similarity index 100%
rename from public/favicon-32x32.png
rename to frontend/public/favicon-32x32.png
diff --git a/public/favicon.ico b/frontend/public/favicon.ico
similarity index 100%
rename from public/favicon.ico
rename to frontend/public/favicon.ico
diff --git a/public/index.html b/frontend/public/index.html
similarity index 100%
rename from public/index.html
rename to frontend/public/index.html
diff --git a/public/logo192.png b/frontend/public/logo192.png
similarity index 100%
rename from public/logo192.png
rename to frontend/public/logo192.png
diff --git a/public/logo512.png b/frontend/public/logo512.png
similarity index 100%
rename from public/logo512.png
rename to frontend/public/logo512.png
diff --git a/public/manifest.json b/frontend/public/manifest.json
similarity index 100%
rename from public/manifest.json
rename to frontend/public/manifest.json
diff --git a/public/markdown/monitoring.md b/frontend/public/markdown/monitoring.md
similarity index 100%
rename from public/markdown/monitoring.md
rename to frontend/public/markdown/monitoring.md
diff --git a/public/markdown/nextcloud.md b/frontend/public/markdown/nextcloud.md
similarity index 100%
rename from public/markdown/nextcloud.md
rename to frontend/public/markdown/nextcloud.md
diff --git a/public/markdown/support.md b/frontend/public/markdown/support.md
similarity index 100%
rename from public/markdown/support.md
rename to frontend/public/markdown/support.md
diff --git a/public/markdown/wekan.md b/frontend/public/markdown/wekan.md
similarity index 100%
rename from public/markdown/wekan.md
rename to frontend/public/markdown/wekan.md
diff --git a/public/markdown/wordpress.md b/frontend/public/markdown/wordpress.md
similarity index 100%
rename from public/markdown/wordpress.md
rename to frontend/public/markdown/wordpress.md
diff --git a/public/markdown/zulip.md b/frontend/public/markdown/zulip.md
similarity index 100%
rename from public/markdown/zulip.md
rename to frontend/public/markdown/zulip.md
diff --git a/public/mstile-150x150.png b/frontend/public/mstile-150x150.png
similarity index 100%
rename from public/mstile-150x150.png
rename to frontend/public/mstile-150x150.png
diff --git a/public/robots.txt b/frontend/public/robots.txt
similarity index 100%
rename from public/robots.txt
rename to frontend/public/robots.txt
diff --git a/react-table-config.d.ts b/frontend/react-table-config.d.ts
similarity index 100%
rename from react-table-config.d.ts
rename to frontend/react-table-config.d.ts
diff --git a/src/App.tsx b/frontend/src/App.tsx
similarity index 100%
rename from src/App.tsx
rename to frontend/src/App.tsx
diff --git a/src/common/const.ts b/frontend/src/common/const.ts
similarity index 100%
rename from src/common/const.ts
rename to frontend/src/common/const.ts
diff --git a/src/common/index.ts b/frontend/src/common/index.ts
similarity index 100%
rename from src/common/index.ts
rename to frontend/src/common/index.ts
diff --git a/src/common/types.ts b/frontend/src/common/types.ts
similarity index 100%
rename from src/common/types.ts
rename to frontend/src/common/types.ts
diff --git a/src/common/util/add-params-to-link.ts b/frontend/src/common/util/add-params-to-link.ts
similarity index 100%
rename from src/common/util/add-params-to-link.ts
rename to frontend/src/common/util/add-params-to-link.ts
diff --git a/src/common/util/index.ts b/frontend/src/common/util/index.ts
similarity index 100%
rename from src/common/util/index.ts
rename to frontend/src/common/util/index.ts
diff --git a/src/common/util/is-touched.ts b/frontend/src/common/util/is-touched.ts
similarity index 100%
rename from src/common/util/is-touched.ts
rename to frontend/src/common/util/is-touched.ts
diff --git a/src/common/util/show-toast.tsx b/frontend/src/common/util/show-toast.tsx
similarity index 100%
rename from src/common/util/show-toast.tsx
rename to frontend/src/common/util/show-toast.tsx
diff --git a/src/components/Banner/Banner.tsx b/frontend/src/components/Banner/Banner.tsx
similarity index 100%
rename from src/components/Banner/Banner.tsx
rename to frontend/src/components/Banner/Banner.tsx
diff --git a/src/components/Banner/index.ts b/frontend/src/components/Banner/index.ts
similarity index 100%
rename from src/components/Banner/index.ts
rename to frontend/src/components/Banner/index.ts
diff --git a/src/components/Form/Checkbox/Checkbox.tsx b/frontend/src/components/Form/Checkbox/Checkbox.tsx
similarity index 100%
rename from src/components/Form/Checkbox/Checkbox.tsx
rename to frontend/src/components/Form/Checkbox/Checkbox.tsx
diff --git a/src/components/Form/Checkbox/index.ts b/frontend/src/components/Form/Checkbox/index.ts
similarity index 100%
rename from src/components/Form/Checkbox/index.ts
rename to frontend/src/components/Form/Checkbox/index.ts
diff --git a/src/components/Form/CodeEditor/CodeEditor.tsx b/frontend/src/components/Form/CodeEditor/CodeEditor.tsx
similarity index 100%
rename from src/components/Form/CodeEditor/CodeEditor.tsx
rename to frontend/src/components/Form/CodeEditor/CodeEditor.tsx
diff --git a/src/components/Form/CodeEditor/index.ts b/frontend/src/components/Form/CodeEditor/index.ts
similarity index 100%
rename from src/components/Form/CodeEditor/index.ts
rename to frontend/src/components/Form/CodeEditor/index.ts
diff --git a/src/components/Form/Input/Input.tsx b/frontend/src/components/Form/Input/Input.tsx
similarity index 100%
rename from src/components/Form/Input/Input.tsx
rename to frontend/src/components/Form/Input/Input.tsx
diff --git a/src/components/Form/Input/index.ts b/frontend/src/components/Form/Input/index.ts
similarity index 100%
rename from src/components/Form/Input/index.ts
rename to frontend/src/components/Form/Input/index.ts
diff --git a/src/components/Form/Select/Select.tsx b/frontend/src/components/Form/Select/Select.tsx
similarity index 100%
rename from src/components/Form/Select/Select.tsx
rename to frontend/src/components/Form/Select/Select.tsx
diff --git a/src/components/Form/Select/index.ts b/frontend/src/components/Form/Select/index.ts
similarity index 100%
rename from src/components/Form/Select/index.ts
rename to frontend/src/components/Form/Select/index.ts
diff --git a/src/components/Form/Switch/Switch.tsx b/frontend/src/components/Form/Switch/Switch.tsx
similarity index 100%
rename from src/components/Form/Switch/Switch.tsx
rename to frontend/src/components/Form/Switch/Switch.tsx
diff --git a/src/components/Form/Switch/index.ts b/frontend/src/components/Form/Switch/index.ts
similarity index 100%
rename from src/components/Form/Switch/index.ts
rename to frontend/src/components/Form/Switch/index.ts
diff --git a/src/components/Form/TextArea/index.ts b/frontend/src/components/Form/TextArea/index.ts
similarity index 100%
rename from src/components/Form/TextArea/index.ts
rename to frontend/src/components/Form/TextArea/index.ts
diff --git a/src/components/Form/TextArea/textarea.tsx b/frontend/src/components/Form/TextArea/textarea.tsx
similarity index 100%
rename from src/components/Form/TextArea/textarea.tsx
rename to frontend/src/components/Form/TextArea/textarea.tsx
diff --git a/src/components/Form/index.ts b/frontend/src/components/Form/index.ts
similarity index 100%
rename from src/components/Form/index.ts
rename to frontend/src/components/Form/index.ts
diff --git a/src/components/Header/Header.tsx b/frontend/src/components/Header/Header.tsx
similarity index 100%
rename from src/components/Header/Header.tsx
rename to frontend/src/components/Header/Header.tsx
diff --git a/src/components/Header/index.ts b/frontend/src/components/Header/index.ts
similarity index 100%
rename from src/components/Header/index.ts
rename to frontend/src/components/Header/index.ts
diff --git a/src/components/Layout/Layout.tsx b/frontend/src/components/Layout/Layout.tsx
similarity index 100%
rename from src/components/Layout/Layout.tsx
rename to frontend/src/components/Layout/Layout.tsx
diff --git a/src/components/Layout/index.ts b/frontend/src/components/Layout/index.ts
similarity index 100%
rename from src/components/Layout/index.ts
rename to frontend/src/components/Layout/index.ts
diff --git a/src/components/Modal/ConfirmationModal/ConfirmationModal.tsx b/frontend/src/components/Modal/ConfirmationModal/ConfirmationModal.tsx
similarity index 100%
rename from src/components/Modal/ConfirmationModal/ConfirmationModal.tsx
rename to frontend/src/components/Modal/ConfirmationModal/ConfirmationModal.tsx
diff --git a/src/components/Modal/ConfirmationModal/index.ts b/frontend/src/components/Modal/ConfirmationModal/index.ts
similarity index 100%
rename from src/components/Modal/ConfirmationModal/index.ts
rename to frontend/src/components/Modal/ConfirmationModal/index.ts
diff --git a/src/components/Modal/Modal/Modal.tsx b/frontend/src/components/Modal/Modal/Modal.tsx
similarity index 100%
rename from src/components/Modal/Modal/Modal.tsx
rename to frontend/src/components/Modal/Modal/Modal.tsx
diff --git a/src/components/Modal/Modal/index.ts b/frontend/src/components/Modal/Modal/index.ts
similarity index 100%
rename from src/components/Modal/Modal/index.ts
rename to frontend/src/components/Modal/Modal/index.ts
diff --git a/src/components/Modal/Modal/types.ts b/frontend/src/components/Modal/Modal/types.ts
similarity index 100%
rename from src/components/Modal/Modal/types.ts
rename to frontend/src/components/Modal/Modal/types.ts
diff --git a/src/components/Modal/StepsModal/StepsModal.tsx b/frontend/src/components/Modal/StepsModal/StepsModal.tsx
similarity index 100%
rename from src/components/Modal/StepsModal/StepsModal.tsx
rename to frontend/src/components/Modal/StepsModal/StepsModal.tsx
diff --git a/src/components/Modal/StepsModal/index.ts b/frontend/src/components/Modal/StepsModal/index.ts
similarity index 100%
rename from src/components/Modal/StepsModal/index.ts
rename to frontend/src/components/Modal/StepsModal/index.ts
diff --git a/src/components/Modal/StepsModal/types.ts b/frontend/src/components/Modal/StepsModal/types.ts
similarity index 100%
rename from src/components/Modal/StepsModal/types.ts
rename to frontend/src/components/Modal/StepsModal/types.ts
diff --git a/src/components/Modal/index.ts b/frontend/src/components/Modal/index.ts
similarity index 100%
rename from src/components/Modal/index.ts
rename to frontend/src/components/Modal/index.ts
diff --git a/src/components/ProgressSteps/ProgressSteps.tsx b/frontend/src/components/ProgressSteps/ProgressSteps.tsx
similarity index 100%
rename from src/components/ProgressSteps/ProgressSteps.tsx
rename to frontend/src/components/ProgressSteps/ProgressSteps.tsx
diff --git a/src/components/ProgressSteps/index.ts b/frontend/src/components/ProgressSteps/index.ts
similarity index 100%
rename from src/components/ProgressSteps/index.ts
rename to frontend/src/components/ProgressSteps/index.ts
diff --git a/src/components/ProgressSteps/types.ts b/frontend/src/components/ProgressSteps/types.ts
similarity index 100%
rename from src/components/ProgressSteps/types.ts
rename to frontend/src/components/ProgressSteps/types.ts
diff --git a/src/components/Table/Table.tsx b/frontend/src/components/Table/Table.tsx
similarity index 100%
rename from src/components/Table/Table.tsx
rename to frontend/src/components/Table/Table.tsx
diff --git a/src/components/Table/index.ts b/frontend/src/components/Table/index.ts
similarity index 100%
rename from src/components/Table/index.ts
rename to frontend/src/components/Table/index.ts
diff --git a/src/components/Tabs/TabPanel.tsx b/frontend/src/components/Tabs/TabPanel.tsx
similarity index 100%
rename from src/components/Tabs/TabPanel.tsx
rename to frontend/src/components/Tabs/TabPanel.tsx
diff --git a/src/components/Tabs/Tabs.tsx b/frontend/src/components/Tabs/Tabs.tsx
similarity index 100%
rename from src/components/Tabs/Tabs.tsx
rename to frontend/src/components/Tabs/Tabs.tsx
diff --git a/src/components/Tabs/index.ts b/frontend/src/components/Tabs/index.ts
similarity index 100%
rename from src/components/Tabs/index.ts
rename to frontend/src/components/Tabs/index.ts
diff --git a/src/components/Tabs/types.ts b/frontend/src/components/Tabs/types.ts
similarity index 100%
rename from src/components/Tabs/types.ts
rename to frontend/src/components/Tabs/types.ts
diff --git a/src/components/UserModal/UserModal.tsx b/frontend/src/components/UserModal/UserModal.tsx
similarity index 100%
rename from src/components/UserModal/UserModal.tsx
rename to frontend/src/components/UserModal/UserModal.tsx
diff --git a/src/components/UserModal/consts.ts b/frontend/src/components/UserModal/consts.ts
similarity index 100%
rename from src/components/UserModal/consts.ts
rename to frontend/src/components/UserModal/consts.ts
diff --git a/src/components/UserModal/index.ts b/frontend/src/components/UserModal/index.ts
similarity index 100%
rename from src/components/UserModal/index.ts
rename to frontend/src/components/UserModal/index.ts
diff --git a/src/components/UserModal/types.ts b/frontend/src/components/UserModal/types.ts
similarity index 100%
rename from src/components/UserModal/types.ts
rename to frontend/src/components/UserModal/types.ts
diff --git a/src/components/index.ts b/frontend/src/components/index.ts
similarity index 100%
rename from src/components/index.ts
rename to frontend/src/components/index.ts
diff --git a/src/index.css b/frontend/src/index.css
similarity index 100%
rename from src/index.css
rename to frontend/src/index.css
diff --git a/src/index.tsx b/frontend/src/index.tsx
similarity index 100%
rename from src/index.tsx
rename to frontend/src/index.tsx
diff --git a/src/modules/apps/AppSingle.tsx b/frontend/src/modules/apps/AppSingle.tsx
similarity index 100%
rename from src/modules/apps/AppSingle.tsx
rename to frontend/src/modules/apps/AppSingle.tsx
diff --git a/src/modules/apps/Apps.tsx b/frontend/src/modules/apps/Apps.tsx
similarity index 100%
rename from src/modules/apps/Apps.tsx
rename to frontend/src/modules/apps/Apps.tsx
diff --git a/src/modules/apps/components/AdvancedTab/AdvancedTab.tsx b/frontend/src/modules/apps/components/AdvancedTab/AdvancedTab.tsx
similarity index 100%
rename from src/modules/apps/components/AdvancedTab/AdvancedTab.tsx
rename to frontend/src/modules/apps/components/AdvancedTab/AdvancedTab.tsx
diff --git a/src/modules/apps/components/AdvancedTab/components/ChangeSecretModal.tsx b/frontend/src/modules/apps/components/AdvancedTab/components/ChangeSecretModal.tsx
similarity index 100%
rename from src/modules/apps/components/AdvancedTab/components/ChangeSecretModal.tsx
rename to frontend/src/modules/apps/components/AdvancedTab/components/ChangeSecretModal.tsx
diff --git a/src/modules/apps/components/AdvancedTab/components/Secrets.tsx b/frontend/src/modules/apps/components/AdvancedTab/components/Secrets.tsx
similarity index 100%
rename from src/modules/apps/components/AdvancedTab/components/Secrets.tsx
rename to frontend/src/modules/apps/components/AdvancedTab/components/Secrets.tsx
diff --git a/src/modules/apps/components/AdvancedTab/components/index.ts b/frontend/src/modules/apps/components/AdvancedTab/components/index.ts
similarity index 100%
rename from src/modules/apps/components/AdvancedTab/components/index.ts
rename to frontend/src/modules/apps/components/AdvancedTab/components/index.ts
diff --git a/src/modules/apps/components/AdvancedTab/index.ts b/frontend/src/modules/apps/components/AdvancedTab/index.ts
similarity index 100%
rename from src/modules/apps/components/AdvancedTab/index.ts
rename to frontend/src/modules/apps/components/AdvancedTab/index.ts
diff --git a/src/modules/apps/components/AppInstallModal/AppInstallModal.tsx b/frontend/src/modules/apps/components/AppInstallModal/AppInstallModal.tsx
similarity index 100%
rename from src/modules/apps/components/AppInstallModal/AppInstallModal.tsx
rename to frontend/src/modules/apps/components/AppInstallModal/AppInstallModal.tsx
diff --git a/src/modules/apps/components/AppInstallModal/consts.ts b/frontend/src/modules/apps/components/AppInstallModal/consts.ts
similarity index 100%
rename from src/modules/apps/components/AppInstallModal/consts.ts
rename to frontend/src/modules/apps/components/AppInstallModal/consts.ts
diff --git a/src/modules/apps/components/AppInstallModal/index.ts b/frontend/src/modules/apps/components/AppInstallModal/index.ts
similarity index 100%
rename from src/modules/apps/components/AppInstallModal/index.ts
rename to frontend/src/modules/apps/components/AppInstallModal/index.ts
diff --git a/src/modules/apps/components/AppInstallModal/types.ts b/frontend/src/modules/apps/components/AppInstallModal/types.ts
similarity index 100%
rename from src/modules/apps/components/AppInstallModal/types.ts
rename to frontend/src/modules/apps/components/AppInstallModal/types.ts
diff --git a/src/modules/apps/components/GeneralTab/GeneralTab.tsx b/frontend/src/modules/apps/components/GeneralTab/GeneralTab.tsx
similarity index 100%
rename from src/modules/apps/components/GeneralTab/GeneralTab.tsx
rename to frontend/src/modules/apps/components/GeneralTab/GeneralTab.tsx
diff --git a/src/modules/apps/components/GeneralTab/index.ts b/frontend/src/modules/apps/components/GeneralTab/index.ts
similarity index 100%
rename from src/modules/apps/components/GeneralTab/index.ts
rename to frontend/src/modules/apps/components/GeneralTab/index.ts
diff --git a/src/modules/apps/components/index.ts b/frontend/src/modules/apps/components/index.ts
similarity index 100%
rename from src/modules/apps/components/index.ts
rename to frontend/src/modules/apps/components/index.ts
diff --git a/src/modules/apps/consts.tsx b/frontend/src/modules/apps/consts.tsx
similarity index 100%
rename from src/modules/apps/consts.tsx
rename to frontend/src/modules/apps/consts.tsx
diff --git a/src/modules/apps/index.ts b/frontend/src/modules/apps/index.ts
similarity index 100%
rename from src/modules/apps/index.ts
rename to frontend/src/modules/apps/index.ts
diff --git a/src/modules/dashboard/Dashboard.tsx b/frontend/src/modules/dashboard/Dashboard.tsx
similarity index 100%
rename from src/modules/dashboard/Dashboard.tsx
rename to frontend/src/modules/dashboard/Dashboard.tsx
diff --git a/src/modules/dashboard/components/DashboardCard/DashboardCard.tsx b/frontend/src/modules/dashboard/components/DashboardCard/DashboardCard.tsx
similarity index 100%
rename from src/modules/dashboard/components/DashboardCard/DashboardCard.tsx
rename to frontend/src/modules/dashboard/components/DashboardCard/DashboardCard.tsx
diff --git a/src/modules/dashboard/components/DashboardCard/index.ts b/frontend/src/modules/dashboard/components/DashboardCard/index.ts
similarity index 100%
rename from src/modules/dashboard/components/DashboardCard/index.ts
rename to frontend/src/modules/dashboard/components/DashboardCard/index.ts
diff --git a/src/modules/dashboard/components/DashboardUtility/DashboardUtility.tsx b/frontend/src/modules/dashboard/components/DashboardUtility/DashboardUtility.tsx
similarity index 100%
rename from src/modules/dashboard/components/DashboardUtility/DashboardUtility.tsx
rename to frontend/src/modules/dashboard/components/DashboardUtility/DashboardUtility.tsx
diff --git a/src/modules/dashboard/components/DashboardUtility/index.ts b/frontend/src/modules/dashboard/components/DashboardUtility/index.ts
similarity index 100%
rename from src/modules/dashboard/components/DashboardUtility/index.ts
rename to frontend/src/modules/dashboard/components/DashboardUtility/index.ts
diff --git a/src/modules/dashboard/components/index.ts b/frontend/src/modules/dashboard/components/index.ts
similarity index 100%
rename from src/modules/dashboard/components/index.ts
rename to frontend/src/modules/dashboard/components/index.ts
diff --git a/src/modules/dashboard/consts.ts b/frontend/src/modules/dashboard/consts.ts
similarity index 100%
rename from src/modules/dashboard/consts.ts
rename to frontend/src/modules/dashboard/consts.ts
diff --git a/src/modules/dashboard/index.ts b/frontend/src/modules/dashboard/index.ts
similarity index 100%
rename from src/modules/dashboard/index.ts
rename to frontend/src/modules/dashboard/index.ts
diff --git a/src/modules/index.ts b/frontend/src/modules/index.ts
similarity index 100%
rename from src/modules/index.ts
rename to frontend/src/modules/index.ts
diff --git a/src/modules/login/Login.tsx b/frontend/src/modules/login/Login.tsx
similarity index 100%
rename from src/modules/login/Login.tsx
rename to frontend/src/modules/login/Login.tsx
diff --git a/src/modules/login/LoginCallback.tsx b/frontend/src/modules/login/LoginCallback.tsx
similarity index 100%
rename from src/modules/login/LoginCallback.tsx
rename to frontend/src/modules/login/LoginCallback.tsx
diff --git a/src/modules/login/index.ts b/frontend/src/modules/login/index.ts
similarity index 100%
rename from src/modules/login/index.ts
rename to frontend/src/modules/login/index.ts
diff --git a/src/modules/users/Users.tsx b/frontend/src/modules/users/Users.tsx
similarity index 100%
rename from src/modules/users/Users.tsx
rename to frontend/src/modules/users/Users.tsx
diff --git a/src/modules/users/components/MultipleUsersModal/MultipleUsersModal.tsx b/frontend/src/modules/users/components/MultipleUsersModal/MultipleUsersModal.tsx
similarity index 100%
rename from src/modules/users/components/MultipleUsersModal/MultipleUsersModal.tsx
rename to frontend/src/modules/users/components/MultipleUsersModal/MultipleUsersModal.tsx
diff --git a/src/modules/users/components/MultipleUsersModal/index.ts b/frontend/src/modules/users/components/MultipleUsersModal/index.ts
similarity index 100%
rename from src/modules/users/components/MultipleUsersModal/index.ts
rename to frontend/src/modules/users/components/MultipleUsersModal/index.ts
diff --git a/src/modules/users/components/MultipleUsersModal/types.ts b/frontend/src/modules/users/components/MultipleUsersModal/types.ts
similarity index 100%
rename from src/modules/users/components/MultipleUsersModal/types.ts
rename to frontend/src/modules/users/components/MultipleUsersModal/types.ts
diff --git a/src/modules/users/components/index.ts b/frontend/src/modules/users/components/index.ts
similarity index 100%
rename from src/modules/users/components/index.ts
rename to frontend/src/modules/users/components/index.ts
diff --git a/src/modules/users/index.ts b/frontend/src/modules/users/index.ts
similarity index 100%
rename from src/modules/users/index.ts
rename to frontend/src/modules/users/index.ts
diff --git a/src/react-app-env.d.ts b/frontend/src/react-app-env.d.ts
similarity index 100%
rename from src/react-app-env.d.ts
rename to frontend/src/react-app-env.d.ts
diff --git a/src/redux/index.ts b/frontend/src/redux/index.ts
similarity index 100%
rename from src/redux/index.ts
rename to frontend/src/redux/index.ts
diff --git a/src/redux/store.ts b/frontend/src/redux/store.ts
similarity index 100%
rename from src/redux/store.ts
rename to frontend/src/redux/store.ts
diff --git a/src/redux/types.ts b/frontend/src/redux/types.ts
similarity index 100%
rename from src/redux/types.ts
rename to frontend/src/redux/types.ts
diff --git a/src/services/api/apiCall.ts b/frontend/src/services/api/apiCall.ts
similarity index 100%
rename from src/services/api/apiCall.ts
rename to frontend/src/services/api/apiCall.ts
diff --git a/src/services/api/config.ts b/frontend/src/services/api/config.ts
similarity index 100%
rename from src/services/api/config.ts
rename to frontend/src/services/api/config.ts
diff --git a/src/services/api/index.ts b/frontend/src/services/api/index.ts
similarity index 100%
rename from src/services/api/index.ts
rename to frontend/src/services/api/index.ts
diff --git a/src/services/api/redux/actions.ts b/frontend/src/services/api/redux/actions.ts
similarity index 100%
rename from src/services/api/redux/actions.ts
rename to frontend/src/services/api/redux/actions.ts
diff --git a/src/services/api/redux/index.ts b/frontend/src/services/api/redux/index.ts
similarity index 100%
rename from src/services/api/redux/index.ts
rename to frontend/src/services/api/redux/index.ts
diff --git a/src/services/api/redux/reducers.ts b/frontend/src/services/api/redux/reducers.ts
similarity index 100%
rename from src/services/api/redux/reducers.ts
rename to frontend/src/services/api/redux/reducers.ts
diff --git a/src/services/api/redux/traits.ts b/frontend/src/services/api/redux/traits.ts
similarity index 100%
rename from src/services/api/redux/traits.ts
rename to frontend/src/services/api/redux/traits.ts
diff --git a/src/services/api/redux/types.ts b/frontend/src/services/api/redux/types.ts
similarity index 100%
rename from src/services/api/redux/types.ts
rename to frontend/src/services/api/redux/types.ts
diff --git a/src/services/api/types.ts b/frontend/src/services/api/types.ts
similarity index 100%
rename from src/services/api/types.ts
rename to frontend/src/services/api/types.ts
diff --git a/src/services/apps/hooks/index.ts b/frontend/src/services/apps/hooks/index.ts
similarity index 100%
rename from src/services/apps/hooks/index.ts
rename to frontend/src/services/apps/hooks/index.ts
diff --git a/src/services/apps/hooks/use-apps.ts b/frontend/src/services/apps/hooks/use-apps.ts
similarity index 100%
rename from src/services/apps/hooks/use-apps.ts
rename to frontend/src/services/apps/hooks/use-apps.ts
diff --git a/src/services/apps/index.ts b/frontend/src/services/apps/index.ts
similarity index 100%
rename from src/services/apps/index.ts
rename to frontend/src/services/apps/index.ts
diff --git a/src/services/apps/redux/actions.ts b/frontend/src/services/apps/redux/actions.ts
similarity index 100%
rename from src/services/apps/redux/actions.ts
rename to frontend/src/services/apps/redux/actions.ts
diff --git a/src/services/apps/redux/index.ts b/frontend/src/services/apps/redux/index.ts
similarity index 100%
rename from src/services/apps/redux/index.ts
rename to frontend/src/services/apps/redux/index.ts
diff --git a/src/services/apps/redux/reducers.ts b/frontend/src/services/apps/redux/reducers.ts
similarity index 100%
rename from src/services/apps/redux/reducers.ts
rename to frontend/src/services/apps/redux/reducers.ts
diff --git a/src/services/apps/redux/selectors.ts b/frontend/src/services/apps/redux/selectors.ts
similarity index 100%
rename from src/services/apps/redux/selectors.ts
rename to frontend/src/services/apps/redux/selectors.ts
diff --git a/src/services/apps/redux/types.ts b/frontend/src/services/apps/redux/types.ts
similarity index 100%
rename from src/services/apps/redux/types.ts
rename to frontend/src/services/apps/redux/types.ts
diff --git a/src/services/apps/transformations.ts b/frontend/src/services/apps/transformations.ts
similarity index 100%
rename from src/services/apps/transformations.ts
rename to frontend/src/services/apps/transformations.ts
diff --git a/src/services/apps/types.ts b/frontend/src/services/apps/types.ts
similarity index 100%
rename from src/services/apps/types.ts
rename to frontend/src/services/apps/types.ts
diff --git a/src/services/auth/api.ts b/frontend/src/services/auth/api.ts
similarity index 100%
rename from src/services/auth/api.ts
rename to frontend/src/services/auth/api.ts
diff --git a/src/services/auth/hooks/index.ts b/frontend/src/services/auth/hooks/index.ts
similarity index 100%
rename from src/services/auth/hooks/index.ts
rename to frontend/src/services/auth/hooks/index.ts
diff --git a/src/services/auth/hooks/use-auth.ts b/frontend/src/services/auth/hooks/use-auth.ts
similarity index 100%
rename from src/services/auth/hooks/use-auth.ts
rename to frontend/src/services/auth/hooks/use-auth.ts
diff --git a/src/services/auth/index.ts b/frontend/src/services/auth/index.ts
similarity index 100%
rename from src/services/auth/index.ts
rename to frontend/src/services/auth/index.ts
diff --git a/src/services/auth/redux/actions.ts b/frontend/src/services/auth/redux/actions.ts
similarity index 100%
rename from src/services/auth/redux/actions.ts
rename to frontend/src/services/auth/redux/actions.ts
diff --git a/src/services/auth/redux/index.ts b/frontend/src/services/auth/redux/index.ts
similarity index 100%
rename from src/services/auth/redux/index.ts
rename to frontend/src/services/auth/redux/index.ts
diff --git a/src/services/auth/redux/reducers.ts b/frontend/src/services/auth/redux/reducers.ts
similarity index 100%
rename from src/services/auth/redux/reducers.ts
rename to frontend/src/services/auth/redux/reducers.ts
diff --git a/src/services/auth/redux/selectors.ts b/frontend/src/services/auth/redux/selectors.ts
similarity index 100%
rename from src/services/auth/redux/selectors.ts
rename to frontend/src/services/auth/redux/selectors.ts
diff --git a/src/services/auth/redux/types.ts b/frontend/src/services/auth/redux/types.ts
similarity index 100%
rename from src/services/auth/redux/types.ts
rename to frontend/src/services/auth/redux/types.ts
diff --git a/src/services/auth/transformations.ts b/frontend/src/services/auth/transformations.ts
similarity index 100%
rename from src/services/auth/transformations.ts
rename to frontend/src/services/auth/transformations.ts
diff --git a/src/services/auth/types.ts b/frontend/src/services/auth/types.ts
similarity index 100%
rename from src/services/auth/types.ts
rename to frontend/src/services/auth/types.ts
diff --git a/src/services/users/api.ts b/frontend/src/services/users/api.ts
similarity index 100%
rename from src/services/users/api.ts
rename to frontend/src/services/users/api.ts
diff --git a/src/services/users/hooks/index.ts b/frontend/src/services/users/hooks/index.ts
similarity index 100%
rename from src/services/users/hooks/index.ts
rename to frontend/src/services/users/hooks/index.ts
diff --git a/src/services/users/hooks/use-users.ts b/frontend/src/services/users/hooks/use-users.ts
similarity index 100%
rename from src/services/users/hooks/use-users.ts
rename to frontend/src/services/users/hooks/use-users.ts
diff --git a/src/services/users/index.ts b/frontend/src/services/users/index.ts
similarity index 100%
rename from src/services/users/index.ts
rename to frontend/src/services/users/index.ts
diff --git a/src/services/users/redux/actions.ts b/frontend/src/services/users/redux/actions.ts
similarity index 100%
rename from src/services/users/redux/actions.ts
rename to frontend/src/services/users/redux/actions.ts
diff --git a/src/services/users/redux/index.ts b/frontend/src/services/users/redux/index.ts
similarity index 100%
rename from src/services/users/redux/index.ts
rename to frontend/src/services/users/redux/index.ts
diff --git a/src/services/users/redux/reducers.ts b/frontend/src/services/users/redux/reducers.ts
similarity index 100%
rename from src/services/users/redux/reducers.ts
rename to frontend/src/services/users/redux/reducers.ts
diff --git a/src/services/users/redux/selectors.ts b/frontend/src/services/users/redux/selectors.ts
similarity index 100%
rename from src/services/users/redux/selectors.ts
rename to frontend/src/services/users/redux/selectors.ts
diff --git a/src/services/users/redux/types.ts b/frontend/src/services/users/redux/types.ts
similarity index 100%
rename from src/services/users/redux/types.ts
rename to frontend/src/services/users/redux/types.ts
diff --git a/src/services/users/transformations.ts b/frontend/src/services/users/transformations.ts
similarity index 100%
rename from src/services/users/transformations.ts
rename to frontend/src/services/users/transformations.ts
diff --git a/src/services/users/types.ts b/frontend/src/services/users/types.ts
similarity index 100%
rename from src/services/users/types.ts
rename to frontend/src/services/users/types.ts
diff --git a/tailwind.config.js b/frontend/tailwind.config.js
similarity index 100%
rename from tailwind.config.js
rename to frontend/tailwind.config.js
diff --git a/tsconfig.json b/frontend/tsconfig.json
similarity index 100%
rename from tsconfig.json
rename to frontend/tsconfig.json
diff --git a/yarn.lock b/frontend/yarn.lock
similarity index 100%
rename from yarn.lock
rename to frontend/yarn.lock
diff --git a/backend/run_app.sh b/run_app.sh
similarity index 100%
rename from backend/run_app.sh
rename to run_app.sh
-- 
GitLab