diff --git a/.gitignore b/.gitignore
index 448c3395c..7f1bab8df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,10 @@ composer.lock
 .DS_Store
 .idea/
 !.idea/copyright/
+!.idea/scopes/
+!.idea/modules.xml
+!.idea/hedgedoc.iml
+!.idea/icon.svg
 Thumbs.db
 npm-debug.log
 newrelic_agent.log
diff --git a/.idea/hedgedoc.iml b/.idea/hedgedoc.iml
new file mode 100644
index 000000000..5d5fcfbd3
--- /dev/null
+++ b/.idea/hedgedoc.iml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/.yarn" />
+      <excludeFolder url="file://$MODULE_DIR$/backend/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/backend/coverage" />
+      <excludeFolder url="file://$MODULE_DIR$/backend/coverage-e2e" />
+      <excludeFolder url="file://$MODULE_DIR$/backend/dist" />
+      <excludeFolder url="file://$MODULE_DIR$/backend/uploads" />
+      <excludeFolder url="file://$MODULE_DIR$/commons/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/commons/dist" />
+      <excludeFolder url="file://$MODULE_DIR$/commons/node_modules" />
+      <excludeFolder url="file://$MODULE_DIR$/docs/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/docs/site" />
+      <excludeFolder url="file://$MODULE_DIR$/docs/venv" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/.next" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/.swc" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/coverage" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/cypress/downloads" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/cypress/screenshots" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/dist" />
+      <excludeFolder url="file://$MODULE_DIR$/frontend/node_modules" />
+      <excludeFolder url="file://$MODULE_DIR$/html-to-react/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/html-to-react/dist" />
+      <excludeFolder url="file://$MODULE_DIR$/html-to-react/node_modules" />
+      <excludeFolder url="file://$MODULE_DIR$/markdown-it-plugins/.turbo" />
+      <excludeFolder url="file://$MODULE_DIR$/markdown-it-plugins/dist" />
+      <excludeFolder url="file://$MODULE_DIR$/markdown-it-plugins/node_modules" />
+      <excludeFolder url="file://$MODULE_DIR$/node_modules" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
diff --git a/.idea/icon.svg b/.idea/icon.svg
new file mode 100644
index 000000000..0d236216e
--- /dev/null
+++ b/.idea/icon.svg
@@ -0,0 +1,32 @@
+<!--
+SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
+
+SPDX-License-Identifier: LicenseRef-HedgeDoc-Icon-Usage-Guidelines
+-->
+<svg clip-rule="evenodd" fill-rule="evenodd" height="512" stroke-linejoin="round" stroke-miterlimit="2" width="512"
+     xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+    <linearGradient id="a" gradientTransform="matrix(200 -420 420 200 660 1340)" gradientUnits="userSpaceOnUse" x1="0"
+                    x2="1" y1="0" y2="0">
+        <stop offset="0" stop-color="#fcca8c"/>
+        <stop offset="1" stop-color="#dca055"/>
+    </linearGradient>
+    <g fill-rule="nonzero">
+        <path d="M486.075 281.925 512 255.998l-25.925-25.923 19.503-31.04-31.04-19.505 12.11-34.605-34.604-12.106 4.103-36.431-36.428-4.104-4.107-36.433-36.429 4.104-12.11-34.604-34.599 12.108-19.51-31.041-31.043 19.505L256 0l-25.922 25.925L199.035 6.42l-19.503 31.04-34.604-12.11-12.107 34.603-36.432-4.105-4.104 36.429-36.43 4.104 4.106 36.43-34.608 12.109 12.108 34.602-31.04 19.504 19.506 31.046L0 255.998l25.925 25.927L6.42 312.968l31.04 19.503-12.108 34.603 34.607 12.11-4.104 36.425 36.43 4.107 4.103 36.429 36.432-4.103 12.107 34.6 34.602-12.104 19.505 31.041 31.04-19.506 25.924 25.683 25.925-25.677 31.04 19.503 19.503-31.044 34.607 12.11 12.106-34.603 36.432 4.103 4.103-36.432 36.432-4.103-4.106-36.43 34.606-12.109-12.11-34.606 31.041-19.503z"
+              fill="#b51f08"/>
+        <path d="M433.585 296.98c0-50.105-40.618-90.725-90.724-90.725-24.888 0-47.432 10.03-63.822 26.26l-.011-.011-23.116 23.117-18.9-18.901c-16.629-18.971-41.022-30.965-68.228-30.965-50.107 0-90.725 40.62-90.725 90.725 0 26.183 11.103 49.758 28.843 66.315L256 511.815l145.804-145.898c18.218-17.147 31.781-41.342 31.781-68.937"
+              fill="#fcca8c"/>
+        <path d="m885.579 884.73-54.862-54.862c-48.267-55.067-119.071-89.879-198.042-89.879-145.442 0-263.342 117.904-263.342 263.341 0 76 32.23 144.43 83.721 192.49l432.779 432.55"
+              fill="url(#a)" transform="translate(-49.181 -49.18) scale(.34451)" style="fill:url(#a)"/>
+    </g>
+    <path d="m256 511.815-.088-256.194" fill="none" style="stroke-width:.344513"/>
+    <g fill-rule="nonzero">
+        <path d="M281.9 486.052c-6.642-6.666-15.82-10.787-25.95-10.787-10.135 0-19.31 4.12-25.952 10.787.106 14.242 11.681 25.756 25.95 25.756 14.268 0 25.845-11.517 25.952-25.756M225.64 329.17c0 10.955-8.878 19.833-19.835 19.833-10.95 0-19.83-8.878-19.83-19.833 0-10.956 8.88-19.834 19.83-19.834 10.957 0 19.834 8.878 19.834 19.834"
+              fill="#010007"/>
+        <path d="M218.837 326.198a5.49 5.49 0 0 1-5.495 5.491 5.492 5.492 0 0 1-5.498-5.491 5.5 5.5 0 0 1 5.498-5.499 5.499 5.499 0 0 1 5.495 5.499"
+              fill="#fffffa"/>
+        <path d="M326.218 329.17c0 10.956-8.878 19.834-19.834 19.834-10.952 0-19.833-8.878-19.833-19.833 0-10.956 8.881-19.834 19.833-19.834 10.956 0 19.834 8.878 19.834 19.834"
+              fill="#010007"/>
+        <path d="M319.414 326.198a5.492 5.492 0 0 1-5.495 5.491 5.492 5.492 0 0 1-5.499-5.491 5.5 5.5 0 0 1 5.499-5.499 5.5 5.5 0 0 1 5.495 5.499"
+              fill="#fffffa"/>
+    </g>
+</svg>
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..b37dc60d1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/hedgedoc.iml" filepath="$PROJECT_DIR$/.idea/hedgedoc.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/scopes/Backend.xml b/.idea/scopes/Backend.xml
new file mode 100644
index 000000000..e52571b91
--- /dev/null
+++ b/.idea/scopes/Backend.xml
@@ -0,0 +1,3 @@
+<component name="DependencyValidationManager">
+  <scope name="Backend" pattern="file[hedgedoc]:backend//*" />
+</component>
\ No newline at end of file
diff --git a/.idea/scopes/Commons.xml b/.idea/scopes/Commons.xml
new file mode 100644
index 000000000..68ac53d5a
--- /dev/null
+++ b/.idea/scopes/Commons.xml
@@ -0,0 +1,3 @@
+<component name="DependencyValidationManager">
+  <scope name="Commons" pattern="file[hedgedoc]:commons//*" />
+</component>
\ No newline at end of file
diff --git a/.idea/scopes/Frontend.xml b/.idea/scopes/Frontend.xml
new file mode 100644
index 000000000..bbdef5c18
--- /dev/null
+++ b/.idea/scopes/Frontend.xml
@@ -0,0 +1,3 @@
+<component name="DependencyValidationManager">
+  <scope name="Frontend" pattern="file[hedgedoc]:frontend//*" />
+</component>
\ No newline at end of file