Skip to main content
The Admin Dashboard provides a comprehensive overview of your Discord Webhook Manager platform, including user statistics, system activity, and quick access to administrative functions.

Access Requirements

Admin Role Required: Only users with the admin role can access the administrative panel. All admin routes are protected by:
  • auth middleware (must be logged in)
  • verified middleware (email must be verified)
  • admin middleware (user role must be ‘admin’)
  • password.confirm middleware (recent password confirmation required)

Accessing the Dashboard

Navigate to /admin to access the administrative dashboard. You’ll be prompted to confirm your password if you haven’t done so recently.
// Route definition from web.php:107
Route::middleware(['admin', 'password.confirm'])->group(function () {
    Route::get('admin', function () {
        // Dashboard logic
    })->name('admin');
});

Platform Statistics

The dashboard displays key metrics about your platform:

User Metrics

  • Total Users: All registered users on the platform
  • Admin Users: Number of users with admin privileges
  • Recent Users: Latest 10 user registrations

Activity Metrics

  • Total Webhooks: All webhooks created across the platform
  • Total Messages: All messages sent through the system
  • Scheduled Messages: Total number of scheduled messages

Statistics Breakdown

The dashboard queries provide real-time statistics:
$stats = [
    'totalUsers' => \App\Models\User::count(),
    'adminUsers' => \App\Models\User::where('role', 'admin')->count(),
    'totalWebhooks' => \App\Models\Webhook::count(),
    'totalMessages' => \App\Models\MessageHistory::count(),
    'totalScheduledMessages' => \App\Models\ScheduledMessage::count(),
];

Quick Actions

From the admin dashboard, you can quickly access:
1

User Management

View all users, manage AI permissions, and delete user accounts
2

Scheduled Messages

Monitor and manage all scheduled messages across the platform
3

Platform Settings

Configure system-wide settings including AI integration and authentication

Recent Activity

The dashboard displays the 10 most recently registered users, including:
  • User name
  • Email address
  • Registration date
  • Current role (user/admin)
  • AI access status
The admin panel uses the same navigation structure as the main application, with additional admin-specific menu items:
  • Dashboard (/admin) - Main admin overview
  • User Management (Embedded in dashboard) - User administration
  • Scheduled Messages (/admin/scheduled-messages) - Global message management
  • Settings (Embedded in dashboard) - Platform configuration
All administrative actions are logged and can be monitored through the application’s audit system.

Security Considerations

Password Confirmation: All admin routes require recent password confirmation. If you haven’t confirmed your password in the last 3 hours, you’ll be prompted to do so before accessing admin features.

Admin Role Check

The system verifies admin access through the User model:
public function isAdmin(): bool
{
    return $this->role === 'admin';
}
If a non-admin user attempts to access admin routes, they’ll receive a 403 Forbidden error:
if (!$request->user() || !$request->user()->isAdmin()) {
    abort(403, 'Unauthorized. Admin access required.');
}

Next Steps

User Management

Learn how to manage users and AI permissions

Scheduled Messages

Monitor and control scheduled messages platform-wide

Platform Settings

Configure system-wide settings and integrations

Build docs developers (and LLMs) love