diff --git a/app/Domains/Admin/Controllers/AdminDashboardController.php b/app/Domains/Admin/Controllers/AdminDashboardController.php
new file mode 100644
index 0000000..23853fa
--- /dev/null
+++ b/app/Domains/Admin/Controllers/AdminDashboardController.php
@@ -0,0 +1,17 @@
+render();
+ }
+}
diff --git a/app/Domains/Admin/Routes/web.php b/app/Domains/Admin/Routes/web.php
new file mode 100644
index 0000000..b8aa45c
--- /dev/null
+++ b/app/Domains/Admin/Routes/web.php
@@ -0,0 +1,12 @@
+group(function () {
+ Route::prefix('admin')->group(function () {
+ Route::get('/', AdminDashboardController::class);
+ });
+});
diff --git a/app/Domains/Admin/Views/Dashboard.vue b/app/Domains/Admin/Views/Dashboard.vue
new file mode 100644
index 0000000..b403e2b
--- /dev/null
+++ b/app/Domains/Admin/Views/Dashboard.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+ Administration
+
+
+
+
+
diff --git a/app/Middleware/AdminRoleMiddleware.php b/app/Middleware/AdminRoleMiddleware.php
new file mode 100644
index 0000000..c84a9a6
--- /dev/null
+++ b/app/Middleware/AdminRoleMiddleware.php
@@ -0,0 +1,26 @@
+check()) {
+ return redirect('/login')->with('message', 'Du musst eingeloggt sein.');
+ }
+
+ $authCheck = new AuthCheckProvider();
+ $role = $authCheck->getUserRole();
+
+ if (!in_array($role, [UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER], true)) {
+ return redirect('/')->with('message', 'Du bist dazu nicht berechtigt.');
+ }
+
+ return $next($request);
+ }
+}