diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 96b2b65..3225a2a 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -1214,6 +1214,10 @@ $routes->group('setting', static function($routes) {
$routes->get('admin/abdm-report-doctors', 'Setting\\AbdmReportDoctorSettings::index', ['filter' => $settingsAdminFilter]);
$routes->post('admin/abdm-report-doctors/save', 'Setting\\AbdmReportDoctorSettings::save', ['filter' => $settingsAdminFilter]);
$routes->get('admin/hospital-profile', 'Setting\\HospitalProfile::index');
+ $routes->get('admin/system-ops', 'SystemOps::index', ['filter' => $settingsAdminFilter]);
+ $routes->get('admin/system-ops/panel', 'SystemOps::panel', ['filter' => $settingsAdminFilter]);
+ $routes->post('admin/system-ops/update', 'SystemOps::update', ['filter' => $settingsAdminFilter]);
+ $routes->post('admin/system-ops/action', 'SystemOps::action', ['filter' => $settingsAdminFilter]);
$routes->post('admin/hospital-profile/save', 'Setting\\HospitalProfile::save');
$routes->post('admin/hospital-profile/delete-logo', 'Setting\\HospitalProfile::deleteLogo');
$routes->post('admin/hospital-profile/reset', 'Setting\\HospitalProfile::reset');
diff --git a/app/Controllers/SystemOps.php b/app/Controllers/SystemOps.php
new file mode 100644
index 0000000..96a1ac9
--- /dev/null
+++ b/app/Controllers/SystemOps.php
@@ -0,0 +1,48 @@
+ $ops->collectStatus(),
+ 'history' => $ops->getHistory(),
+ ];
+
+ return view('Setting/Admin/system_ops', $data);
+ }
+
+ public function panel(): string
+ {
+ $ops = new SystemOperations();
+ $data = [
+ 'status' => $ops->collectStatus(),
+ 'history' => $ops->getHistory(),
+ ];
+
+ return view('Setting/Admin/system_ops_panel', $data);
+ }
+
+ public function update()
+ {
+ $ops = new SystemOperations();
+ $result = $ops->runUpdate();
+
+ return $this->response->setJSON($result);
+ }
+
+ public function action()
+ {
+ $action = (string) $this->request->getPost('action');
+ $ops = new SystemOperations();
+ $result = $ops->runServerAction($action);
+
+ return $this->response->setJSON($result);
+ }
+}
diff --git a/app/Views/Setting/Admin/system_ops.php b/app/Views/Setting/Admin/system_ops.php
new file mode 100644
index 0000000..5100b88
--- /dev/null
+++ b/app/Views/Setting/Admin/system_ops.php
@@ -0,0 +1,99 @@
+System Operations
+
+
| Time | +Type | +Status | +Message | +
|---|---|---|---|
| = esc((string) ($entry['timestamp'] ?? '')) ?> | += esc((string) ($entry['type'] ?? '')) ?> | ++ + = esc($st) ?> + | += esc((string) ($entry['message'] ?? '')) ?> | +