diff --git a/alfa-client/Jenkinsfile.e2e b/alfa-client/Jenkinsfile.e2e
index 5483d632f0f90a11e2581031a94435ca7781f220..9b55f66a5146de14b99bdb88d22821c906c2d13e 100644
--- a/alfa-client/Jenkinsfile.e2e
+++ b/alfa-client/Jenkinsfile.e2e
@@ -802,7 +802,7 @@ Map getUserManagerEnv(String namespace, dbPort){
 }
 
 Map getUserManagerDatabaseSecret(String namespace) {
-    return readJSON ( text: sh (script: "kubectl get secret ozg-mongodb-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true))
+    return readJSON ( text: sh (script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true))
 }
 
 Void sendFailureMessage() {
diff --git a/alfa-client/Jenkinsfile.e2e.static b/alfa-client/Jenkinsfile.e2e.static
index 55ddf3568c35388436ffd98d9a9bce6533ea1ce2..2e499f9abbaf8c2918628b462f2f79a056df66d6 100644
--- a/alfa-client/Jenkinsfile.e2e.static
+++ b/alfa-client/Jenkinsfile.e2e.static
@@ -419,7 +419,7 @@ Map getUserManagerEnv(String namespace, dbPort){
 }
 
 Map getUserManagerDatabaseSecret(String namespace) {
-    return readJSON(text: sh(script: "kubectl get secret ozg-mongodb-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true))
+    return readJSON(text: sh(script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true))
 }
 
 String makePasswordUrlConform(String password) {
diff --git a/alfa-client/apps/admin/src/main.ts b/alfa-client/apps/admin/src/main.ts
index 6d42d30201df9c316b14c5f05c90afcc7d1de68f..02a54c5a24b9143e261359a7e30fb266e04d5fbe 100644
--- a/alfa-client/apps/admin/src/main.ts
+++ b/alfa-client/apps/admin/src/main.ts
@@ -2,7 +2,6 @@ import { EnvironmentModule, loadEnvironment } from '@alfa-client/environment-sha
 import { enableProdMode, importProvidersFrom } from '@angular/core';
 import { isNil } from 'lodash-es';
 
-import { UserProviders } from '@admin-client/user';
 import { ApiRootModule } from '@alfa-client/api-root-shared';
 import { NavigationSharedModule } from '@alfa-client/navigation-shared';
 import { registerLocaleData } from '@angular/common';
@@ -17,10 +16,11 @@ import { StoreModule } from '@ngrx/store';
 import { StoreDevtoolsModule } from '@ngrx/store-devtools';
 import { OAuthModule } from 'angular-oauth2-oidc';
 import { HttpUnauthorizedInterceptor } from 'authentication';
-import { ConfigurationsProviders } from '../../../libs/admin/configuration/src/lib/configuration.providers';
-import { OrganisationEinheitProviders } from '../../../libs/admin/organisationseinheit/src/lib/organisations-einheit.providers';
-import { PostfachProviders } from '../../../libs/admin/postfach/src/lib/postfach.providers';
-import { SettingsProviders } from '../../../libs/admin/settings/src/lib/settings.providers';
+import { ConfigurationsProviders } from 'libs/admin/configuration/src/lib/configuration.providers';
+import { OrganisationEinheitProviders } from 'libs/admin/organisations-einheit/src/lib/organisations-einheit.providers';
+import { PostfachProviders } from 'libs/admin/postfach/src/lib/postfach.providers';
+import { SettingsProviders } from 'libs/admin/settings/src/lib/settings.providers';
+import { UserProviders } from 'libs/admin/user/src/lib/user.providers';
 import { AppComponent } from './app/app.component';
 import { appRoutes } from './app/app.routes';
 import { environment } from './environments/environment';
diff --git a/alfa-client/libs/admin/configuration/.eslintrc.json b/alfa-client/libs/admin/configuration/.eslintrc.json
index b10f9813a8f5c59432cf245301dc4d01a8031fd1..7474579d583c598ae092a906b3e6cf1ad3c08a50 100644
--- a/alfa-client/libs/admin/configuration/.eslintrc.json
+++ b/alfa-client/libs/admin/configuration/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/configuration/jest.config.ts b/alfa-client/libs/admin/configuration/jest.config.ts
index 31985e8242de6a721fe0c3cfc7f7da1c94ce9cad..7b8ab3df6e12af6c69e5a52778822c7fd33ec9e3 100644
--- a/alfa-client/libs/admin/configuration/jest.config.ts
+++ b/alfa-client/libs/admin/configuration/jest.config.ts
@@ -1,5 +1,5 @@
 export default {
-  displayName: 'configuration',
+  displayName: 'admin-configuration',
   preset: '../../../jest.preset.js',
   setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
   coverageDirectory: '../../../coverage/libs/admin/configuration',
diff --git a/alfa-client/libs/admin/configuration/project.json b/alfa-client/libs/admin/configuration/project.json
index 638cb4c43bb189ff40298ace4bdaa10ccb60d99c..85442c982e002b2b89a47b9876f95fdf93f02d4f 100644
--- a/alfa-client/libs/admin/configuration/project.json
+++ b/alfa-client/libs/admin/configuration/project.json
@@ -1,5 +1,5 @@
 {
-  "name": "configuration",
+  "name": "admin-configuration",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
   "sourceRoot": "libs/admin/configuration/src",
   "prefix": "admin",
diff --git a/alfa-client/libs/admin/organisationseinheit/.eslintrc.json b/alfa-client/libs/admin/organisations-einheit-shared/.eslintrc.json
similarity index 91%
rename from alfa-client/libs/admin/organisationseinheit/.eslintrc.json
rename to alfa-client/libs/admin/organisations-einheit-shared/.eslintrc.json
index b10f9813a8f5c59432cf245301dc4d01a8031fd1..7474579d583c598ae092a906b3e6cf1ad3c08a50 100644
--- a/alfa-client/libs/admin/organisationseinheit/.eslintrc.json
+++ b/alfa-client/libs/admin/organisations-einheit-shared/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/README.md b/alfa-client/libs/admin/organisations-einheit-shared/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a5be82c2249514847db3cc868c6a6d902ad28358
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit-shared/README.md
@@ -0,0 +1,7 @@
+# admin-organisations-einheit-shared
+
+This library was generated with [Nx](https://nx.dev).
+
+## Running unit tests
+
+Run `nx test admin-organisations-einheit-shared` to execute the unit tests.
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/jest.config.ts b/alfa-client/libs/admin/organisations-einheit-shared/jest.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..252ea166a7db0491a829bbaad260b606924ef8c2
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit-shared/jest.config.ts
@@ -0,0 +1,21 @@
+export default {
+  displayName: 'admin-organisations-einheit-shared',
+  preset: '../../../jest.preset.js',
+  setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
+  coverageDirectory: '../../../coverage/libs/admin/organisations-einheit-shared',
+  transform: {
+    '^.+\\.(ts|mjs|js|html)$': [
+      'jest-preset-angular',
+      {
+        tsconfig: '<rootDir>/tsconfig.spec.json',
+        stringifyContentPathRegex: '\\.(html|svg)$',
+      },
+    ],
+  },
+  transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
+  snapshotSerializers: [
+    'jest-preset-angular/build/serializers/no-ng-attributes',
+    'jest-preset-angular/build/serializers/ng-snapshot',
+    'jest-preset-angular/build/serializers/html-comment',
+  ],
+};
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/project.json b/alfa-client/libs/admin/organisations-einheit-shared/project.json
new file mode 100644
index 0000000000000000000000000000000000000000..62237ee97b848fa0177621c828ebea341b338ad2
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit-shared/project.json
@@ -0,0 +1,22 @@
+{
+  "name": "admin-organisations-einheit-shared",
+  "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+  "sourceRoot": "libs/admin/organisations-einheit-shared/src",
+  "prefix": "admin",
+  "projectType": "library",
+  "tags": [],
+  "targets": {
+    "test": {
+      "executor": "@nx/jest:jest",
+      "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
+      "options": {
+        "tsConfig": "libs/admin/organisations-einheit-shared/tsconfig.spec.json",
+        "jestConfig": "libs/admin/organisations-einheit-shared/jest.config.ts"
+      }
+    },
+    "lint": {
+      "executor": "@nx/eslint:lint",
+      "outputs": ["{options.outputFile}"]
+    }
+  }
+}
diff --git a/alfa-client/libs/admin/organisations-einheit-shared/src/index.ts b/alfa-client/libs/admin/organisations-einheit-shared/src/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/alfa-client/libs/admin/organisationseinheit/src/test-setup.ts b/alfa-client/libs/admin/organisations-einheit-shared/src/test-setup.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/test-setup.ts
rename to alfa-client/libs/admin/organisations-einheit-shared/src/test-setup.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/tsconfig.json b/alfa-client/libs/admin/organisations-einheit-shared/tsconfig.json
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/tsconfig.json
rename to alfa-client/libs/admin/organisations-einheit-shared/tsconfig.json
diff --git a/alfa-client/libs/admin/organisationseinheit/tsconfig.lib.json b/alfa-client/libs/admin/organisations-einheit-shared/tsconfig.lib.json
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/tsconfig.lib.json
rename to alfa-client/libs/admin/organisations-einheit-shared/tsconfig.lib.json
diff --git a/alfa-client/libs/admin/organisationseinheit/tsconfig.spec.json b/alfa-client/libs/admin/organisations-einheit-shared/tsconfig.spec.json
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/tsconfig.spec.json
rename to alfa-client/libs/admin/organisations-einheit-shared/tsconfig.spec.json
diff --git a/alfa-client/libs/admin/organisations-einheit/.eslintrc.json b/alfa-client/libs/admin/organisations-einheit/.eslintrc.json
new file mode 100644
index 0000000000000000000000000000000000000000..7474579d583c598ae092a906b3e6cf1ad3c08a50
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/.eslintrc.json
@@ -0,0 +1,33 @@
+{
+  "extends": ["../../../.eslintrc.json"],
+  "ignorePatterns": ["!**/*"],
+  "overrides": [
+    {
+      "files": ["*.ts"],
+      "extends": ["plugin:@nx/angular", "plugin:@angular-eslint/template/process-inline-templates"],
+      "rules": {
+        "@angular-eslint/directive-selector": [
+          "error",
+          {
+            "type": "attribute",
+            "prefix": "admin",
+            "style": "camelCase"
+          }
+        ],
+        "@angular-eslint/component-selector": [
+          "error",
+          {
+            "type": "element",
+            "prefix": "admin",
+            "style": "kebab-case"
+          }
+        ]
+      }
+    },
+    {
+      "files": ["*.html"],
+      "extends": ["plugin:@nx/angular-template"],
+      "rules": {}
+    }
+  ]
+}
diff --git a/alfa-client/libs/admin/organisationseinheit/README.md b/alfa-client/libs/admin/organisations-einheit/README.md
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/README.md
rename to alfa-client/libs/admin/organisations-einheit/README.md
diff --git a/alfa-client/libs/admin/organisationseinheit/jest.config.ts b/alfa-client/libs/admin/organisations-einheit/jest.config.ts
similarity index 91%
rename from alfa-client/libs/admin/organisationseinheit/jest.config.ts
rename to alfa-client/libs/admin/organisations-einheit/jest.config.ts
index bb7924e912b0df780f590686f6f8f60e49b9125b..c01b9ea15a0bf53b365f4b52ed6c61fab54ee67a 100644
--- a/alfa-client/libs/admin/organisationseinheit/jest.config.ts
+++ b/alfa-client/libs/admin/organisations-einheit/jest.config.ts
@@ -1,8 +1,8 @@
 export default {
-  displayName: 'organisations-einheit',
+  displayName: 'admin-organisations-einheit',
   preset: '../../../jest.preset.js',
   setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
-  coverageDirectory: '../../../coverage/libs/admin/organisationseinheit',
+  coverageDirectory: '../../../coverage/libs/admin/organisations-einheit',
   transform: {
     '^.+\\.(ts|mjs|js|html)$': [
       'jest-preset-angular',
diff --git a/alfa-client/libs/admin/organisationseinheit/project.json b/alfa-client/libs/admin/organisations-einheit/project.json
similarity index 72%
rename from alfa-client/libs/admin/organisationseinheit/project.json
rename to alfa-client/libs/admin/organisations-einheit/project.json
index cbe704bffa5e49fda3e3d98bb466f61341092926..4701aec6482cd3f2137dc214c2f07a5c8849f9c5 100644
--- a/alfa-client/libs/admin/organisationseinheit/project.json
+++ b/alfa-client/libs/admin/organisations-einheit/project.json
@@ -1,7 +1,7 @@
 {
-  "name": "organisations-einheit",
+  "name": "admin-organisations-einheit",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
-  "sourceRoot": "libs/admin/organisationseinheit/src",
+  "sourceRoot": "libs/admin/organisations-einheit/src",
   "prefix": "admin",
   "projectType": "library",
   "tags": [],
@@ -10,7 +10,7 @@
       "executor": "@nx/jest:jest",
       "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
       "options": {
-        "jestConfig": "libs/admin/organisationseinheit/jest.config.ts",
+        "jestConfig": "libs/admin/organisations-einheit/jest.config.ts",
         "tsConfig": "libs/admin/settings/tsconfig.spec.json"
       }
     },
diff --git a/alfa-client/libs/admin/organisations-einheit/src/index.ts b/alfa-client/libs/admin/organisations-einheit/src/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7a6a9794f2dad40dbf1de0082913860aa6ad50d5
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/src/index.ts
@@ -0,0 +1,3 @@
+export * from './lib/organisations-einheit-container/organisations-einheit-container.component';
+export * from './lib/organisations-einheit-form-container/organisations-einheit-form-container.component';
+export * from './lib/organisations-einheit.service';
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.html
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.html
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.html
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
similarity index 98%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
index 9eece78ecb12ad1c5f2332b4aae1c1337050b776..fd2379e0a3e0765af8bee4c59e9d0fc8064d2922 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.spec.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.spec.ts
@@ -10,8 +10,8 @@ import { of } from 'rxjs';
 import { createAdminOrganisationsEinheitListResource } from '../../../test/organisations-einheit';
 import { AdminOrganisationsEinheitListResource } from '../organisations-einheit.model';
 import { OrganisationsEinheitService } from '../organisationseinheit.service';
+import { OrganisationsEinheitListComponent } from './organisations-einheit-list/organisationseinheit-list.component';
 import { OrganisationsEinheitContainerComponent } from './organisationseinheit-container.component';
-import { OrganisationsEinheitListComponent } from './organisationseinheit-list/organisationseinheit-list.component';
 
 describe('OrganisationsEinheitContainerComponent', () => {
   let component: OrganisationsEinheitContainerComponent;
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
similarity index 84%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
index 97bca14239031ba71669f966c03cb3e421c138a3..1f86137c00bfa5f6f32ff3df463c03e3bfd63db9 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-container.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-container.component.ts
@@ -5,12 +5,12 @@ import { Component, OnInit } from '@angular/core';
 import { Observable } from 'rxjs';
 import { OrganisationsEinheitListLinkRel } from '../organisations-einheit.linkrel';
 import { AdminOrganisationsEinheitListResource } from '../organisations-einheit.model';
-import { OrganisationsEinheitService } from '../organisationseinheit.service';
-import { OrganisationsEinheitListComponent } from './organisationseinheit-list/organisationseinheit-list.component';
+import { OrganisationsEinheitService } from '../organisations-einheit.service';
+import { OrganisationsEinheitListComponent } from './organisations-einheit-list/organisations-einheit-list.component';
 
 @Component({
   selector: 'organisations-einheit-container',
-  templateUrl: './organisationseinheit-container.component.html',
+  templateUrl: './organisations-einheit-container.component.html',
   standalone: true,
   imports: [CommonModule, UiModule, OrganisationsEinheitListComponent, TechSharedModule],
 })
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.html
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.html
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.spec.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
similarity index 96%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
index 43b119c603d919bca9cbb23e9a2d7fb1cff86ab6..42ec1f43993613de5d6268f6a82a92c98fe2733b 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-container/organisationseinheit-list/organisationseinheit-list.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-container/organisations-einheit-list/organisations-einheit-list.component.ts
@@ -7,7 +7,7 @@ import { AdminOrganisationsEinheitResource, AdminOrganisationsEinheitSyncResult
 
 @Component({
   selector: 'organisations-einheit-list',
-  templateUrl: './organisationseinheit-list.component.html',
+  templateUrl: './organisations-einheit-list.component.html',
   standalone: true,
   imports: [CommonModule, ListComponent, ListItemComponent, ExclamationIconComponent, MatTooltip, TechSharedModule],
 })
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.html
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.html
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.html
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.spec.ts
similarity index 98%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.spec.ts
index f0b5036640aa7b1dc1a6b166bb21cf0ca2b28e0a..31ac44c99aab537d59a08665c44f60036befe883 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.spec.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.spec.ts
@@ -8,8 +8,8 @@ import { of } from 'rxjs';
 import { createAdminOrganisationsEinheitResource } from '../../../test/organisations-einheit';
 import { AdminOrganisationsEinheitResource } from '../organisations-einheit.model';
 import { OrganisationsEinheitService } from '../organisationseinheit.service';
+import { OrganisationsEinheitFormComponent } from './organisations-einheit-form/organisationseinheit-form.component';
 import { OrganisationsEinheitFormContainerComponent } from './organisationseinheit-form-container.component';
-import { OrganisationsEinheitFormComponent } from './organisationseinheit-form/organisationseinheit-form.component';
 
 describe('OrganisationsEinheitFormContainerComponent', () => {
   let component: OrganisationsEinheitFormContainerComponent;
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.ts
similarity index 84%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.ts
index 36cd70a2f2955bdee25dde1b93f6db9724ede77b..47296f587d5e7871b5fec6bc1280bd4841a7f68f 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form-container.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form-container.component.ts
@@ -5,12 +5,12 @@ import { Component, OnInit } from '@angular/core';
 import { Observable } from 'rxjs';
 import { OrganisationsEinheitListLinkRel } from '../organisations-einheit.linkrel';
 import { AdminOrganisationsEinheitResource } from '../organisations-einheit.model';
-import { OrganisationsEinheitService } from '../organisationseinheit.service';
-import { OrganisationsEinheitFormComponent } from './organisationseinheit-form/organisationseinheit-form.component';
+import { OrganisationsEinheitService } from '../organisations-einheit.service';
+import { OrganisationsEinheitFormComponent } from './organisations-einheit-form/organisations-einheit-form.component';
 
 @Component({
   selector: 'organisations-einheit-form-container',
-  templateUrl: './organisationseinheit-form-container.component.html',
+  templateUrl: './organisations-einheit-form-container.component.html',
   standalone: true,
   imports: [CommonModule, UiModule, OrganisationsEinheitFormComponent],
 })
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.html
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.html
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.html
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.spec.ts
similarity index 98%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.spec.ts
index b3915bf8364da9205851b0ad29654f2cfffc6e61..6d250e106095c71777962a557bced31fe189cce4 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.spec.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.spec.ts
@@ -10,8 +10,8 @@ import { of } from 'rxjs';
 import { createAdminOrganisationsEinheitResource } from '../../../../test/organisations-einheit';
 import { AdminOrganisationsEinheitResource } from '../../organisations-einheit.model';
 import { OrganisationsEinheitService } from '../../organisationseinheit.service';
+import { OrganisationsEinheitSignaturComponent } from './organisations-einheit-signatur/organisationseinheit-signatur.component';
 import { OrganisationsEinheitFormComponent } from './organisationseinheit-form.component';
-import { OrganisationsEinheitSignaturComponent } from './organisationseinheit-signatur/organisationseinheit-signatur.component';
 import { OrganisationsEinheitFormService } from './organisationseinheit.formservice';
 
 describe('OrganisationsEinheitFormComponent', () => {
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.ts
similarity index 91%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.ts
index 6c19d78235770d92ad60af1dfc5bd46f1ba8d363..96b124c6feb73dd4c631a6fa7c085f099b85f1ea 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-form.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-form.component.ts
@@ -6,12 +6,12 @@ import { Resource } from '@ngxp/rest';
 import { ButtonWithSpinnerComponent } from '@ods/component';
 import { Observable, of } from 'rxjs';
 import { AdminOrganisationsEinheitResource } from '../../organisations-einheit.model';
-import { OrganisationsEinheitSignaturComponent } from './organisationseinheit-signatur/organisationseinheit-signatur.component';
-import { OrganisationsEinheitFormService } from './organisationseinheit.formservice';
+import { OrganisationsEinheitSignaturComponent } from './organisations-einheit-signatur/organisations-einheit-signatur.component';
+import { OrganisationsEinheitFormService } from './organisations-einheit.formservice';
 
 @Component({
   selector: 'organisations-einheit-form',
-  templateUrl: './organisationseinheit-form.component.html',
+  templateUrl: './organisations-einheit-form.component.html',
   providers: [OrganisationsEinheitFormService],
   standalone: true,
   imports: [CommonModule, FormsModule, ReactiveFormsModule, OrganisationsEinheitSignaturComponent, ButtonWithSpinnerComponent],
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.html b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.html
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.html
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.html
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.spec.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.spec.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.ts
similarity index 86%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.ts
index bf01f6d47277ceaf590b2a4c1398a8c4e64cbb91..2287f5440c6a261051d4a99a934094657002c48c 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit-signatur/organisationseinheit-signatur.component.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit-signatur/organisations-einheit-signatur.component.ts
@@ -1,11 +1,11 @@
 import { Component } from '@angular/core';
 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 import { TextareaEditorComponent } from '@ods/component';
-import { OrganisationsEinheitFormService } from '../organisationseinheit.formservice';
+import { OrganisationsEinheitFormService } from '../organisations-einheit.formservice';
 
 @Component({
   selector: 'organisations-einheit-signatur',
-  templateUrl: './organisationseinheit-signatur.component.html',
+  templateUrl: './organisations-einheit-signatur.component.html',
   standalone: true,
   imports: [FormsModule, ReactiveFormsModule, TextareaEditorComponent],
 })
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit.formservice.spec.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit.formservice.spec.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit.formservice.ts
similarity index 98%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit.formservice.ts
index 7a73630a6068807d34c910d4e800264dc1f078ff..335663d800de638156cea84266e79b4808cbaf88 100644
--- a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts
+++ b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-form-container/organisations-einheit-form/organisations-einheit.formservice.ts
@@ -3,7 +3,7 @@ import { Injectable } from '@angular/core';
 import { FormControl, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
 import { Observable } from 'rxjs';
 import { AdminOrganisationsEinheitResource } from '../../organisations-einheit.model';
-import { OrganisationsEinheitService } from '../../organisationseinheit.service';
+import { OrganisationsEinheitService } from '../../organisations-einheit.service';
 
 @Injectable()
 export class OrganisationsEinheitFormService extends AbstractFormService {
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit-list-resource.service.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-list-resource.service.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit-list-resource.service.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-list-resource.service.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit-resource.service.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-resource.service.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit-resource.service.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit-resource.service.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.linkrel.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.linkrel.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.linkrel.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.linkrel.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.model.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.model.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.model.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.model.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.providers.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.providers.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisations-einheit.providers.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.providers.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit.service.spec.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.service.spec.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit.service.spec.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.service.spec.ts
diff --git a/alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit.service.ts b/alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.service.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/src/lib/organisationseinheit.service.ts
rename to alfa-client/libs/admin/organisations-einheit/src/lib/organisations-einheit.service.ts
diff --git a/alfa-client/libs/admin/organisations-einheit/src/test-setup.ts b/alfa-client/libs/admin/organisations-einheit/src/test-setup.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c408668266d2fec3a9803c0ec044bc163fb987fe
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/src/test-setup.ts
@@ -0,0 +1,12 @@
+import '@testing-library/jest-dom';
+import 'jest-preset-angular/setup-jest';
+
+import { getTestBed } from '@angular/core/testing';
+import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
+
+getTestBed().resetTestEnvironment();
+getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
+  teardown: { destroyAfterEach: false },
+  errorOnUnknownProperties: true,
+  errorOnUnknownElements: true,
+});
diff --git a/alfa-client/libs/admin/organisationseinheit/test/organisations-einheit.ts b/alfa-client/libs/admin/organisations-einheit/test/organisations-einheit.ts
similarity index 100%
rename from alfa-client/libs/admin/organisationseinheit/test/organisations-einheit.ts
rename to alfa-client/libs/admin/organisations-einheit/test/organisations-einheit.ts
diff --git a/alfa-client/libs/admin/organisations-einheit/tsconfig.json b/alfa-client/libs/admin/organisations-einheit/tsconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..8ca9ad312c2bd4dc364383853ddd91a2ed8f86fd
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/tsconfig.json
@@ -0,0 +1,16 @@
+{
+  "extends": "../../../tsconfig.base.json",
+  "files": [],
+  "include": [],
+  "references": [
+    {
+      "path": "./tsconfig.lib.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    }
+  ],
+  "compilerOptions": {
+    "target": "es2022"
+  }
+}
diff --git a/alfa-client/libs/admin/organisations-einheit/tsconfig.lib.json b/alfa-client/libs/admin/organisations-einheit/tsconfig.lib.json
new file mode 100644
index 0000000000000000000000000000000000000000..8441346f6e5858b2ef4235cb3c3160eda256f94a
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/tsconfig.lib.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "declaration": true,
+    "declarationMap": true,
+    "inlineSources": true,
+    "types": []
+  },
+  "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"],
+  "include": ["src/**/*.ts"]
+}
diff --git a/alfa-client/libs/admin/organisations-einheit/tsconfig.spec.json b/alfa-client/libs/admin/organisations-einheit/tsconfig.spec.json
new file mode 100644
index 0000000000000000000000000000000000000000..723782fbd367969806c5992aea882773ab65af8b
--- /dev/null
+++ b/alfa-client/libs/admin/organisations-einheit/tsconfig.spec.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "module": "commonjs",
+    "types": ["jest", "node"],
+    "target": "ES2022",
+    "useDefineForClassFields": false
+  },
+  "files": ["src/test-setup.ts"],
+  "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts", "jest.config.ts"]
+}
diff --git a/alfa-client/libs/admin/organisationseinheit/src/index.ts b/alfa-client/libs/admin/organisationseinheit/src/index.ts
deleted file mode 100644
index dbee0e0e6a798679f5723f12d71d1c59980ab089..0000000000000000000000000000000000000000
--- a/alfa-client/libs/admin/organisationseinheit/src/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from './lib/organisationseinheit-container/organisationseinheit-container.component';
-export * from './lib/organisationseinheit-form-container/organisationseinheit-form-container.component';
-export * from './lib/organisationseinheit.service';
diff --git a/alfa-client/libs/admin/postfach-shared/.eslintrc.json b/alfa-client/libs/admin/postfach-shared/.eslintrc.json
new file mode 100644
index 0000000000000000000000000000000000000000..7474579d583c598ae092a906b3e6cf1ad3c08a50
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/.eslintrc.json
@@ -0,0 +1,33 @@
+{
+  "extends": ["../../../.eslintrc.json"],
+  "ignorePatterns": ["!**/*"],
+  "overrides": [
+    {
+      "files": ["*.ts"],
+      "extends": ["plugin:@nx/angular", "plugin:@angular-eslint/template/process-inline-templates"],
+      "rules": {
+        "@angular-eslint/directive-selector": [
+          "error",
+          {
+            "type": "attribute",
+            "prefix": "admin",
+            "style": "camelCase"
+          }
+        ],
+        "@angular-eslint/component-selector": [
+          "error",
+          {
+            "type": "element",
+            "prefix": "admin",
+            "style": "kebab-case"
+          }
+        ]
+      }
+    },
+    {
+      "files": ["*.html"],
+      "extends": ["plugin:@nx/angular-template"],
+      "rules": {}
+    }
+  ]
+}
diff --git a/alfa-client/libs/admin/postfach-shared/README.md b/alfa-client/libs/admin/postfach-shared/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..874583d490267251cb09a68b844e47c70fe9dd8f
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/README.md
@@ -0,0 +1,7 @@
+# admin-postfach-shared
+
+This library was generated with [Nx](https://nx.dev).
+
+## Running unit tests
+
+Run `nx test admin-postfach-shared` to execute the unit tests.
diff --git a/alfa-client/libs/admin/postfach-shared/jest.config.ts b/alfa-client/libs/admin/postfach-shared/jest.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b2e076949998d472951970fe19ca5c4fcca17f70
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/jest.config.ts
@@ -0,0 +1,21 @@
+export default {
+  displayName: 'admin-postfach-shared',
+  preset: '../../../jest.preset.js',
+  setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
+  coverageDirectory: '../../../coverage/libs/admin/postfach-shared',
+  transform: {
+    '^.+\\.(ts|mjs|js|html)$': [
+      'jest-preset-angular',
+      {
+        tsconfig: '<rootDir>/tsconfig.spec.json',
+        stringifyContentPathRegex: '\\.(html|svg)$',
+      },
+    ],
+  },
+  transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
+  snapshotSerializers: [
+    'jest-preset-angular/build/serializers/no-ng-attributes',
+    'jest-preset-angular/build/serializers/ng-snapshot',
+    'jest-preset-angular/build/serializers/html-comment',
+  ],
+};
diff --git a/alfa-client/libs/admin/postfach-shared/project.json b/alfa-client/libs/admin/postfach-shared/project.json
new file mode 100644
index 0000000000000000000000000000000000000000..155cbb90bb5b88bbd755298a4255f97a8847e1e1
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/project.json
@@ -0,0 +1,22 @@
+{
+  "name": "admin-postfach-shared",
+  "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+  "sourceRoot": "libs/admin/postfach-shared/src",
+  "prefix": "admin",
+  "projectType": "library",
+  "tags": [],
+  "targets": {
+    "test": {
+      "executor": "@nx/jest:jest",
+      "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
+      "options": {
+        "tsConfig": "libs/admin/user/tsconfig.spec.json",
+        "jestConfig": "libs/admin/postfach-shared/jest.config.ts"
+      }
+    },
+    "lint": {
+      "executor": "@nx/eslint:lint",
+      "outputs": ["{options.outputFile}"]
+    }
+  }
+}
diff --git a/alfa-client/libs/admin/postfach-shared/src/index.ts b/alfa-client/libs/admin/postfach-shared/src/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/alfa-client/libs/admin/postfach-shared/src/test-setup.ts b/alfa-client/libs/admin/postfach-shared/src/test-setup.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c408668266d2fec3a9803c0ec044bc163fb987fe
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/src/test-setup.ts
@@ -0,0 +1,12 @@
+import '@testing-library/jest-dom';
+import 'jest-preset-angular/setup-jest';
+
+import { getTestBed } from '@angular/core/testing';
+import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
+
+getTestBed().resetTestEnvironment();
+getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
+  teardown: { destroyAfterEach: false },
+  errorOnUnknownProperties: true,
+  errorOnUnknownElements: true,
+});
diff --git a/alfa-client/libs/admin/postfach-shared/tsconfig.json b/alfa-client/libs/admin/postfach-shared/tsconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..8ca9ad312c2bd4dc364383853ddd91a2ed8f86fd
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/tsconfig.json
@@ -0,0 +1,16 @@
+{
+  "extends": "../../../tsconfig.base.json",
+  "files": [],
+  "include": [],
+  "references": [
+    {
+      "path": "./tsconfig.lib.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    }
+  ],
+  "compilerOptions": {
+    "target": "es2022"
+  }
+}
diff --git a/alfa-client/libs/admin/postfach-shared/tsconfig.lib.json b/alfa-client/libs/admin/postfach-shared/tsconfig.lib.json
new file mode 100644
index 0000000000000000000000000000000000000000..8441346f6e5858b2ef4235cb3c3160eda256f94a
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/tsconfig.lib.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "declaration": true,
+    "declarationMap": true,
+    "inlineSources": true,
+    "types": []
+  },
+  "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"],
+  "include": ["src/**/*.ts"]
+}
diff --git a/alfa-client/libs/admin/postfach-shared/tsconfig.spec.json b/alfa-client/libs/admin/postfach-shared/tsconfig.spec.json
new file mode 100644
index 0000000000000000000000000000000000000000..723782fbd367969806c5992aea882773ab65af8b
--- /dev/null
+++ b/alfa-client/libs/admin/postfach-shared/tsconfig.spec.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "module": "commonjs",
+    "types": ["jest", "node"],
+    "target": "ES2022",
+    "useDefineForClassFields": false
+  },
+  "files": ["src/test-setup.ts"],
+  "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts", "jest.config.ts"]
+}
diff --git a/alfa-client/libs/admin/postfach/.eslintrc.json b/alfa-client/libs/admin/postfach/.eslintrc.json
index b10f9813a8f5c59432cf245301dc4d01a8031fd1..7474579d583c598ae092a906b3e6cf1ad3c08a50 100644
--- a/alfa-client/libs/admin/postfach/.eslintrc.json
+++ b/alfa-client/libs/admin/postfach/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/postfach/jest.config.ts b/alfa-client/libs/admin/postfach/jest.config.ts
index dc57cca42c0289914262a7654b12d332edf03160..17564088672789bf1937421fc459159f663d0aff 100644
--- a/alfa-client/libs/admin/postfach/jest.config.ts
+++ b/alfa-client/libs/admin/postfach/jest.config.ts
@@ -1,5 +1,5 @@
 export default {
-  displayName: 'postfach',
+  displayName: 'admin-postfach',
   preset: '../../../jest.preset.js',
   setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
   coverageDirectory: '../../../coverage/libs/admin/postfach',
diff --git a/alfa-client/libs/admin/postfach/project.json b/alfa-client/libs/admin/postfach/project.json
index 4ceafb1b08178952a29cecb301c1f3ec208b68f6..f50acee3bac59dd1ef8814a51fcd6716865e60e9 100644
--- a/alfa-client/libs/admin/postfach/project.json
+++ b/alfa-client/libs/admin/postfach/project.json
@@ -1,5 +1,5 @@
 {
-  "name": "postfach",
+  "name": "admin-postfach",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
   "sourceRoot": "libs/admin/postfach/src",
   "prefix": "admin",
diff --git a/alfa-client/libs/admin/settings/.eslintrc.json b/alfa-client/libs/admin/settings/.eslintrc.json
index b10f9813a8f5c59432cf245301dc4d01a8031fd1..7474579d583c598ae092a906b3e6cf1ad3c08a50 100644
--- a/alfa-client/libs/admin/settings/.eslintrc.json
+++ b/alfa-client/libs/admin/settings/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/settings/jest.config.ts b/alfa-client/libs/admin/settings/jest.config.ts
index df8618e8782a77ace1cfd698ff2df9f8a47d9157..a18cd0593eed0671bc1998e884dd773535f2964b 100644
--- a/alfa-client/libs/admin/settings/jest.config.ts
+++ b/alfa-client/libs/admin/settings/jest.config.ts
@@ -1,5 +1,5 @@
 export default {
-  displayName: 'settings',
+  displayName: 'admin-settings',
   preset: '../../../jest.preset.js',
   setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
   globals: {},
diff --git a/alfa-client/libs/admin/settings/project.json b/alfa-client/libs/admin/settings/project.json
index 137c80b9183dd98f9fcd918f52f2d55cf28f1319..2749cb93e4ed471d107b091fece1a677debe2edc 100644
--- a/alfa-client/libs/admin/settings/project.json
+++ b/alfa-client/libs/admin/settings/project.json
@@ -1,5 +1,5 @@
 {
-  "name": "settings",
+  "name": "admin-settings",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
   "sourceRoot": "libs/admin/settings/src",
   "projectType": "library",
diff --git a/alfa-client/libs/admin/shared/.eslintrc.json b/alfa-client/libs/admin/shared/.eslintrc.json
index b10f9813a8f5c59432cf245301dc4d01a8031fd1..7474579d583c598ae092a906b3e6cf1ad3c08a50 100644
--- a/alfa-client/libs/admin/shared/.eslintrc.json
+++ b/alfa-client/libs/admin/shared/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "lib",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/shared/project.json b/alfa-client/libs/admin/shared/project.json
index c7f727c3ee131fd1dae3a7b2c51ac87d913b5535..a2e9e40a7ec2e50df4bf02831f559aced291d240 100644
--- a/alfa-client/libs/admin/shared/project.json
+++ b/alfa-client/libs/admin/shared/project.json
@@ -1,5 +1,5 @@
 {
-  "name": "shared",
+  "name": "admin-shared",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
   "sourceRoot": "libs/admin/shared/src",
   "projectType": "library",
diff --git a/alfa-client/libs/admin/user-shared/.eslintrc.json b/alfa-client/libs/admin/user-shared/.eslintrc.json
new file mode 100644
index 0000000000000000000000000000000000000000..7474579d583c598ae092a906b3e6cf1ad3c08a50
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/.eslintrc.json
@@ -0,0 +1,33 @@
+{
+  "extends": ["../../../.eslintrc.json"],
+  "ignorePatterns": ["!**/*"],
+  "overrides": [
+    {
+      "files": ["*.ts"],
+      "extends": ["plugin:@nx/angular", "plugin:@angular-eslint/template/process-inline-templates"],
+      "rules": {
+        "@angular-eslint/directive-selector": [
+          "error",
+          {
+            "type": "attribute",
+            "prefix": "admin",
+            "style": "camelCase"
+          }
+        ],
+        "@angular-eslint/component-selector": [
+          "error",
+          {
+            "type": "element",
+            "prefix": "admin",
+            "style": "kebab-case"
+          }
+        ]
+      }
+    },
+    {
+      "files": ["*.html"],
+      "extends": ["plugin:@nx/angular-template"],
+      "rules": {}
+    }
+  ]
+}
diff --git a/alfa-client/libs/admin/user-shared/README.md b/alfa-client/libs/admin/user-shared/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..b62dcee762ac67cefa958923ca0d121999ae5639
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/README.md
@@ -0,0 +1,7 @@
+# admin-user-shared
+
+This library was generated with [Nx](https://nx.dev).
+
+## Running unit tests
+
+Run `nx test admin-user-shared` to execute the unit tests.
diff --git a/alfa-client/libs/admin/user-shared/jest.config.ts b/alfa-client/libs/admin/user-shared/jest.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b77cdd47e281a198eef940e43773c3292dc67580
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/jest.config.ts
@@ -0,0 +1,21 @@
+export default {
+  displayName: 'admin-user-shared',
+  preset: '../../../jest.preset.js',
+  setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
+  coverageDirectory: '../../../coverage/libs/admin/user-shared',
+  transform: {
+    '^.+\\.(ts|mjs|js|html)$': [
+      'jest-preset-angular',
+      {
+        tsconfig: '<rootDir>/tsconfig.spec.json',
+        stringifyContentPathRegex: '\\.(html|svg)$',
+      },
+    ],
+  },
+  transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
+  snapshotSerializers: [
+    'jest-preset-angular/build/serializers/no-ng-attributes',
+    'jest-preset-angular/build/serializers/ng-snapshot',
+    'jest-preset-angular/build/serializers/html-comment',
+  ],
+};
diff --git a/alfa-client/libs/admin/user-shared/project.json b/alfa-client/libs/admin/user-shared/project.json
new file mode 100644
index 0000000000000000000000000000000000000000..ce22e562258a45237b5145c49bccde3f1707272f
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/project.json
@@ -0,0 +1,22 @@
+{
+  "name": "admin-user-shared",
+  "$schema": "../../../node_modules/nx/schemas/project-schema.json",
+  "sourceRoot": "libs/admin/user-shared/src",
+  "prefix": "admin",
+  "projectType": "library",
+  "tags": [],
+  "targets": {
+    "test": {
+      "executor": "@nx/jest:jest",
+      "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
+      "options": {
+        "jestConfig": "libs/admin/user-shared/jest.config.ts",
+        "tsConfig": "libs/admin/user/tsconfig.spec.json"
+      }
+    },
+    "lint": {
+      "executor": "@nx/eslint:lint",
+      "outputs": ["{options.outputFile}"]
+    }
+  }
+}
diff --git a/alfa-client/libs/admin/user-shared/src/index.ts b/alfa-client/libs/admin/user-shared/src/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/alfa-client/libs/admin/user-shared/src/test-setup.ts b/alfa-client/libs/admin/user-shared/src/test-setup.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c408668266d2fec3a9803c0ec044bc163fb987fe
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/src/test-setup.ts
@@ -0,0 +1,12 @@
+import '@testing-library/jest-dom';
+import 'jest-preset-angular/setup-jest';
+
+import { getTestBed } from '@angular/core/testing';
+import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
+
+getTestBed().resetTestEnvironment();
+getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
+  teardown: { destroyAfterEach: false },
+  errorOnUnknownProperties: true,
+  errorOnUnknownElements: true,
+});
diff --git a/alfa-client/libs/admin/user-shared/tsconfig.json b/alfa-client/libs/admin/user-shared/tsconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..8ca9ad312c2bd4dc364383853ddd91a2ed8f86fd
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/tsconfig.json
@@ -0,0 +1,16 @@
+{
+  "extends": "../../../tsconfig.base.json",
+  "files": [],
+  "include": [],
+  "references": [
+    {
+      "path": "./tsconfig.lib.json"
+    },
+    {
+      "path": "./tsconfig.spec.json"
+    }
+  ],
+  "compilerOptions": {
+    "target": "es2022"
+  }
+}
diff --git a/alfa-client/libs/admin/user-shared/tsconfig.lib.json b/alfa-client/libs/admin/user-shared/tsconfig.lib.json
new file mode 100644
index 0000000000000000000000000000000000000000..8441346f6e5858b2ef4235cb3c3160eda256f94a
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/tsconfig.lib.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "declaration": true,
+    "declarationMap": true,
+    "inlineSources": true,
+    "types": []
+  },
+  "exclude": ["src/**/*.spec.ts", "src/test-setup.ts", "jest.config.ts", "src/**/*.test.ts"],
+  "include": ["src/**/*.ts"]
+}
diff --git a/alfa-client/libs/admin/user-shared/tsconfig.spec.json b/alfa-client/libs/admin/user-shared/tsconfig.spec.json
new file mode 100644
index 0000000000000000000000000000000000000000..723782fbd367969806c5992aea882773ab65af8b
--- /dev/null
+++ b/alfa-client/libs/admin/user-shared/tsconfig.spec.json
@@ -0,0 +1,12 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../../dist/out-tsc",
+    "module": "commonjs",
+    "types": ["jest", "node"],
+    "target": "ES2022",
+    "useDefineForClassFields": false
+  },
+  "files": ["src/test-setup.ts"],
+  "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts", "jest.config.ts"]
+}
diff --git a/alfa-client/libs/admin/user/.eslintrc.json b/alfa-client/libs/admin/user/.eslintrc.json
index 944f1f5a62ae13ee067f9ac9864e793fd2b06cf7..fde86a84ddbd26aad5cede7be4ad4a3890fd76b3 100644
--- a/alfa-client/libs/admin/user/.eslintrc.json
+++ b/alfa-client/libs/admin/user/.eslintrc.json
@@ -10,7 +10,7 @@
           "error",
           {
             "type": "attribute",
-            "prefix": "alfa",
+            "prefix": "admin",
             "style": "camelCase"
           }
         ],
@@ -18,7 +18,7 @@
           "error",
           {
             "type": "element",
-            "prefix": "alfa",
+            "prefix": "admin",
             "style": "kebab-case"
           }
         ]
diff --git a/alfa-client/libs/admin/user/jest.config.ts b/alfa-client/libs/admin/user/jest.config.ts
index 4bb4f26845511b4ce3780e01fede88dc343cfe9b..f3d44acd574b48b05ac2acd515e2ceef998650c6 100644
--- a/alfa-client/libs/admin/user/jest.config.ts
+++ b/alfa-client/libs/admin/user/jest.config.ts
@@ -1,6 +1,6 @@
 const esModules = ['@keycloak/keycloak-admin-client', 'url-join', 'url-template', 'camelize-ts'];
 export default {
-  displayName: 'user',
+  displayName: 'admin-user',
   preset: '../../../jest.preset.js',
   setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
   coverageDirectory: '../../../coverage/libs/admin/user',
diff --git a/alfa-client/libs/admin/user/project.json b/alfa-client/libs/admin/user/project.json
index 206b050ef3c092d5c2512b77b9dbd70e5e45a2f5..000d7263a98e42b5843d72c76ab95389ed836e06 100644
--- a/alfa-client/libs/admin/user/project.json
+++ b/alfa-client/libs/admin/user/project.json
@@ -1,5 +1,5 @@
 {
-  "name": "user",
+  "name": "admin-user",
   "$schema": "../../../node_modules/nx/schemas/project-schema.json",
   "sourceRoot": "libs/admin/user/src",
   "prefix": "admin",
diff --git a/alfa-client/libs/admin/user/src/index.ts b/alfa-client/libs/admin/user/src/index.ts
index bd715f031e48dffc8f3feec335fbd3ec472929e4..756b163e45acdd8eeb7dca2b01d792cdfadadd2c 100644
--- a/alfa-client/libs/admin/user/src/index.ts
+++ b/alfa-client/libs/admin/user/src/index.ts
@@ -1,3 +1,2 @@
-export * from './lib/user.providers';
 export * from './lib/users-roles/user-add-form/user-add-form.component';
 export * from './lib/users-roles/users-roles.component';
diff --git a/alfa-client/tsconfig.base.json b/alfa-client/tsconfig.base.json
index 308049fd9da625da5c0274b5cc465c30e444d2a9..8b3c4baf60b2d8290e5bce126487e541656094f1 100644
--- a/alfa-client/tsconfig.base.json
+++ b/alfa-client/tsconfig.base.json
@@ -17,7 +17,7 @@
     "baseUrl": ".",
     "paths": {
       "@admin-client/configuration": ["libs/admin/configuration/src/index.ts"],
-      "@admin-client/organisations-einheit": ["libs/admin/organisationseinheit/src/index.ts"],
+      "@admin-client/organisations-einheit": ["libs/admin/organisations-einheit/src/index.ts"],
       "@admin-client/postfach": ["libs/admin/postfach/src/index.ts"],
       "@admin-client/settings": ["libs/admin/settings/src/index.ts"],
       "@admin-client/shared": ["libs/admin/shared/src/index.ts"],
@@ -67,6 +67,9 @@
       "@alfa-client/zustaendige-stelle-shared": ["libs/zustaendige-stelle-shared/src/index.ts"],
       "@ods/component": ["libs/design-component/src/index.ts"],
       "@ods/system": ["libs/design-system/src/index.ts"],
+      "admin/organisations-einheit-shared": ["libs/admin/organisations-einheit-shared/src/index.ts"],
+      "admin/postfach-shared": ["libs/admin/postfach-shared/src/index.ts"],
+      "admin/user-shared": ["libs/admin/user-shared/src/index.ts"],
       "authentication": ["libs/authentication/src/index.ts"]
     }
   },