diff --git a/app/Http/Controllers/HR/Applications/RecruitmentApplicationController.php b/app/Http/Controllers/HR/Applications/RecruitmentApplicationController.php
new file mode 100644
index 0000000000..fdf4b22adf
--- /dev/null
+++ b/app/Http/Controllers/HR/Applications/RecruitmentApplicationController.php
@@ -0,0 +1,61 @@
+filter;
+
+ switch ($filter) {
+ case 'last-week':
+ $startDate = Carbon::now()->startOfWeek()->subWeek();
+ $endDate = Carbon::now()->endOfWeek()->subWeek();
+ break;
+ case 'last-month':
+ $startDate = Carbon::now()->startOfMonth()->subMonth();
+ $endDate = Carbon::now()->endOfMonth()->subMonth();
+ break;
+ case 'last-quarter':
+ $startDate = Carbon::now()->startOfQuarter()->subQuarter();
+ $endDate = Carbon::now()->endOfQuarter()->subQuarter();
+ break;
+ }
+
+ $rejectedApplicationCount = Application::rejected()
+ ->whereDate('updated_at', '>=', $startDate)
+ ->whereDate('updated_at', '<=', $endDate)
+ ->count();
+
+ $receivedApplicationCount = Application::whereDate('created_at', '>=', $startDate)
+ ->whereDate('created_at', '<=', $endDate)
+ ->count();
+
+ // $introductoryApplicationCount = Application::whereDate('updated_at', '>=', $startDate)
+ // ->whereDate('updated_at', '<=', $endDate)
+ // ->applicationRounds()->introductoryCall()
+ // ->count();
+
+ // $newApplicationCount = Application::whereDate('updated_at', '>=', $startDate)
+ // ->whereDate('updated_at', '<=', $endDate)
+ // ->applicationRounds()->resumeScreening()
+ // ->count();
+
+ return [
+ "total_received_applications" => $receivedApplicationCount,
+ "total_rejected_applications" => $rejectedApplicationCount,
+ "total_introductory_call_applications" => 30,
+ "total_new_applications" => 40,
+ ];
+ }
+}
diff --git a/resources/js/app.js b/resources/js/app.js
index a5c465a4d0..c15de3c270 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -83,6 +83,22 @@ Vue.component(
"user-dashboard-library",
require("./components/Dashboard/UserDashboardLibrary.vue").default
);
+Vue.component(
+ "user-dashboard-hiring",
+ require("./components/Dashboard/UserDashboardHiringActivity.vue").default
+);
+Vue.component(
+ "user-hiring-last-week",
+ require("./components/Dashboard/UserDashboardHiringLastWeek.vue").default
+);
+Vue.component(
+ "user-hiring-last-month",
+ require("./components/Dashboard/UserDashboardHiringLastMonth.vue").default
+);
+Vue.component(
+ "user-hiring-last-quarter",
+ require("./components/Dashboard/UserDashboardHiringLastQuarter.vue").default
+);
Vue.component(
"user-dashboard-infrastructure",
require("./components/Dashboard/UserDashboardInfrastructure.vue").default
diff --git a/resources/js/components/Dashboard/UserDashboardHiringActivity.vue b/resources/js/components/Dashboard/UserDashboardHiringActivity.vue
new file mode 100644
index 0000000000..5224c866ec
--- /dev/null
+++ b/resources/js/components/Dashboard/UserDashboardHiringActivity.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
diff --git a/resources/js/components/Dashboard/UserDashboardHiringLastMonth.vue b/resources/js/components/Dashboard/UserDashboardHiringLastMonth.vue
new file mode 100644
index 0000000000..f70e303b6e
--- /dev/null
+++ b/resources/js/components/Dashboard/UserDashboardHiringLastMonth.vue
@@ -0,0 +1,47 @@
+
+ {{ this.hiringData.total_received_applications }}
+
+ {{ this.hiringData.total_rejected_applications }}
+
+ {{ this.hiringData.total_introductory_call_applications }}
+
+ {{ this.hiringData.total_new_applications }}
+
+ {{ this.hiringData.total_received_applications }}
+
+ {{ this.hiringData.total_rejected_applications }}
+
+ {{ this.hiringData.total_introductory_call_applications }}
+
+ {{ this.hiringData.total_new_applications }}
+
+ {{ this.hiringData.total_received_applications }}
+
+ {{ this.hiringData.total_rejected_applications }}
+
+ {{ this.hiringData.total_introductory_call_applications }}
+
+ {{ this.hiringData.total_new_applications }}
+
+