1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Buiding an attendance checking system applied face recognition

168 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building An Attendance Checking System Applied Face Recognition
Tác giả Nguyen Pham Quoc Thang, Thach Duong Duy
Người hướng dẫn M.Sc. Nguyen Duc Khoan
Trường học Ho Chi Minh City University of Technology and Education
Chuyên ngành Information Technology
Thể loại Graduation Thesis
Năm xuất bản 2023
Thành phố Ho Chi Minh City
Định dạng
Số trang 168
Dung lượng 6,85 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chapter 1. INTRODUCTION (21)
    • 1.1. The urgency of the project (21)
    • 1.2. Introduction (21)
    • 1.3. Objective (22)
    • 1.4. Technology (22)
    • 1.5. Scope (22)
  • Chapter 2. SYSTEM SPECIFICATION (23)
    • 2.1. Application Review (23)
      • 2.1.1. Researching (23)
      • 2.1.3. What is the problem? (23)
      • 2.1.2. What is solution (24)
    • 2.2. Technologies (24)
      • 2.2.1. Front-end: ReactJS with Charka UI component library (24)
      • 2.2.2. Back-end: NodeJS with Express – Typescript (25)
      • 2.2.3. Database: MySQL (26)
      • 2.2.4. Facial Recognition: faceapi.js (27)
  • Chapter 3. REQUIREMENT SPECIFICATION (29)
    • 3.1. Description (29)
      • 3.1.2. Human resource management description (29)
    • 3.2. Functional Requirement (29)
      • 3.1.1. Face attendance system description (29)
      • 3.2.1. User requirements (29)
        • 3.2.1.1. Face attendance system (29)
        • 3.2.1.2. Human resource management system (29)
      • 3.2.2. System Requirement (Use Case) (30)
        • 3.2.2.1. Actors (30)
        • 3.2.2.2. Use case (30)
        • 3.2.2.3. Use case diagram (33)
        • 3.2.2.4. Use case description (34)
  • Chapter 4. SYSTEM DESIGN (84)
    • 4.1. System Architecture (84)
    • 4.2. Entity Relation Diagram (85)
    • 4.3. Database Diagram (86)
    • 4.4. Sequence Diagram (88)
      • 4.4.1. Take attendance by using facial recognition (88)
      • 4.4.2. Report attendance failure (90)
      • 4.4.3. Collect face data (91)
      • 4.4.4. View face data photos (91)
      • 4.4.5. Request employee to re-train (92)
      • 4.4.6 Verify leave request (92)
    • 4.6. Activity Diagram (93)
      • 4.6.1. Take attendance by using facial recognition (93)
      • 4.6.2. Report attendance failure (94)
    • 4.7. User Interfaces Design (95)
      • 4.7.1. Screens description (95)
      • 4.7.2. Screens design (96)
        • 4.7.2.1. Login screen (96)
        • 4.7.2.2. Dashboard screen (97)
        • 4.7.2.3. Organization details screen (98)
        • 4.7.2.4. Department management screen (105)
        • 4.7.2.5. Assigning department management screen (107)
        • 4.7.2.6. Employee management screen (109)
        • 4.7.2.7. Work shift screen (114)
        • 4.7.2.8. Leave request personal screen (117)
        • 4.7.2.9. Leave request management screen (119)
        • 4.7.2.10. Attendance screen (123)
        • 4.7.2.11. Attendance exception screen (129)
  • Chapter 5. SYSTEM IMPLEMENTATION AND TESTING (132)
    • 5.1. System Implementation (132)
      • 5.1.1. Software development environment (132)
      • 5.1.2. Source code management (132)
      • 5.1.3. Deploy (132)
        • 5.1.3.1. Software requirement (132)
        • 5.1.3.2. Deployment process (0)
    • 5.2. Testing (136)
      • 5.2.1. Testing plan (136)
        • 5.2.1.1. List of stages of testing (136)
        • 5.2.1.2. List of test types (136)
      • 5.2.2. Test case (136)
        • 5.2.2.1. Test case for Sign In Screen (136)
        • 5.2.2.2. Test case for Dashboard Screen (137)
        • 5.2.2.3. Test case for Organization Management Screen (140)
        • 5.2.2.4. Test case for Department Management Screen (142)
        • 5.2.2.5. Test case for Assigning Management Screen (143)
        • 5.2.2.6. Test case for Employee Management Screen (145)
        • 5.2.2.7. Test case for Workshift Management Screen (146)
        • 5.2.2.8. Test case for Leave Request Personal Screen (150)
        • 5.2.2.9. Test case for Leave Request Management Screen (151)
        • 5.2.2.10. Test case for Attendance Management Screen (154)
        • 5.2.2.11. Test case for Attendance Exception Management Screen (158)
        • 5.2.2.12. Test case for Profile Setting Screen (160)
        • 5.2.2.13. Test case for First Time Login Flow (161)
        • 5.2.2.14. Test case for Collect Face Data Flow (162)
        • 5.2.2.15. Test case for Attendance Flow (163)
        • 5.2.2.16. Test case for Attendance Exception Flow (164)
  • Chapter 6. CONCLUSION (165)
    • 6.1. Conclusion (165)
    • 6.2. Advantage (165)
    • 6.3. Disadvantage (166)
    • 6.4. Future Planning (166)

Nội dung

14 Table 3.3 Use case take attendance by using facial recognition description .... 134 Table 5.13 Test case for Attendance Exception Management screen ..... This includes profile managem

INTRODUCTION

The urgency of the project

This project of “Building an attendance checking system applied face recognition”, is a modern solution that automates the process of recording employee attendance

By utilizing advanced facial recognition algorithms, the system can accurately identify individuals by analyzing their unique facial features

This is a useful application for small and medium businesses to manage their employees’ work attendance, and for the administrator to manage employee work days, leave days and attendance record

To develop an efficient face attendance system, it is essential to integrate machine learning techniques with advanced data flow technology, enabling the automatic and rapid analysis and recognition of employees' faces with high accuracy.

The system features an intuitive interface that facilitates easy interaction for employees, allowing them to register their faces, access attendance records, and utilize various essential functions.

Introduction

In recent years, technology is developing fast With the birth of Machine Learning and Artificial Technology, new technological ideas are formed, and many former products could be better upgraded

Our research into attendance checking systems revealed that current methods, primarily ID card and fingerprint scanning, have significant limitations ID card systems necessitate the distribution of cards to employees, which can be easily lost, leading to additional costs and potential inaccuracies in attendance records due to employees assisting one another or forgetting their cards Conversely, fingerprint scanning lacks effectiveness and flexibility, particularly in cases where fingers are injured or not clean This highlights the need for a more efficient and cost-effective solution in attendance management.

To address the challenges faced by businesses in managing attendance and reducing unnecessary costs, we developed an integrated attendance system utilizing facial recognition technology This solution not only streamlines the attendance checking process but also minimizes employee frustration caused by scanning errors.

2 machine learning We believe that this system would remove the mentioned issues with additional safety and convenience advantages coming with a touchless process.

Objective

The system enables employees to record their attendance through facial recognition, while allowing customers to manage attendance, work shifts, and leave requests via a web application Additionally, employees can access their work shifts and attendance records through the system.

Technology

The technologies used in this project include:

• Facial Recognition Service: face-api.js library;

• Back-end: NodeJS with Express – Typescript;

• Front-end: ReactJS with Chakra UI component library;

Scope

To meet the requirements of the project, we have identified the following scope:

• An attendance system module that records employees’ attendance by using their faces

• Usage of Machine Learning for the facial recognition and detection

• Web application for the admin to manage the employees’ attendance, work shifts and leave requests, and also support the customers to collect their employees’ face data for attendance management

SYSTEM SPECIFICATION

Application Review

There are several apps available in the market that offer similar features to building an attendance checking system applied face recognition Here are a few examples:

• BambooHR: BambooHR is an HR software that provides a range of features including employee attendance management, leave tracking, employee information management, and performance management

• ADP Workforce Now: ADP Workforce Now is a comprehensive HR solution that offers features like time and attendance management, leave management, employee data management, and payroll processing

• Zenefits: Zenefits is an all-in-one HR platform that includes features such as time and attendance tracking, leave management, employee self-service, and benefits administration

• Paycor: Paycor is a cloud-based HR and payroll software that offers functionalities like time and attendance tracking, leave management, employee data management, and reporting

• Zoho People: Zoho People is an HR software that provides features such as time tracking, leave management, employee self-service, and employee database management

Many organizations struggle with the manual and time-consuming process of employee attendance management, often relying on outdated methods like paper forms and email chains This reliance leads to delays, miscommunication, and challenges in tracking requests Traditional approaches, such as paper-based attendance sheets and manual spreadsheet entries, are error-prone and lack real-time visibility, making attendance management inefficient.

Our attendance checking system utilizes face recognition technology to streamline the leave request process, allowing employees to submit requests digitally while enabling managers to review and approve them efficiently By integrating advanced training methods for attendance tracking, our app eliminates manual data entry, resulting in a more accurate and efficient solution Employees can conveniently check in and out using their faces, significantly reducing administrative burdens and ensuring precise attendance records.

Technologies

2.2.1 Front-end: ReactJS with Charka UI component library

Figure 2.1 ReactJS and Charka UI logo

ReactJS is a widely-used JavaScript library for building user interfaces, characterized by its component-based architecture that promotes the creation of reusable UI components This approach allows for efficient updates and rendering of only the necessary interface parts With its virtual DOM, ReactJS enhances performance by reducing actual DOM manipulation, leading to faster rendering and a better user experience Additionally, its declarative syntax simplifies code comprehension and maintenance, empowering developers to construct complex UIs effectively.

Chakra UI is a lightweight and accessible component library that streamlines UI development with ReactJS It features a wide array of pre-built components adhering to modern design principles, which significantly reduces development time and effort Additionally, Chakra UI provides customizable styles and theming options, enabling developers to create consistent and visually appealing interfaces with ease Its intuitive API and extensive documentation further enhance the development experience.

5 documentation, Chakra UI simplifies the process of building responsive and accessible user interfaces.[5]

The choice of ReactJS and Chakra UI for developing a face recognition-based attendance checking system is influenced by their significant benefits ReactJS provides a strong ecosystem of libraries and tools, making it a favored option for front-end development Its efficient rendering performance and virtual DOM facilitate quick and seamless user interactions, even in complex user interfaces Furthermore, ReactJS's component-based architecture enhances code reusability and maintainability, leading to a more scalable and manageable codebase.

Chakra UI enhances ReactJS by offering a set of pre-designed components that adhere to design best practices, which saves development time and guarantees a consistent, visually appealing user interface throughout the application Its customization options and theming capabilities enable easy integration with the app's branding and design needs.

2.2.2 Back-end: NodeJS with Express – Typescript

Figure 2.2 NodeJS and Express logo

Node.js is a powerful runtime environment that enables server-side execution of JavaScript code Its event-driven, non-blocking I/O model enhances scalability and efficiency for web application development With a vast ecosystem of packages and libraries available through npm, developers can easily utilize existing modules and tools to optimize their development workflows.

Express is a lightweight and efficient web application framework for Node.js, designed to streamline the development of web APIs and server-side applications It offers a comprehensive set of features that simplify HTTP request handling and route definition, facilitating an easier development process.

6 to create scalable and modular back-end architectures It offers middleware support, allowing developers to add functionality to their applications, such as authentication, error handling, and logging, with ease.[2]

The choice of Node.js and Express for developing a face recognition-based attendance checking system is influenced by their key advantages Node.js's asynchronous, event-driven architecture enables the application to efficiently manage numerous concurrent requests, ensuring optimal performance and responsiveness Its non-blocking I/O model is ideal for real-time applications, making it particularly effective for handling employee attendance and leave requests.

Express is a lightweight and flexible framework that serves as a robust foundation for developing RESTful APIs and back-end services It streamlines the definition of routes, request handling, and middleware integration, thereby increasing the efficiency of back-end development With its middleware support, Express facilitates the seamless addition of functionalities like authentication and database access, which significantly improves the app's security and data management.

MySQL is a widely-used open-source relational database management system (RDBMS) that excels in web development It offers a dependable and scalable solution for managing structured data, making it ideal for diverse applications, such as developing an attendance checking system utilizing face recognition technology.

MySQL is an ideal choice for developing a face recognition-based attendance checking system due to its robustness and stability With a proven track record, MySQL is recognized as a reliable and high-performing database solution.

The system is designed to efficiently manage large volumes of data and handle multiple concurrent connections, making it ideal for applications that require effective data storage and retrieval, such as employee information management and attendance tracking.

MySQL provides outstanding scalability features, enabling horizontal scaling through methods such as database sharding and replication This capability allows applications to manage higher data loads and support an expanding user base Consequently, a face recognition-based attendance checking system can easily adapt and grow alongside the organization's increasing employee count.

MySQL offers excellent compatibility and easy integration with multiple programming languages and frameworks, such as Node.js, facilitating smooth connections and interactions with the database in back-end applications Furthermore, its large community and comprehensive documentation provide developers with abundant resources and support for effective database management.

MySQL offers a powerful SQL interface that enables comprehensive data modeling and query capabilities It supports various SQL operations, allowing developers to create intricate database schemas and execute efficient data manipulations and retrievals This flexibility is crucial for managing employee data, including tasks like attendance tracking and processing leave requests.

The faceapi.js is a powerful JavaScript library that provides facial recognition and analysis capabilities It allows developers to integrate facial recognition features into their applications

The choice of faceapi.js for facial training in an attendance checking system is driven by its accurate and reliable facial recognition algorithms, which enable real-time detection and analysis of faces This functionality is essential for effectively implementing facial recognition features for check-in and check-out processes.

REQUIREMENT SPECIFICATION

Description

A Human Resource Management System (HRMS) is essential for managing employee data, encompassing various functions such as profile management, employee and organization management, department oversight, attendance tracking, work shift scheduling, and leave request handling Additionally, the system provides statistical insights and tools to address attendance errors effectively.

Functional Requirement

An innovative attendance system utilizes facial recognition technology to accurately capture and record employee attendance by identifying their faces through a camera This system not only logs successful attendance but also captures an image of the employee at the time of recording Additionally, it allows employees to report attendance failures after a specified number of unsuccessful recognition attempts, ensuring a reliable and user-friendly experience.

The attendance system can be conveniently installed at the organization's entrance, allowing employees to easily record their attendance by scanning their faces Additionally, it features a QR code option that directs users to a form for reporting attendance issues if their faces are not recognized correctly after several attempts.

Human Resource Management is a web application designed for efficient employee management, featuring three user roles: Admin, Manager, and Employee Upon first-time login, users must complete their profile information and upload a profile picture, followed by a screen where the system collects their facial data.

The Employee role is a fundamental component of the Human Resource Management system, allowing users to log in and manage their profile information Employees can check their work shifts, submit leave requests for single or multiple days off, and review their submitted leave requests Additionally, they have access to their attendance records and relevant statistics, ensuring they stay informed about their work status.

The manager plays a crucial role in the Human Resource Management system, possessing full access to employee functions They are responsible for organizing employee shifts within their department and have the authority to approve or reject leave requests from their team members.

• Admin: Admin is the third role of the Human Resource Management system

The system's full functionality is accessible to users with manager roles, allowing them to update or delete leave and shift types They can view all trained face data for every user and designate specific users for re-training if their faces are not recognized or if exceptions occur Additionally, they have the authority to manage all departments and employees, including assigning employees or managers to specific departments.

• Unauthorized User: The user can login into the system to use the provided functions

• Employee: Who can access the profile management, see organization detail, see work shift and self-attendance statistic and record

• Manager: Who can access to all employee role’s function, and also can access to employee management, work shift management, leave request management, attendance exception management

• Admin: Who can access to all the functions in the system

Main Use Cases Use Case #

Take attendance by using facial recognition UC_1.3

View work shift detail UC_1.8

Create a personal leave request UC_1.9

View the list of personal leave requests UC_1.10

View annual leave days UC_1.11

View a leave request detail UC_1.12

View a single attendance history detail UC_1.14

View this month attendance detail UC_1.15

View face data photos UC_1.23

Request employee to re-train UC_1.24

View the list of management leave requests UC_1.28

Report in-valid an attendance history UC_1.31

Convert valid an attendance history UC_1.32

View attendance exception detail UC_1.34

View all shift type UC_1.37

View all leave type UC_1.41

Assign manager to department UC_1.49

Assign employee to department UC_1.50

Figure 3.2 Use case login Table 3.2 Use case login description

Use Case No UC_1.1 Use Case Version 1.0

Author Nguyen Pham Quoc Thang

• Users able to sign in the system

• Users sign in the system successfully

• Users click the “Sign in” button in Sign in page

• Users already have the account

• Users will be navigated to Dashboard page

Step Actor Action System Response

The system start validate the field when users blur out the field

The system start validate the field when users blur out the field

3 Click into the “Sign in” [E3]

The system navigates users to the Dashboard page and show the success message

No Actor Action System Response

E1 The fill-in value is not in the Email format

The system will show the error message right under the Email Field: “Invalid Email”

E2 The fill-in value is empty

The system will show the error message right under the Email Field: “Email is required”

The fill-in value’s length is less than 6 characters

The system will show the error message right under the Password Field: “Password is too short”

The fill-in value is empty

The system will show the error message right under the Password Field: “Password is required”

Password value is not found in the system

The system will show the error message:

3.2.2.4.2 Use case take attendance by using facial recognition

Figure 3.3 Use case take attendance by using facial recognition

Table 3.3 Use case take attendance by using facial recognition description

Use Case No UC_1.3 Use Case Version 1.0

Use Case Name Take attendance by using facial recognition

Author Nguyen Pham Quoc Thang

• Users are able to take attendance in the system

• Users take attendance in the system successfully

• Users access the face attendance link

• Users already have the facial data in the system

• Users will be navigated to Sign in page and the system will show the success message

Step Actor Action System Response

1 Access to the face attendance link

The system starts loading the facial model

2 Wait until the system recognizes the users [E1], [A1]

The system starts to scan the user’s face

Click the “Continue” button on the success modal [E2], [E3],

The system records the attendance and popup a notification to the user

No Actor Action System Response

The users using the alternative attendance by clicking the “Report” button in the Exception modal

The system will navigate the user to the Report Attendance Exception page

No Actor Action System Response

E1 The user facial data is not found

The system will show Exception modal

E2 The users don’t have the work shift today

The system will show the error message:

“You don't have a schedule for today”

The users check in the work shift too late

The system will show the error message:

“You are too late to check in, please contact with the manager”

The users check out the work shift too early

The system will show the error message:

“The user check in too early, please contact with the manager”

3.2.2.4.3 Use case collect face data

Figure 3.4 Use case collect face data Table 3.4 Use case collect face data description USE CASE - 3

Use Case No UC_1.4 Use Case Version 1.0

Use Case Name Collect face data

Author Nguyen Pham Quoc Thang

• Users are able to provide facial data for the system

• Users provide facial data for the system successfully

• Users click the “Scan my face” button

• Users already have the account in the system

• Users will be navigated to Sign in page and the system will show the success message

Step Actor Action System Response

1 Access to the face training link

The system starts loading the facial model

2 Click the “Scan my face” button

The system starts to scan the user’s face

3 Wait until the process bar is complete

The system shows the loading spinner

4 Click the “Finish” button on the success modal

The system will navigate the users to the Sign in page

3.2.2.4.4 Use case report attendance failure

Figure 3.5 Use case report attendance failure Table 3.5 Use case report attendance failure description

Use Case No UC_1.5 Use Case Version 1.0

Use Case Name Report attendance failure

Author Nguyen Pham Quoc Thang

• Users are able to take attendance exception

• Users take attendance exception successfully

• Users click the “Submit” button in the Report Attendance Exception modal

• Users already have the account in the system

• Users will be navigated to the Sign in page and the system will show the success message

Step Actor Action System Response

Click the “Report” button in the

Exception modal in the Face Attendance page

The system navigates the users to the Report Attendance Exception page

2 Select Check type in the “Check Type” selection

3 Fill in the Email Field

4 Select the Department name in the

5 Click the “Submit” button on the Report

The system will show the success message

No Actor Action System Response

E1 The Email Field value is not found in the system

The system will show the error message: “Email not found”

3.2.2.4.5 Use case view organization detail

Figure 3.6 Use case view organization detail Table 3.6 Use case view organization detail description

Use Case No UC_1.6 Use Case Version 1.0

Use Case Name View organization detail

Author Nguyen Pham Quoc Thang

• Users are able to view the organization's detail

• Users can view the organization's detail

• Users navigate to organization detail page

• Users have already signed in

• Users can view all the information about organization’s details

Step Actor Action System Response

1 Users navigate to organization detail page [A1]

The system shows all the information about the organization’s detail

No Actor Action System Response

The users with the role Admin

The system shows all the information about the organization’s detail and the “Modify Leave Type” button and the “Modify Shift Type” button

3.2.2.4.6 Use case view work shift

Figure 3.7 Use case view work shift

Table 3.7 Use case view work shift description

Use Case No UC_1.7 Use Case Version 1.0

Use Case Name View work shift

Author Nguyen Pham Quoc Thang

• Users able to view the Work Shift

• Users view the work shift successfully

• Users navigate to the Work Shift page

• Users have already signed in

• Users can view all the information about the Work Shift

Step Actor Action System Response

The system shows all the information about the Work Shift and the Department Name, Employee Name, Work Shift Type Filter

No Actor Action System Response

The users using the Work

The system shows all the information about the Work Shift of the employee according to the Work Shift Type Filter

The user with the role

The system only shows the Department Name, Employee Filter, Work Shift Type Filter

Select employee wants to view the work shift in the

The system will show all the information about that employee Work Shift

A3 Select “All” in the Employee

The system will show the information of all the employee's Work Shift

The user with the role Admin The system only shows the Department

Name, Employee Filter, Work Shift Type Filter

Select department name in the Department Filter

The system will show the selection of Employee Filter according to the Department name

Select employee name in the

Select the Work Shift Type

The system shows all the information about the Work Shift of the employee according to these filter

3.2.2.4.7 Use case view work shift detail

Figure 3.8 Use case view work shift detail

Table 3.8 Use case view work shift detail description

Use Case No UC_1.8 Use Case Version 1.0

Use Case Name View work shift detail

Author Nguyen Pham Quoc Thang

• Users are able to view the work shift detail

• Users view the work shift detail successfully

• Users click into the Work Shift Card in the Work Shift page

• Users have already signed in and navigated to the Work Shift page

• Users can view the detail of the Work Shift Card

Step Actor Action System Response

The system shows the modal containing all the information about that Work Shift Card

3.2.2.4.8 Use case create a personal leave request

Figure 3.9 Use case create a personal leave request

Table 3.9 Use case create a personal leave request description

Use Case No UC_1.9 Use Case Version 1.0

Use Case Name Create a personal leave request

Author Nguyen Pham Quoc Thang

• Users are able to create a personal leave request

• Users create a personal leave request successfully

• Users click the “Add New” button in the Leave Request Personal page

• Users have already signed in and navigated to the Leave Request

• Users can create new Personal Leave Request

Step Actor Action System Response

Click the “Add New” button on the table

The system shows a Drawer for users to fill in all the required fields for the Leave Request

2 Fill all the required field

3 Select leave type in Leave

Click “Save” button The system will close the Drawer and show the success message and refresh the table data

No Actor Action System Response

The users chose the Annual

The users exceed the Annual

The system will show the error message: “Exceed Annual Leave”

3.2.2.4.9 Use case view the list of personal leave requests

Figure 3.10 Use case view the list of personal leave requests

Table 3.10 Use case view the list of personal leave requests description

Use Case No UC_1.10 Use Case Version 1.0

Use Case Name View the list of personal leave requests

Author Nguyen Pham Quoc Thang

• Users are able to view the list of personal leave requests

• Users view the list of personal leave requests successfully

• Users navigate to the Leave Request Personal page

• Users view the list of personal leave requests

Step Actor Action System Response

1 Navigate to the Leave Request

The system shows the list of personal leave requests in the table

No Actor Action System Response

The system only shows the Department Name, the Employee Filter, and the Date Filter

Select the employee’s name in the Employee Filter

The system shows the list of personal leave requests in the table according to the filter

Users with the role Admin The system only shows the Department

Filter, the Employee Filter, and the Date Filter

Select the department name in the Department Filter

The system shows a selection of employee according to the Department Filter current value

Select the employee’s name in the Employee Filter

The system shows the list of personal leave requests in the table according to the filter

3.2.2.4.10 Use case view annual leave days

Figure 3.11 Use case view annual leave days Table 3.11 Use case view annual leave days description

Use Case No UC_1.11 Use Case Version 1.0

Use Case Name View annual leave days

Author Nguyen Pham Quoc Thang

• Users are able to view annual leave days

• Users view annual leave days successfully

• Users navigate to the Leave Request Personal page

• Users view annual leave days

Step Actor Action System Response

1 Navigate to the Leave Request

The system shows the annual leave days

3.2.2.4.11 Use case view a leave request detail

Figure 3.12 Use case view a leave request detail Table 3.12 Use case view a leave request detail description

Use Case No UC_1.12 Use Case Version 1.0

Use Case Name View a leave request detail

Author Nguyen Pham Quoc Thang

• Users are able to view a leave request detail

• Users view a leave request detail successfully

• Click the “View” button on the record of the Leave Request Personal

• Users have already signed and navigated to the Leave Request Personal page

• Users view a leave request detail

Step Actor Action System Response

1 Click the “Bulk Action” button on the record ò the Leave

The system shows Bulk Action Menu

Request Personal that want to view the detail

Click the “View” button in the

The system view shows the Drawer containing all the information of the Leave Request in Read Only mode

3.2.2.4.12 Use case view attendance history

Figure 3.13 Use case view attendance history Table 3.13 Use case view attendance history description

Use Case No UC_1.13 Use Case Version 1.0

Use Case Name View attendance history

Author Nguyen Pham Quoc Thang

• Users are able to view attendance history

• Users view attendance history successfully

Step Actor Action System Response

The system will show all the information about the Attendance of that employee including the attendance History

No Actor Action System Response

User with the role Manager, navigate to the Attendance page in Management Tab

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee including the attendance History

User with the role Manager, navigate to the Attendance page in Management Tab

Users select department name in the Department Filter

The system will show the selection of Employee Filter according to the Department Filter current value

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee including the attendance History

3.2.2.4.13 Use case view a single attendance history detail

Figure 3.14 Use case view a single attendance history detail

Table 3.14 Use case view a single attendance history detail description

Use Case No UC_1.14 Use Case Version 1.0

Use Case Name View a single attendance history detail

Author Nguyen Pham Quoc Thang

• Users are able to view a single attendance history detail

• Users view a single attendance history detail successfully

• Users view a single attendance history detail

Step Actor Action System Response

1 Navigate to the Attendance page in Personal Tab [A1], [A2]

The system shows all the attendance history of the users

The system shows all the information about that Attendance History Card

No Actor Action System Response

User with the role Manager, navigate to the Attendance page in Management Tab

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee including the attendance History

The system shows all the information about that Attendance History Card

User with the role Manager, navigate to the Attendance page in Management Tab

Users select department name in the Department Filter

The system will show the selection of Employee Filter according to the Department Filter current value

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee including the attendance History

The system shows all the information about that Attendance History Card

3.2.2.4.14 Use case view this month attendance

Figure 3.15 Use case view this month attendance Table 3.15 Use case view this month attendance description

Use Case No UC_1.15 Use Case Version 1.0

Use Case Name View this month attendance

Author Nguyen Pham Quoc Thang

• Users are able to view this month attendance

• Users view this month attendance successfully

• Users view this month attendance

Step Actor Action System Response

The system will show all the information about the Attendance of that employee including this month attendance

No Actor Action System Response

User with the role Manager, navigate to the Attendance page in Management Tab

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee including this month attendance

User with the role Manager, navigate to the Attendance page in Management Tab

Users select department name in the Department Filter

The system will show the selection of Employee Filter according to the Department Filter current value

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee this month attendance

3.2.2.4.15 Use case view today attendance

Figure 3.16 Use case view today attendance Table 3.16 Use case view today attendance description

Use Case No UC_1.16 Use Case Version 1.0

Use Case Name View today attendance

Author Nguyen Pham Quoc Thang

• Users are able to view today attendance

• Users view today attendance successfully

Step Actor Action System Response

1 Navigate to the Attendance page in

The system shows today's attendance status of the users

No Actor Action System Response

User with the role Manager, navigate to the Attendance page in Management Tab

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of

37 that employee including today's attendance status

User with the role Manager, navigate to the Attendance page in Management Tab

Users select department name in the Department Filter

The system will show the selection of Employee Filter according to the Department Filter current value

Users select employee name in the Employee Filter

The system will show all the information about the Attendance of that employee today's attendance status

3.2.2.4.16 Use case view profile information

Figure 3.17 Use case view profile information Table 3.17 Use case view profile information

Use Case No UC_1.17 Use Case Version 1.0

Use Case Name View profile information

Author Nguyen Pham Quoc Thang

• Users are able to view profile information

• Users view profile information successfully

Step Actor Action System Response

The system will show all the information about the Profile information of the user

3.2.2.4.17 Use case update profile information

Figure 3.18 Use case update profile information Table 3.18 Use case update profile information description

Use Case No UC_1.18 Use Case Version 1.0

Use Case Name Update profile information

Author Nguyen Pham Quoc Thang

• Users are able to update profile information

• Users update profile information successfully

• Users click the “Save” button in the Setting Profile page in Information Box

• Users have already signed and navigated to the Setting Profile page

Step Actor Action System Response

The system view check validation of the field

2 Edit Phone Field [E2] The system view check validation of the field

The system view check validation of the field

4 Click the “Save” button in the Information Box

The system view shows the success message

No Actor Action System Response

E1 The value of the Full

The system will show the error message under the field: “This field is required”

E2 The value of the Phone

The system will show the error message under the field: “This field is required”

E3 The value of the Date

The system will show the error message under the field: “This field is required”

E4 The value of the Date

The system will show the error message under the field: “Your birth date is invalid”

3.2.2.4.18 Use case view list employee

Figure 3.19 Use case view list employee Table 3.19 Use case view list employee description

Use Case No UC_1.21 Use Case Version 1.0

Use Case Name View list employee

Author Nguyen Pham Quoc Thang

• Users are able to view list employee

• Users view list employee successfully

Step Actor Action System Response

1 Navigate to the Employee page [A1]

The system will show the list of Employees in the table

No Actor Action System Response

The user with the role

The system will only show the Department Filter

Choose the department name in the Department

The system will show the list of Employees in the table according to the Department Filter

3.2.2.4.19 Use case view face data photos

Figure 3.20 Use case view face data photos Table 3.20 Use case view face data photos description

Use Case No UC_1.23 Use Case Version 1.0

Use Case Name View face data photos

Author Nguyen Pham Quoc Thang

• Users are able to view face data photos

• Users view face data photos successfully

• Users Click the “View Face Data Photos” in the “Bulk Action”

• Users have already signed and navigated in the Employee page

Step Actor Action System Response

Click the “Bull Action” in the record of the Employee that want to view the photos

The system will show the Bulk Action Menu

2 Click the “View Face Data Photos” button in the Bulk Action Menu

The system will show all the employee photos in the modal

3.2.2.4.20 Use case request employee to re-train

Figure 3.21 Use case request employee to re-train Table 3.21 Use case request employee to re-train description

Use Case No UC_1.24 Use Case Version 1.0

Use Case Name Request employee to re-train

• Users are able to request employee to re-train

• Users request employee to re-train successfully

• Users Click the “Request to retrain” button in the “Bulk Action”

• Users have already signed and navigated in the Employee screen

• Users request employee to re-train

Step Actor Action System Response

1 Click the “Bull Action” in the record of the

Employee that want to re-train photos

The system will show the Bulk Action Menu

2 Click the “Request to retrain” button in the

The system will show the success message

3.2.2.4.21 Use case modify work shift

Figure 3.22 Use case modify work shift Table 3.22 Use case modify work shift description

Use Case No UC_1.26 Use Case Version 1.0

Use Case Name Modify work shift

• Users are able modify work shift

• Users modify the work shift successfully

• Users Click the “Modify Work Shift Type” button

• Users have already signed and navigated in the Work Shift screen

Step Actor Action System Response

1 Click the “Modify Work Shift

The system will show Modify Work Shift Type Modal

2 Choose the Shift Type want to modify and edit some field of it

3 Click the “Save” button The system will show the success message

3.2.2.4.22 Use case verify leave request

Figure 3.23 Use case verify leave request Table 3.23 Use case verify leave request description

Use Case No UC_1.29 Use Case Version 1.0

Use Case Name Verify leave request

• Users are able to verify leave request

• Users verify leave request successfully

• Users Click the “Approval” button in Bulk Action Menu

• Users have already signed and navigated the Leave Request

Step Actor Action System Response

Click the “Bulk Action” button in the record of the leave request want to approve

The system will show the Bulk Action Menu

2 Click the “Approval” button The system will show the Approval

3 Click the “Approve” button The system will show the success message, and close the modal

3.2.2.4.23 Use case report in-valid an attendance history

Figure 3.24 Use case report in-valid an attendance history Table 3.24 Use case report in-valid an attendance history description

Use Case No UC_1.31 Use Case Version 1.0

Use Case Name Report in-valid an attendance history

• Users are able to report invalid an attendance history

• Users report invalid an attendance history successfully

• Users Click into the Attendance History Card that want to report

• Users have already signed and navigated the Attendance History screen

• Users report invalid an attendance history

Step Actor Action System Response

In Personal tab, choose filter type is valid [A1]

The system will show all the Attendance History Card that are currently valid

2 Click into the Attendance History

Card that want to report

The system will show the Attendance History Card Detail

3 Click the “Report invalid” button The system will show the Report modal

5 Click the “Submit” button The system will close all modal and show the success message

No Actor Action System Response

In Management tab, choose department, chose employee and choses filter type is valid

The system will show all the Attendance History Card that are currently valid

History Card that want to report

The system will show the Attendance History Card Detail

Click the “Report invalid” button

The system will show the Report modal

Click the “Submit” button The system will close all modal and show the success message

3.2.2.4.24 Use case view attendance exception

Figure 3.25 Use case view attendance exception Table 3.25 Use case view attendance exception description

Use Case No UC_1.33 Use Case Version 1.0

Use Case Name View attendance exception

• Users are able to view attendance exception

• Users view attendance exception successfully

• Users have already signed and screen

Step Actor Action System Response

The system will show all the Attendance Exception in the table

No Actor Action System Response

User with the role Admin The system only shows the Department

Filter Chose the Check Out tab

Chose the department name in Department Filter

The system will show all the Attendance Exception in the table according to the Department Filter current value

3.2.2.4.25 Use case view attendance exception detail

Figure 3.26 Use case view attendance exception detail Table 3.26 Use case view attendance exception detail description

Use Case No UC_1.34 Use Case Version 1.0

Use Case Name View attendance exception detail

• Users are able to view attendance exception detail

• Users view attendance exception detail successfully

• Users have already signed and screen and navigated to the Attendance Exception Management

• Users view attendance exception detail

Step Actor Action System Response

Click the “Bulk Action” button in the record of the Attendance Exception that want to view detail [A1]

The system will show the Bulk Action Menu

Click the “Approval” button in the menu

The system will show the Detail Modal of Attendance Exception

No Actor Action System Response

Chose the Check Out tab The system only shows the

Click the “Bulk Action” button in the record of the Attendance Exception that want to view detail

The system will show the Bulk Action Menu

Click the “Approval” button in the menu

The system will show the Detail Modal of Attendance Exception

3.2.2.4.26 Use case verify attendance exception

Figure 3.27 Use case verify attendance exception Table 3.27 Use case verify attendance exception description

Use Case No UC_1.35 Use Case Version 1.0

Use Case Name Verify attendance exception

• Users are able to verify attendance exception

• Users verify attendance exception detail successfully

• Users have already signed and screen and navigated to the Attendance Exception Management

Step Actor Action System Response

Click the “Bulk Action” button in the record of the Attendance Exception that want to view detail [A1]

The system will show the Bulk Action Menu

Click the “Approval” button in the menu

The system will show the Detail Modal of Attendance Exception

Click the “Approve” or “Reject” button in the modal

The system will show the success message and close the modal

No Actor Action System Response

Chose the Check Out tab The system only shows the

Click the “Bulk Action” button in the record of the Attendance

Exception that want to view detail

The system will show the Bulk Action Menu

Click the “Approval” button in the menu

The system will show the Detail Modal of Attendance Exception

Click the “Approve” or “Reject” button in the modal

The system will show the success message and close the modal

3.2.2.4.27 Use case update organization detail

Figure 3.28 Use case update organization detail Table 3.28 Use case update organization detail description

Use Case No UC_1.36 Use Case Version 1.0

Use Case Name Update organization detail

• Users are able to update organization detail

• Users update organization detail successfully

• Users have already signed and screen and navigated to the Organization Details

Step Actor Action System Response

1 Edit some field in organization details

The system will check validation for each field

2 Click the “Save” button in the organization details box

The system will show the success message

3.2.2.4.28 Use case create shift type

Figure 3.29 Use case create shift type Table 3.29 Use case create shift type description

Use Case No UC_1.38 Use Case Version 1.0

Use Case Name Create shift type

• Users are able to create shift type

• Users create shift type successfully

• Click the “Modify Shift Type” button

• Users have already signed and screen and navigated to the Organization Details or the Work Shift

• Users create a new shift type

Step Actor Action System Response

Click the “Modify Shift Type” button in

The system will show the Modify Shift Type Modal

Click the “New Shift Type” button The system will show all the field need to fill in to create a new shift type

3 Fill all the required field

Click the “Create” button The system will close the modal and show the success message

No Actor Action System Response

Click the “Modify Shift Type” button in Work Shift

The system will show the Modify Shift Type Modal

Click the “New Shift Type” button

The system will show all the field need to fill in to create a new shift type

Fill all the required field

Click the “Create” button The system will close the modal and show the success message

3.2.2.4.29 Use case delete shift type

Figure 3.30 Use case delete shift type Table 3.30 Use case delete shift type description

Use Case No UC_1.40 Use Case Version 1.0

Use Case Name Delete shift type

• Users are able to delete shift type

• Users delete shift type successfully

• Click the “Modify Shift Type” button

• Users have already signed and screen and navigated to the Organization Details or the Work Shift

Step Actor Action System Response

1 Click the “Modify Shift Type” button in Organization Details [A1]

The system will show the Modify Shift Type Modal

Click into the Shift Type want to delete

The system will show all the information of that Shift Type include the “Delete” button

3 Click the “Delete” button The system will show the alert modal

4 Click the “Delete” button The system will close all modal and show the success message

No Actor Action System Response

Type” button in Work Shift

The system will show the Modify Shift Type Modal

Click into the Shift Type want to delete

The system will show all the information of that Shift Type include the “Delete” button

Click the “Delete” button The system will show the alert modal

Click the “Delete” button The system will close all modal and show the success message

3.2.2.4.30 Use case create leave type

Figure 3.31 Use case create leave type Table 3.31 Use case create leave type description

Use Case No UC_1.42 Use Case Version 1.0

Use Case Name Create leave type

• Users are able to leave shift type

• Users create leave type successfully

• Click the “Modify Leave Type” button

• Users have already signed and screen and navigated to the Organization Details or the Leave Request Management

• Users create a new leave type

Step Actor Action System Response

The system will show the Modify Leave Type Modal

2 Click the “New Leave Type” button

The system will show all the field need to fill in to create a new leave type

3 Fill all the required field

4 Click the “Create” button The system will close the modal and show the success message

No Actor Action System Response

The system will show the Modify Leave Type Modal

Click the “New Leave Type” button

The system will show all the field need to fill in to create a new leave type Fill all the required field

Click the “Create” button The system will close the modal and show the success message

3.2.2.4.31 Use case delete leave type

Figure 3.32 Use case delete leave type

Table 3.32 Use case delete leave type description

Use Case No UC_1.44 Use Case Version 1.0

Use Case Name Delete leave type

• Users are able to delete leave type

• Users delete leave type successfully

• Click the “Modify Leave Type” button

• Users have already signed and screen and navigated to the Organization Details or the Leave Request Management

• Users create a new leave type

Step Actor Action System Response

The system will show the Modify Leave Type Modal

Click into the Leave Type want to delete

The system will show all the information of that Leave Type include the “Delete” button

3 Click the “Delete” button The system will show the alert modal

4 Click the “Delete” button The system will close all modal and show the success message

No Actor Action System Response

The system will show the Modify Leave Type Modal

Click into the Leave Type want to delete

The system will show all the information of that Leave Type include the “Delete” button Click the “Delete” button The system will show the alert modal

Click the “Delete” button The system will close all modal and show the success message

3.2.2.4.32 Use case view list department

Figure 3.33 Use case view list department Table 3.33 Use case view list department description

Use Case No UC_1.45 Use Case Version 1.0

Use Case Name View list department

• Users are able to view list department

• Users view list department successfully

Step Actor Action System Response

The system only will show the list of departments in the table

3.2.2.4.33 Use case assign manager to department

Figure 3.34 Use case assign manager to department Table 3.34 Use case assign manager to department description

Use Case No UC_1.49 Use Case Version 1.0

Use Case Name Assign manager to department

• Users are able to assign manager to department

• Users assign manager to department successfully

• Click the “Bulk Action” button

• Users have already signed and screen and navigated to the Assigning Department Management

• Users assign manager to department

Step Actor Action System Response

Click the “Bulk Action” button in the record of the employee want to assign

The system only will show Bulk Action Menu

Click the “Assign” button The system will show the Drawer contains the information of the employee and the selection field for assign department

3 Chose the department want to be assigned

4 Click the “Save” button The system will close the modal and show the success message

Figure 3.35 Use case create employee

Table 3.35 Use case create employee description

Use Case No UC_1.51 Use Case Version 1.0

Use Case Name Create employee

• Users are able to create employee

• Click the “Add New” button

• Users have already signed and screen and navigated to the Employee Management

Step Actor Action System Response

1 Click the “Bulk Action” button on the table

The system will show the Drawer to create a new employee

2 Fill all the required field The system will validate for each field

3 Click the “Save” button The system will close the Drawer and show the success message

SYSTEM DESIGN

System Architecture

The figure above describes our team system architecture To demonstrate it, we will go straight to the face recognition flow and the training flow

The face recognition process begins when a user accesses the designated route, prompting the Client to retrieve the models and face data in JSON format from the faceapi.js library on the Server Once these resources are loaded using the faceapi.js service on the Client, it becomes prepared for facial recognition tasks.

The training flow for face data collection begins when the user accesses the training face route The Client retrieves models from the faceapi.js library on the Server, which are then used for face detection This process captures the user's facial images and sends them to the Server, where face-api.js processes the data to extract unique facial features These features are compiled into a distinctive feature vector for each user's face, forming a comprehensive collection of vectors.

65 recognition features of that user and it will be saved into the file (face data JSON) in the Server.

Entity Relation Diagram

Database Diagram

Figure 4.3 Database Diagram Table 4.1 Database diagram description

Attendance Is a place to store attendance information

AttendanceException Is a place to store attendance exception information Department Is a place to store department information

DepartmentManager Is a place to store manager of a department information Employee Is a place to store email, password, employee

FaceTrainingImage serves as a repository for all URLs related to face data images upon the completion of training LeaveRequest functions as a storage location for all information pertaining to leave requests LeaveType is designated for storing various types of leave requests.

Location Is a place to store all the location information

Organization serves as a repository for all organizational information, while Permission stores all relevant permission details Resource contains information about all client screens, and Role is dedicated to storing all role-related information.

RolePermission serves as a repository for all role-related permissions, while ShiftType contains comprehensive information about various shift types URLManagement is dedicated to storing all session-related URL data, and Workshift provides detailed information regarding work shifts.

Sequence Diagram

4.4.1 Take attendance by using facial recognition

Figure 4.4 Take attendance by facial recognition – part 1 sequence diagram

Figure 4.5 Take attendance by facial recognition – part 2 sequence diagram

Figure 4.6 Report attendance failure sequence diagram

Figure 4.7 Collect face data sequence diagram

Figure 4.8 View face data photos sequence diagram

4.4.5 Request employee to re-train

Figure 4.9 Request employee to re-train sequence diagram

Figure 4.10 Verify leave request sequence diagram

Activity Diagram

4.6.1 Take attendance by using facial recognition

Figure 4.11 Take attendance by using facial recognition activity diagram

Figure 4.12 Report attendance failure activity diagram

User Interfaces Design

Table 4.2 Screen for Unauthorized User

1 Login screen This screen is for user use to log into the system

Table 4.3 Screen for Authorized User: Employee, Manager, Admin

1 Dashboard This screen is for user to quickly navigate to other screens

2 Face Attendance This screen is for user use to take attendance

This screen is for user use to make a report for attendance exception

This is screen is for user to able to:

2 Adjust Organization’s information and policy (if they have the permission)

This screen is for user to able to:

2 View and manage other employee work shift (if they have the permission)

This screen is for user to able to view and manage their leave request

5 Profile Setting This screen is for user to able to view and adjust their profile’s information

This screen is for user to able to:

2 View and manage other employee attendance’s information (if they have the permission)

7 First Time Login This screen is for user to able to update their profile’s information for the first time

Figure 4.13 Login screen Table 4.4 Login screen description

No Name Type Description Action result

1 Website Name Text Display box of the name of the website

2 Welcome Message Text Display the welcome message

3 Email Text Field Component Display the Email input field

Component Display the Password input field

6 Sign In Button Button Button for login Navigate to

Figure 4.14 Dashboard screen Table 4.5 Dashboard screen description

No Name Type Description Action result

1 Dashboard Card Component The card that for user to quickly navigate to other screens

Text Display the welcome message

Icon Display the Email input field

Figure 4.15 Organization detail main screen

Table 4.6 Organization detail main screen description

No Name Type Description Action result

Text Display the name of the screen

Button Button for modify shift type

Open the Modify Shift Type

Button Button for modify leave type

Open the Modify Leave Type Modal

Button Button for save organization information

13 City Selection Field Component Display the Country

14 Address Text Field Component Display the Address

Figure 4.16 Modify shift type modal Table 4.7 Modify shift type modal description

No Name Type Description Action result

Text Display the name of modal

Button Button for close the modal

Show all the Shift Type Item Detail

Component Display the detail of the Shift Type

Button Button for delete the Shift Type

Button Button for save the

Button Button for add new

Show the Add New Shift Type Form

4.7.2.3.2.1 Add new shift type form

Figure 4.17 Add new shift type form Table 4.8 Add new shift type form description

No Name Type Description Action result

Text Display the name of modal

3 Start Time Text Component Display the Start

Button Button for cancel the process off create new Shift Type

Button Button for create the new Shift Type

Figure 4.18 Modify leave type modal

Table 4.9 Modify leave type modal description

No Name Type Description Action result

Text Display the name of modal

Button Button for close the modal

Show all the Leave Type Item Detail

Component Display the detail of the Leave Type

Button Button for delete the

Button Button for save the

Button Button for add new

Show the Add New Leave Type Form

4.7.2.3.3.1 Add new leave type form

Figure 4.19 Add new leave type form Table 4.10 Add new leave type form description

No Name Type Description Action result

Text Display the name of modal

Button Button for cancel the process off create new Leave Type

Button Button for create the new Leave Type

Figure 4.20 Department management screen Table 4.11 Department management screen description

No Name Type Description Action result

Text Display the name of the screen

Button Button for create new department

Open the Drawer for create new department

3 Reset Table Button Button Button for reset the state of the table

4 Department Table Table Display the list of departments

Button Button for move to the first page of the table

Move to the first page

Button Button for move to the previous page of the table

Move to the previous page

Button Button for move to the next page of the table

Move to the next page

Button Button for move to the last page of the table

Move to the last page

9 Page Counter Text Display the total page and the current page

10 Jump Page Input Input Display the Jump

Display the Page Size Selection Input field

Button Button for open the

Open the bulk Action Menu

13 Bulk Action Menu Component Display all the action that can do of the record

14 Edit Action Button Button Button for open the

Button Button for Delete the curren record

Figure 4.21 Department management add – edit drawer

Table 4.12 Department management add – edit drawer description

No Name Type Description Action result

Text Display the name of the Drawer

2 Cancel Button Button Button for close the drawer

3 Save Button Button Button for create new department

8 City Selection Field Component Display the Country

9 Address Text Field Component Display the Address

Figure 4.22 Assigning department management main screen

Table 4.13 Assigning department management main screen description

No Name Type Description Action result

Text Display the name of the screen

Table Display the list of

Button Button for open the Bulk Action Menu

Open the Bulk Action Menu

4 Bulk Action Menu Component Display all the action of the record

Button Button for assign department for employee

Figure 4.23 Assigning department management add – edit drawer

Table 4.14 Assigning department management add – edit drawer description

No Name Type Description Action result

1 Drawer Header Text Display the name of

2 Cancel Button Button Button for close the drawer

3 Save button Button Button save the assign department

Employee Full Name Input Text Field

5 Email Text Field Component Display the Email

6 Role Text Field Component Display the Role

Figure 4.24 Employee management screen main screen Table 4.15 Employee management screen main screen description

No Name Type Description Action result

Text Display the name of the screen

Button Button for create new employee

Open the create new employee Drawer

Button Button for open the

Open the Bulk Action Menu

4 Bulk Action Menu Component Display all the action of the record

Button Button for edit the information of the employee

Button Button for view the employee photos data

Open the View Photos Modal

Button Button for request the employee to retrain their photos data

Button Button for deleting the employee

Figure 4.25 Employee management screen add – edit drawer

Table 4.16 Employee management screen add – edit drawer description

No Name Type Description Action result

1 Drawer Header Text Display the name of the Drawer

2 Cancel Button Button Button for close the drawer

3 Save button Button Button save the Save the

Employee Full Name Input Text Field

5 Email Text Field Component Display the Email

9 Phone Text Field Component Display the Phone

10 Gender Radio Field Component Display the Gender

15 City Selection Field Component Display the Country

16 Address Text Field Component Display the Address

4.7.2.6.4 View employee photo big picture

Figure 4.26 View employee photo big picture Table 4.17 View employee photo big picture description

No Name Type Description Action result

1 Modal Header Text Display the name of the Modal

Button Button for download the photo

3 Full Screen Button Button Button for view the photo in full screen

View photo in full screen

Button Button for close the

Figure 4.27 Request to retrain alert

Table 4.18 Request to retrain alert description

No Name Type Description Action result

1 Alert Header Text Display the name of the Alert

2 Alert Message Text Display the message

3 Cancel Button Button Button for close the

Button Button for accept the

Figure 4.28 Work shift screen Table 4.19 Work shift screen description

No Name Type Description Action result

1 Work Shift Header Text Display the name of the Screen

Button Button for open the modify shift type modal

Open the modify shift type modal

Component Button for selection department

Button Button for submit the selection filter

Component Button for selection employee

8 Date Type Filter Component Display the Date

Button Button for filter Date

Set Day Type Filter to Work

Button Button for filter Date

Set Day Type Filter to Leave

Button Button for move the calendar to the current date

Move calendar to the current date

Button Button for move the calendar to the previous month

Move calendar to the previous month

13 Next Month Button Button Button for move the calendar to the next month

Move calendar to the next month

14 Calendar Day Component Display the day in calendar

Component Display the Work shift in the day of the calendar

Open the Work Shift Detail Modal

Component Display all the information about the work shift

17 Work Shift Detail modal header

Text Display the name of the work shift detail modal

Button Button for delete the work shift

Button Button for close the modal

Open the Shift Type Selection

21 Shift Date Text Display the the shift date

22 Shift Time Text Display the shift time

To Employee Input Selection Field

Open the Selection of Employee

Late Arrival Input Selection Field

Open the Allow Late Arrival Selection

Early Late Input Selection Field

Open the Allow Early Late Selection

Figure 4.29 Leave request personal main screen Table 4.20 Leave request personal main screen description

No Name Type Description Action result

Text Display the name of the screen

2 Annually Status Component Display the annual status of the employee

Component Display the information about the Total Annually

Component Display the information about the Annually Leave Used

Component Display the information about the Annually Leave Remaining

6 Date Filter Component Display the date filter

Button Button for create new leave request

Open the create new leave request drawer

9 Record Bulk Button Button for open the Open the Bulk

Action Bulk Action Menu Action Menu

10 Bulk Action Menu Component Display all the action of the record

Button Button for view the leave request

Figure 4.30 Leave request personal add-edit drawer Table 4.21 Leave request personal add-edit drawer description

No Name Type Description Action result

1 Drawer Header Text Display the name of the Drawer

2 Cancel Button Button Button for close the drawer

3 Save button Button Button save the assign department

6 Reason Text Field Component Display the Reason

7 Note Text Field Component Display the Note

Figure 4.31 Leave request management main screen Table 4.22 Leave request management main screen description

No Name Type Description Action result

Text Display the name of the screen

Button Button for modify leave type

Open the Modify Leave Type

3 Department Filter Component Display the department Filter

Button Button for submit the department selection filter

6 Date Filter Component Display the date

Button Button for open the

Open the Bulk Action Menu

9 Bulk Action Menu Component Display all the action of the record

10 Edit Action Button Button Button for edit the leave request

Button Button for delete the leave request

Figure 4.32 Leave request management add-edit drawer Table 4.23 Leave request management add-edit drawer description

No Name Type Description Action result

1 Drawer Header Text Display the name of the Drawer

2 Cancel Button Button Button for close the drawer

3 Save button Button Button save the assign department

Employee Full Name Input Text Field

6 Email Text Field Component Display the Email

7 Role Text Field Component Display the Role

Type Description Input Text Field

11 Reason Text Field Component Display the Reason

12 Note Text Field Component Display the Note

Requested Date input Datetime Field

Figure 4.33 Attendance screen Table 4.24 Attendance screen description

No Name Type Description Action result

1 Personal Tab Button Button for move to personal tab

2 Management Tab Button Button for move to management tab

3 Department Filter Component Display the department Filter

Button Button for submit the department selection filter

Component Button for selection employee

Component Display the brief information about the employee

Text Display the name of the brief

10 Employee Avatar Image Display the Image of the employee

Text Display the name of the employee

Text Display the Role of the employee

Text Display the Email of the employee

Month Attendance Detail information of the employee

Text Display the name of the box

Component Display the information about the Total Attendance

Component Display the information about the Total Leave Days

Component Display the information about

Component Display the information about the Total Late Arrival

Component Display the information about the Total Early Leave

Attendance information of the employee

Text Display the name of the box

Component Display the information about the Working Hours

25 Check In Card Component Display the information about the Check In

26 Check Out Card Component Display the information about the Check Out

27 Late Arrival Card Component Display the information about the Late Arrival

28 Early Leave Card Component Display the information about the Early Leave

Attendance History card of the employee

30 Attendance History Text Display the name of

Attendance History Type by Valid

Set Attendance History Type Filter to Valid

Attendance History Type by Invalid

Set Attendance History Type Filter to Invalid

34 Date Type Filter Component Display the Date

Type Month Input Text Field

Type Year Input Text Field

Button Button for submit the Date Type Filter value

Component Display the brieft information about the attendance history card

Open the Attendance History Card Detail

Text Display the date of the card

Text Display the check in time of the card

Text Display the check out time of the card

42 Card Tag Text Display all the tag of the current card

Figure 4.34 Attendance history card detail Table 4.25 Attendance history card detail description

No Name Type Description Action result

1 Modal Header Text Display the name of the Modal

2 Modal Card Tag Text Display all the tag of the current Modal Card

Button Button for report/ convert card to invalid/valid

Open the report/convert modal

Text Display the Check in date

Text Display the Check out date

6 Check in Image Image Display the Check in

7 Check out Image Image Display the Check

Text Display the Check in

Text Display the Check out Time

4.7.2.10.3 Report/Convert to invalid/valid modal

Figure 4.35 Report/Convert to invalid/valid modal Table 4.26 Report/Convert to invalid/valid modal description

No Name Type Description Action result

1 Modal Header Text Display the name of the card

Button Button for close the modal

3 Note Text Field Component Display the Note

4 Submit Button Button Button for submit the report/convert action

Submit the report/convert action

Figure 4.36 Attendance exception main screen Table 4.27 Attendance exception main screen description

No Name Type Description Action result

Text Display the name of the screen

2 Department Filter Component Display the department Filter

Button Button for submit the department selection filter

5 Date Filter Component Display the date

7 Check In tab Button Button for move to

8 Check Out tab Button Button for move to

Move To Check Out tab

Button Button for approval the attendance exception

Figure 4.37 Approval attendance exception modal Table 4.28 Approval attendance exception modal description

No Name Type Description Action result

1 Modal Header Text Display the name of the Modal

2 Modal Tag Text Display all the tag of the current Modal

5 System Image Image Display the System

Employee Name Input Text Field

Employee Department Input Text Field

Employee Email Input Text Field

Employee Report Employee Name Input Text Field

Employee Report Employee Email Input Text Field

13 Reject Button Button Button for reject the attendance exception

14 Approve Button Button Button for approve the attendance exception

SYSTEM IMPLEMENTATION AND TESTING

CONCLUSION

Ngày đăng: 05/12/2023, 10:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN