# 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

# 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

# Department Management

Route::resource('department', DepartmentController::class);
Route::get('department/data-table/ssd', [DepartmentController::class, 'serverSideDatas'])
            ->name('department.dataTable');
1
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

# Role Management

Route::resource('role', RoleController::class);
Route::get('role/data-table/ssd', [RoleController::class, 'serverSideDatas'])
            ->name('role.dataTable');
1
2
3

# Permission Management

Route::resource('permission', PermissionController::class);
Route::get('permission/data-table/ssd', [ PermissionController::class, 'serverSideDatas'])
            ->name('permission.dataTable');
1
2
3

# Company Setting Management

Route::resource('company', CompanySettingController::class)
            ->only(['edit', 'update', 'show']); // will use show and edit.
1
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

# 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

# Salary Management

Route::resource('salary', SalaryController::class);
Route::get('salary/data-table/ssd', [SalaryController::class, 'serverSideDatas'])
            ->name('salary.dataTable');
1
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

# Task Management

 Route::resource('task', TaskController::class);
    Route::get('/task/datas/taskComponent', [TaskController::class, 'taskDatas']);
1
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
Last Updated: 6/1/2022, 12:13:18 AM