# Web
routes / web.php
# Check In / Check Out Management
Route::get('/checkin-checkout', [CheckInCheckOutController::class, 'checkInCheckOut'])
->name('employee.checkInCheckOut');
Route::post('/checkin', [CheckInCheckOutController::class, 'checkInOut'])
->name('employee.checkIn');
1
2
3
4
2
3
4
# Employee Management
Route::resource('employee', UserController::class);
Route::get('/profile', [UserController::class, 'profile'])->name('employee.profile');
// Data Table Ajax
Route::get('employee/data-table/ssd', [UserController::class, 'serverSideDatas'])
->name('employee.dataTable');
1
2
3
4
5
6
2
3
4
5
6
# Department Management
Route::resource('department', DepartmentController::class);
Route::get('department/data-table/ssd', [DepartmentController::class, 'serverSideDatas'])
->name('department.dataTable');
1
2
3
2
3
# Project Management
Route::resource('/project', ProjectController::class);
Route::get('project/data-table/ssd', [ ProjectController::class, 'serverSideDatas'])
->name('project.dataTable');
// ========== For Auth User Project ==========
Route::resource('myproject', MyProjectController::class)->only(['index', 'show']);
Route::get('/myproject/datas/projectTable', [MyProjectController::class, 'projectTable'])
->name('myproject.projectTable');
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Role Management
Route::resource('role', RoleController::class);
Route::get('role/data-table/ssd', [RoleController::class, 'serverSideDatas'])
->name('role.dataTable');
1
2
3
2
3
# Permission Management
Route::resource('permission', PermissionController::class);
Route::get('permission/data-table/ssd', [ PermissionController::class, 'serverSideDatas'])
->name('permission.dataTable');
1
2
3
2
3
# Company Setting Management
Route::resource('company', CompanySettingController::class)
->only(['edit', 'update', 'show']); // will use show and edit.
1
2
2
# Check In / Check Out Management (Attendance)
Route::resource('/checkin-checkout/attendance', CheckInCheckOutController::class);
Route::get('attendance/data-table/ssd', [CheckInCheckOutController::class, 'serverSideDatas'])
->name('attendance.dataTable');
// ========== Attendance PDF With MPDF ==========
Route::get('/pdf/attendance-pdf', [CheckInCheckOutController::class, 'pdfDownload'])
->name('attendance.pdf');
1
2
3
4
5
6
2
3
4
5
6
# Auth User Check In / Check Out Management
Route::get('/attendance/user-scan', [PageController::class, 'userScan'])
->name('attendance.user');
// ========== Ajax Call to qrScanStore ==========
Route::post('/user-scan', [PageController::class, 'qrScanStore'])
->name('attendance.qrScanStore');
// ========== Attendance OverView ==========
Route::get('/attendance/attendance-overview', [AttendanceOverViewController::class, 'overView'])
->name('attendance.overView');
// ========== Ajax Call to render overViewTable ==========
Route::get('/attendance/attendance-overview-table', [AttendanceOverViewController::class, 'overViewTable'])
->name('attendance.overViewTableTable');
// ========== DataTable For Auth-user Only ==========
Route::get('myattendance/data-table/ssd', [AttendanceOverViewController::class, 'serverSideDatas'])
->name('attendance.mydataTable');
// ========== Attendance OverView Table For Auth-user Only ==========
Route::get('/myattendance/attendance-overview-table', [AttendanceOverViewController::class, 'myOverViewTable'])
->name('attendance.myoverViewTable');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Salary Management
Route::resource('salary', SalaryController::class);
Route::get('salary/data-table/ssd', [SalaryController::class, 'serverSideDatas'])
->name('salary.dataTable');
1
2
3
2
3
# Pay Role Management
Route::get('/payroll', [PayrollController::class, 'payRoll'])
->name('payroll.overView');
Route::get('/payroll/datas/payrolltable', [PayrollController::class, 'payRollTable'])
->name('payroll.payrollTable');
// ========== For Auth User Payroll ==========
Route::get('/mypayroll', [MyPayrollController::class, 'payRoll'])
->name('mypayroll.overView');
Route::get('/mypayroll/datas/payrolltable', [MyPayrollController::class, 'payRollTable'])
->name('mypayroll.payrollTable');
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# Task Management
Route::resource('task', TaskController::class);
Route::get('/task/datas/taskComponent', [TaskController::class, 'taskDatas']);
1
2
2
# sortable Management
Route::get('task/datas/sortable', [TaskController::class, 'sortableComponent']);
1
# Code Overview
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PageController;
use App\Http\Controllers\DepartmentController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\RoleController;
use App\Http\Controllers\PermissionController;
use App\Http\Controllers\CompanySettingController;
use App\Http\Controllers\CheckInCheckOutController;
use App\Http\Controllers\AttendanceOverViewController;
use App\Http\Controllers\SalaryController;
use App\Http\Controllers\PayrollController;
use App\Http\Controllers\MyPayrollController;
use App\Http\Controllers\ProjectController;
use App\Http\Controllers\ProjectLeaderController;
use App\Http\Controllers\ProjectMemberController;
use App\Http\Controllers\MyProjectController;
use App\Http\Controllers\TaskController;
Auth::routes();
// ========== Check In / Check Out Management ==========
Route::get('/checkin-checkout', [CheckInCheckOutController::class, 'checkInCheckOut'])
->name('employee.checkInCheckOut');
Route::post('/checkin', [CheckInCheckOutController::class, 'checkInOut'])
->name('employee.checkIn');
Route::middleware('auth')->group(function (){
Route::get('/', [PageController::class, 'index'])->name('index');
// ========== Employee Management ==========
Route::resource('employee', UserController::class);
Route::get('/profile', [UserController::class, 'profile'])->name('employee.profile');
// Data Table Ajax
Route::get('employee/data-table/ssd', [UserController::class, 'serverSideDatas'])
->name('employee.dataTable');
// ========== Department Management ==========
Route::resource('department', DepartmentController::class);
Route::get('department/data-table/ssd', [DepartmentController::class, 'serverSideDatas'])
->name('department.dataTable');
// ========== Role Management ==========
Route::resource('role', RoleController::class);
Route::get('role/data-table/ssd', [RoleController::class, 'serverSideDatas'])
->name('role.dataTable');
// ========== Permission Management ==========
Route::resource('permission', PermissionController::class);
Route::get('permission/data-table/ssd', [ PermissionController::class, 'serverSideDatas'])
->name('permission.dataTable');
// ========== Company Setting Management ==========
Route::resource('company', CompanySettingController::class)
->only(['edit', 'update', 'show']); // will use show and edit.
// ========== Check In / Check Out Management ==========
Route::resource('/checkin-checkout/attendance', CheckInCheckOutController::class);
Route::get('attendance/data-table/ssd', [CheckInCheckOutController::class, 'serverSideDatas'])
->name('attendance.dataTable');
// ========== Attendance PDF With MPDF ==========
Route::get('/pdf/attendance-pdf', [CheckInCheckOutController::class, 'pdfDownload'])
->name('attendance.pdf');
// ========== User Check In / Check Out Management ==========
Route::get('/attendance/user-scan', [PageController::class, 'userScan'])
->name('attendance.user');
// ========== Ajax Call to qrScanStore ==========
Route::post('/user-scan', [PageController::class, 'qrScanStore'])
->name('attendance.qrScanStore');
// ========== Attendance OverView ==========
Route::get('/attendance/attendance-overview', [AttendanceOverViewController::class, 'overView'])
->name('attendance.overView');
// ========== Ajax Call to render overViewTable ==========
Route::get('/attendance/attendance-overview-table', [AttendanceOverViewController::class, 'overViewTable'])
->name('attendance.overViewTableTable');
// ========== DataTable For Auth-user Only ==========
Route::get('myattendance/data-table/ssd', [AttendanceOverViewController::class, 'serverSideDatas'])
->name('attendance.mydataTable');
// ========== Attendance OverView Table For Auth-user Only ==========
Route::get('/myattendance/attendance-overview-table', [AttendanceOverViewController::class, 'myOverViewTable'])
->name('attendance.myoverViewTable');
// ========== Salary Management ==========
Route::resource('salary', SalaryController::class);
Route::get('salary/data-table/ssd', [SalaryController::class, 'serverSideDatas'])
->name('salary.dataTable');
// ========== Pay Role Management ==========
Route::get('/payroll', [PayrollController::class, 'payRoll'])
->name('payroll.overView');
Route::get('/payroll/datas/payrolltable', [PayrollController::class, 'payRollTable'])
->name('payroll.payrollTable');
// ========== For Auth User Payroll ==========
Route::get('/mypayroll', [MyPayrollController::class, 'payRoll'])
->name('mypayroll.overView');
Route::get('/mypayroll/datas/payrolltable', [MyPayrollController::class, 'payRollTable'])
->name('mypayroll.payrollTable');
// ========== Project Management ==========
Route::resource('/project', ProjectController::class);
Route::get('project/data-table/ssd', [ ProjectController::class, 'serverSideDatas'])
->name('project.dataTable');
// ========== For Auth User Project ==========
Route::resource('myproject', MyProjectController::class)->only(['index', 'show']);
Route::get('/myproject/datas/projectTable', [MyProjectController::class, 'projectTable'])
->name('myproject.projectTable');
// ========== Task Management ==========
Route::resource('task', TaskController::class);
Route::get('/task/datas/taskComponent', [TaskController::class, 'taskDatas']);
// ========== sortable Management ==========
Route::get('task/datas/sortable', [TaskController::class, 'sortableComponent']);
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118