1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn apphr xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud

213 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Apphr - Xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Tác giả Trần Thanh Quang, Nguyễn Lê Tiến Đạt, Nguyễn Trọng Trung
Người hướng dẫn ThS. Trần Thị Quế Nguyệt, ThS. Trương Quỳnh Chi
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh - Trường Đại học Bách Khoa
Chuyên ngành Khoa học Máy tính
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 213
Dung lượng 14,87 MB

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

Nội dung

Nhiệm vụ yêu cầu về nội dung và số liệu ban đầu: Sinh viên tìm hiểu, phân tích thiết kế và hiện thực một hệ thống cung cấp dịch vụ quản lý nhân sự dựa trên nền tảng cloud gồm website

Trang 1

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

APPHR - XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ QUẢN LÝ NHÂN SỰ CHO DOANH NGHIỆP DỰA TRÊN NỀN TẢNG CLOUD

NGÀNH: KHOA HỌC MÁY TÍNH

HỘI ĐỒNG: KHOA HỌC MÁY TÍNH 9 GVHD1: ThS Trần Thị Quế Nguyệt GVHD2: ThS Trương Quỳnh Chi GVPB: TS Lê Hồng Trang

—o0o—

SVTH 1: Trần Thanh Quang (1712802) SVTH 2: Nguyễn Lê Tiến Đạt (1710959) SVTH 3: Nguyễn Trọng Trung (1713712)

TP HỒ CHÍ MINH, THÁNG 08/2021

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA:KH & KT Máy tính NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP

BỘ MÔN: KHMT _ Chú ý: Sinh viên phải dán tờ này vào trang nhất của bản thuyết trình

HỌ VÀ TÊN: Nguyễn Trọng Trung MSSV: 1713712

1 Đầu đề luận án:

APPHR - XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ QUẢN LÝ NHÂN SỰ CHO DOANH NGHIỆP DỰA TRÊN NỀN TẢNG CLOUD

2 Nhiệm vụ (yêu cầu về nội dung và số liệu ban đầu):

Sinh viên tìm hiểu, phân tích thiết kế và hiện thực một hệ thống cung cấp dịch vụ quản lý nhân

sự dựa trên nền tảng cloud gồm website quản trị và ứng dụng mobile cho phép các doanh nghiệp quản lý nhân sự, quản lý các tiêu chí chấm công nhân sự, từ đó đánh giá năng lực nhân sự qua quá trình làm việc tại doanh nghiệp

3 Ngày giao nhiệm vụ luận án: 28/02/2021

4 Ngày hoàn thành nhiệm vụ: 12/08/2021

5 Họ tên giảng viên hướng dẫn: Phần hướng dẫn:

1) ThS Trần Thị Quế Nguyệt

2) ThS Trương Quỳnh Chi

3)

Nội dung và yêu cầu LVTN đã được thông qua Bộ môn

Ngày tháng năm 2021

PGS.TS Trần Minh Quang ThS Trần Thị Quế Nguyệt

PHẦN DÀNH CHO KHOA, BỘ MÔN:

Người duyệt (chấm sơ bộ):

Đơn vị: _

Ngày bảo vệ:

Điểm tổng kết: _

Trang 3

Ngày 10 tháng 08 năm 2021

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người hướng dẫn/phản biện)

1 Họ và tên SV: Trần Thanh Quang – 1712802 Nguyễn Lê Tiến Đạt - 1710959

Nguyễn Trọng Trung - 1713712 Ngành (chuyên ngành): Khoa học Máy tính

2 Đề tài: APPHR - XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ QUẢN LÝ NHÂN SỰ CHO DOANH NGHIỆP DỰA TRÊN NỀN TẢNG CLOUD

3 Họ tên người hướng dẫn: ThS Trần Thị Quế Nguyệt – ThS Trương Quỳnh Chi

4 Tổng quát về bản thuyết minh:

6 Những ưu điểm chính của LVTN:

- Nhóm sinh viên đã hoàn thành xuất xắc nhiệm vụ được đưa ra, phát triển một hệ thồng cung cấp dịch vụ quản lý nhân sự cho nhiều doanh nghiệp dựa trên nền tảng cloud theo mô hình kiến trúc multi tenant và micro services

- Kết quả luận văn bao gồm trang landing page giới thiệu dịch vụ cho phép người dùng là admin doanh nghiệp, đăng kí mở tài khoản sử dụng thử các tính năng, hệ thống quản lý nhân sự đa người dùng với cơ chế phân quyền vai trò linh động, ứng dụng mobile app cho nhân sự của doanh nghiệp

sử dụng để điểm danh, xem các thông báo, xin nghỉ phép, tăng ca Hệ thống hỗ trợ đa ngôn ngữ

- Hệ thống được triển khai trên nền tảng AWS, website được cấu hình tên miền, và hệ thống có khả năng tự tạo subdomain khi người dùng đăng kí dùng thử Ứng dụng trên thiết bị di động được triển khai và xuất bản trên Google Play Store

- Các dịch vụ được đưa ra mang tính thực tiễn, tích hợp các tiện ích cần có như dịch vụ e mail, in ấn, thông báo, lấy định vị, v.v phục vụ nhu cầu cần thiệt cho việc quản trị nhân sự, hợp đồng lao động, điểm danh bằng QRCODE hoặc Wifi nội bộ, đề xuất, phê duyệt xin nghỉ phép, tăng ca, chấm công, tính lương, bảng lương cho một doanh nghiệp có thể hoạt động với nhiều chi nhánh, phòng ban

- Ứng dụng mobile thiết kế có tính trải nghiệm tốt, tận dụng tốt các kỹ năng lập trình cần có với các tiện ích như thông báo, tương tác thời gian thực trong tính năng điểm danh, kiểm tra kết nối wifi, kiểm tra địa chỉ IP cụ thể được phép, v.v

- Trang web hỗ trợ các cài đặt cần thiết cho các doanh nghiệp, giao diện chấm công trực quan dễ nhìn,

hỗ trợ tính lương theo các hình thức làm việc khác nhau, có thể áp dụng cho các doanh nghiệp có quy

mô vừa và nhỏ

- Ngoài việc thiết kế và hiện thực, nhóm cũng đã tìm hiểu công cụ kiểm thử Katalon để tạo các testcase cho việc kiểm thử tự động, triển khai, tìm hiểu các kỹ thuật tối ưu để đạt kết quả tốt khi thực hiện đánh giá hiệu suất dựa trên Google Page Speed tích hợp trên trình duyệt web

- Làm việc nhóm và phân công nhiệm vụ tốt Có tinh thần học hỏi, nghiêm túc và có kế hoạch

7 Những thiếu sót chính của LVTN:

- Cần phát triển thêm mô hình tính giá để có thể đáp ứng nhu cầu đầy đủ hơn cho một sản phẩm

8 Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □

9 3 câu hỏi SV phải trả lời trước Hội đồng:

10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm : 10 /10

Ký tên (ghi rõ họ tên)

Trang 4

-

Ngày 10 tháng 08 năm 2021

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người hướng dẫn/phản biện)

1 Họ và tên SV: Trần Thanh Quang, Nguyễn Lê Tiến Đạt, Nguyễn Trọng Trung

MSSV: 1712802, 1710959, 1713712 Ngành (chuyên ngành): KHMT

2 Đề tài: APPHR - Xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud

3 Họ tên người hướng dẫn/phản biện: Lê Hồng Trang

4 Tổng quát về bản thuyết minh:

6 Những ưu điểm chính của LVTN:

- Luận văn xây dựng được một hệ thống gồm website quản trị và ứng dụng di động cho việc quản lý nhân sự Các chức năng quản trị và quản lý nhân sự khá đa dạng như quan lý hồ sơ, điểm danh, hợp đồng lao động, lương, lưu trữ (trên hệ web) và các tính năng hỗ trợ khác trên di động

- Nội dung luận băn được bố cục trong 7 chương, trình bày khá đầy đủ từ việc khảo sát và tham khảo các hệ thống quản lý nhân sự, các công nghệ phát triển hệ thống, thiết kế, hiện thực và kiểm thử, và triển khai đánh giá trên AWS

- Hệ thống đã xây dựng các chức năng cơ bản về việc quản lý nhân sự Khối lượng công việc

đã thực hiện là tương đối lớn, nhiều công nghệ tốt được đã được sử dụng để phát triển hệ thống

- Nhìn chung các nội dung được trình bày rõ ràng, kỹ năng công nghệ của nhóm tác giả tốt

7 Những thiếu sót chính của LVTN:

- Hệ thống chưa có chức năng đánh giá KPI (điều này đã được nêu trong luận văn)

- Các tính năng về quản lý lương còn ở mức cơ bản, mặc dù đây là một trong số nghiệp vụ quan trọng của quản lý nhân sự

- Nên bổ sung vài tính năng hỗ trợ cho làm việc ở nhà trong thời kỳ dịch bệnh hiện nay

8 Đề nghị: Được bảo vệ R Bổ sung thêm để bảo vệ o Không được bảo vệ o

9 3 câu hỏi SV phải trả lời trước Hội đồng:

10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Điểm: 9.5 /10

Ký tên (ghi rõ họ tên)

TS Lê Hồng Trang

Trang 5

Chúng tôi xin cam đoan đây là hệ thống riêng của nhóm tôi và được sự hướng dẫn của Thạc sĩTrần Thị Quế Nguyệt và cố vấn đến từ Thạc sĩ Trương Quỳnh Chi Các nội dung tìm hiểu, thiết

kế đề tài này là trung thực, hoàn toàn không sao chép hoặc sử dụng dụng kết quả của đề tài kháctương tự

Nếu phát hiện có bất kỳ sự gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiệm về nộidung luận văn của mình và chịu mọi hình thức kỷ luật trước Bạn chủ nhiệm Khoa và Ban giámhiệu nhà trường

Trang 6

Lời đầu tiên, chúng tôi xin gửi lời cảm ơn chân thành nhất đến cô Trần Thị Quế Nguyệt và côTrường Quỳnh Chi đã hỗ trợ chúng tôi trong suốt quá trình thực hiện Luận văn tốt nghiệp CôTrần Thị Quế Nguyệt đã giúp chúng tôi chỉ ra phương hướng, bàn bạc, và đưa ra những góp ýcho hệ thống của chúng tôi ngày càng hoàn thiện hơn.

Tiếp theo, chúng tôi xin gửi lời cảm ơn đến quý thầy cô trong trường Đại học Bách Khoa

đã giảng dạy, truyền đạt tận tình cho chúng tôi những kiến thức nền tảng, hữu ích cho việc hoànthành bản báo cáo này, những kiến thức đó còn là nền tảng cho sự nghiệp tương lai của chúngtôi

Đồng thời, chúng tôi cũng xin gửi lời cảm ơn đến Ban chủ nhiệm Khoa và Ban Giám hiệuNhà trường đã tạo điều kiện tốt nhất về cơ sở vật chất, trang thiết bị học tập cho chúng tôi họctập, rèn luyện, sắp xếp thời gian hợp lý cho chúng tôi hoàn thành Luận văn trong khi đang diễn

ra đại dịch Covid-19

Cuối cùng, do bản thân chúng tôi còn nhiều hạn chế về kiến thức, về thời gian, nhiều kinhnghiệm thực tiễn nên chúng tôi khó lòng tránh khỏi những sai sót đáng tiếc trong quá trình hiệnthực Luận văn, chúng tôi rất mong nhận được những ý kiến đóng góp từ thầy, cô, bạn bè để báocáo này được hoàn thiện hơn

Một lần nữa xin gửi lời cảm ơn chân thành đến thầy cô, các anh chị, các em và các bạn đãdành thời gian đọc bản báo cáo Luận văn này

Nhóm thực hiện đề tài

Trang 7

APPHR là hệ thống gồm web và ứng dụng di động cung cấp dịch vụ quản lý nhân sự cho doanh

nghiệp trên nền tảng Cloud

Để hoàn thành được đề tài này, chúng tôi đã tiến hành thực hiện:

• Khảo sát các hệ thống liên quan đến quản lý nhân sự

• Tìm hiểu quy trình quản lý nhân sự, tiền lương

• Lên danh sách và đặc tả các chức năng cần thiết của hệ thống

• Tìm hiểu việc mô tả hệ thống thông qua sơ đồ usecase

• Tìm hiểu và vẽ mô tả giao diện của hệ thống trên Figma

• Tìm hiểu công nghệ hiện nay và tiến hành hiện thực hệ thống

– Website được hiện thực trên ReactJS.

– Ứng dụng di động được hiện thực bằng Flutter.

– Server back-end được hiện thực trên NestJS.

• Kiểm thử, triển khai và đánh giá hệ thống

• Viết báo cáo

Trang 8

Chương 1 Giới thiệu đề tài

Giới thiệu tổng quan, những nội dung thực hiện, nêu bật ý nghĩa thực tiễn và học tập kèmtheo đó là giới hạn của đề tài

Chương 6 Kiểm thử, triển khai và đánh giá hệ thống

Đánh giá hệ thống thông qua kiểm thử bằng Katalon và trên giao diện người dùng, triểnkhai hệ thống, qua đó xác định hiệu suất hệ thống đạt được, tìm cách nâng cao hiệu suất của hệthống

Chương 7 Tổng kết, đánh giá và hướng phát triển đề tài

Tổng kết lại những kết quả đã đạt được trong suốt quá trình thực hiện đề tài từ đó đánh giátoàn bộ hệ thống thông qua những ưu điểm và khuyết điểm, từ đó đưa ra hướng phát triển cầnthiết cho hệ thống trong tương lai

Trang 9

Phiếu nhiệm vụ luận văn ii

Phiếu chấm điểm của giảng viên hướng dẫn iii

Phiếu chấm điểm của giảng viên phản biện iv

1.1 Tổng quan 1

1.2 Nội dung thực hiện 2

1.3 Ý nghĩa của đề tài 2

1.3.1 Ý nghĩa thực tiễn 2

1.3.2 Ý nghĩa khoa học, kỹ thuật 3

1.4 Giới hạn đề tài 3

2 Kiến thức nền tảng 4 2.1 Cơ sở lý thuyết 4

2.1.1 Mô hình Model - View - Controller 4

2.1.2 RESTful API 5

2.1.3 JSON Web Token 6

2.2 Công nghệ nền tảng 7

2.2.1 Front-end 7

2.2.2 Back-end 11

2.2.3 Cơ sở dữ liệu 12

Trang 10

2.2.4 Cloud và các dịch vụ tích hợp 12

3 Phân tích hệ thống 14 3.1 Khảo sát các hệ thống liên quan 14

3.1.1 Hệ thống MISA AMIS 14

3.1.2 Hệ thống Base.vn 16

3.1.3 Hệ thống Tanca.io 18

3.1.4 ACheckin 20

3.2 Đặc tả hệ thống APPHR 21

3.2.1 Trang chủ 22

3.2.2 Sysadmin 22

3.2.3 Module Chấm công 22

3.2.4 So sánh với hệ thống đã khảo sát 35

3.3 Phân tích nghiệp vụ 35

3.3.1 Module chấm công 35

3.3.2 Trang chủ 79

3.3.3 Sysadmin 80

3.3.4 Các yêu cầu phi chức năng của hệ thống 80

4 Thiết kế hệ thống 81 4.1 Kiến trúc tổng thể 81

4.2 Thiết kế cơ sở dữ liệu 82

4.2.1 Thiết kế cơ sở dữ liệu dùng chung (schema public) 83

4.2.2 Thiết kế cơ sở dữ liệu cho khách hàng (schema tenant) 86

4.3 Giao tiếp giữa Web/Ứng dụng di động và Server 101

5 Hiện thực hệ thống 104 5.1 Công nghệ, thư viện đã sử dụng 104

5.2 Quản lý mã nguồn 107

5.2.1 Lưu trữ mã nguồn và quản lý bằng Git 107

5.2.2 Cấu trúc mã nguồn 107

5.3 Giao diện của hệ thống 111

5.3.1 Giao diện trang chủ giới thiệu về hệ thống 111

5.3.2 Giao diện của trang sysadmin 114

5.3.3 Giao diện của module chấm công 115

5.3.4 Giao diện trên ứng dụng di động 146

Trang 11

6 Kiểm thử, triển khai và đánh giá hệ thống 154

6.1 Kiểm thử hệ thống 154

6.1.1 Kiểm thử Web 154

6.1.2 Kiểm thử ứng dụng di động 165

6.2 Triển khai hệ thống 171

6.2.1 Triển khai hệ thống web trên nền tảng Cloud 171

6.2.2 Triển khai ứng dụng di động 182

6.3 Đánh giá hệ thống 184

6.3.1 Đánh giá hiệu suất hệ thống bằng Google PageSpeed Insights 184

6.3.2 Cải thiện hiệu suất hệ thống 185

7 Tổng kết, đánh giá và hướng phát triển đề tài 190 7.1 Tổng kết kết quả đạt được 190

7.1.1 Đối với nhiệm vụ của đề tài 190

7.1.2 Đối với lợi ích kinh tế 190

7.1.3 Đối với cơ sở lý thuyết và công nghệ 191

7.1.4 Đối với quy trình phát triển phần mềm 191

7.2 Đánh giá kết quả đạt được 192

7.2.1 Ưu điểm 192

7.2.2 Nhược điểm 192

7.3 Hướng phát triển đề tài 193

Trang 12

2.1 Sơ đồ tương tác mô hình MVC 4

2.2 Sơ đồ kiến trúc của Redux 8

2.3 Sơ đồ kiến trúc Bloc 10

3.1 Usecase nhóm các chức năng cấu hình module chấm công 37

3.2 Usecase nhóm các chức năng quản lý nhân sự trong module chấm công 46

3.3 Usecase nhóm các chức năng khác trong module chấm công 57

3.4 Usecase các chức năng cho ứng dụng di động 70

3.5 Usecase của trang chủ 79

3.6 Usecase của sysadmin 80

4.1 Kiến trúc tổng quan của hệ thống 81

4.2 Kiển trúc multi-tenant 82

4.3 Lược đồ quan hệ thực thể của các thực thể dùng chung 83

4.4 Lược đồ quan hệ thực thể của dữ liệu một khách hàng 86

4.5 Cơ chế xác thực request của người dùng 101

4.6 Tạo access token cho người dùng thực hiện đăng nhập 102

4.7 So sánh với subdomain trên domain thực hiện gửi request 103

4.8 Guardian so sánh tenant code và subdomain 103

5.1 Cấu trúc thư mục hiện thực quản lý chấm công cho doanh nghiệp APPHR 108

5.2 Cấu trúc của thư mục lib 108

5.3 Cấu trúc thư mục hiện thực ứng dụng di động APPHR 109

5.4 Cấu trúc thư mục lib 110

5.5 Cấu trúc thư mục của Back-end NestJS 110

5.6 Một phần giao diện trang chủ của hệ thống APPHR 111

5.7 Một phần giao diện module chấm công 112

5.8 Giao diện đăng ký sử dụng hệ thống 112

5.9 Email chứa nội dung kích hoạt tài khoản doanh nghiệp 113

5.10 Giao diện kích hoạt tài khoản doanh nghiệp 114

5.11 Giao diện danh sách khách hàng 115

5.12 Giao diện thông tin chi tiết của khách hàng 115

5.13 Giao diện đăng nhập vào hệ thống quản lý của APPHR 116

Trang 13

5.14 Giao diện bảng điều khiển 117

5.15 Giao diện quản lý điểm danh 118

5.16 Giao diện danh sách các ca làm việc trong một ngày của một nhân sự 118

5.17 Giao diện lịch sử điểm danh 119

5.18 Giao diện quản lý đề xuất 120

5.19 Giao diện thông tin đề xuất 120

5.20 Giao diện quản lý nhân sự 121

5.21 Giao diện thêm dữ liệu danh sách nhân sự 122

5.22 Giao diện xuất dữ liệu danh sách nhân sự 122

5.23 Giao diện bảng lương cho toàn bộ nhân sự 123

5.24 Thông tin bảng lương 124

5.25 Giao diện xuất phiếu lương cho nhân sự 124

5.26 Thông tin phiếu lương 125

5.27 Diễn giải các khoản tính lương 126

5.28 Giao diện tạo mới một nhân sự 127

5.29 Giao diện thông tin cơ bản của nhân sự 127

5.30 Giao diện lịch sử công tác của nhân sự 128

5.31 Giao diện hợp đồng lao động đang có hiệu lực của nhân sự 128

5.32 Giao diện đợt lương đang có hiệu lực của nhân sự 129

5.33 Giao diện trình độ chuyên môn của nhân sự 129

5.34 Giao diện chứng chỉ chuyên ngành của nhân sự 130

5.35 Giao diện thông tin liên hệ của nhân sự 130

5.36 Giao diện thông tin khác của nhân sự 131

5.37 Giao diện bảng phân công công việc 131

5.38 Giao diện lịch sử nghỉ làm của nhân sự 132

5.39 Giao diện lịch sử nghỉ làm của nhân sự 132

5.40 Giao diện thông tin chi tiết của một thuộc tính hợp đồng do người dùng tự định nghĩa 133

5.41 Giao diện thông tin chi tiết của một nhóm lương 133

5.42 Giao diện thông tin chi tiết của một loại trợ cấp 134

5.43 Giao diện thông tin chi tiết của một loại phí mà doanh nghiệp quy định 135

5.44 Giao diện quản lý hợp đồng 135

5.45 Giao diện xem thông tin chi tiết hợp đồng 136

5.46 Giao diện quản lý đợt lương 137

5.47 Giao diện xem thông tin chi tiết đợt lương 138

5.48 Giao diện danh sách vai trò 139

Trang 14

5.49 Giao diện thông tin chi tiết của một vai trò 139

5.50 Giao diện quản lý tài khoản 140

5.51 Giao diện thông tin chi tiết của một tài khoản 140

5.52 Giao diện quản lý thông báo 141

5.53 Giao diện xem thông tin chi tiết một thông báo 141

5.54 Giao diện lưu trữ file 142

5.55 Giao diện cài đặt thông tin chung 143

5.56 Giao diện thông tin chi tiết của chi nhánh 143

5.57 Giao diện thông tin chi tiết của phòng ban 144

5.58 Giao diện thông tin chi tiết của vị trí 144

5.59 Giao diện thông tin chi tiết của ca làm việc 145

5.60 Giao diện thông tin chi tiết của ngày nghỉ lễ 145

5.61 Giao diện xem thông tin chi tiết chính sách ngày nghỉ 146

5.62 Giao diện giới thiệu về ứng dụng APPHR 146

5.63 Giao diện nhập tên miền 147

5.64 Giao diện đăng nhập 147

5.65 Giao diện trang chủ trên mobile 147

5.66 Giao diện trang đề xuất trên mobile 148

5.67 Giao diện chính sách ngày nghỉ 148

5.68 Giao diện danh sách đề xuất xin nghỉ 149

5.69 Giao diện chi tiết của đề xuất xin nghỉ 149

5.70 Giao diện tạo đề xuất xin nghỉ 149

5.71 Giao diện gửi đề xuất thành công 149

5.72 Giao diện bảng điểm danh trên mobile 150

5.73 Giao diện hình thức điểm danh 150

5.74 Giao diện điểm danh bằng mạng nội bộ 151

5.75 Giao diện quét mã QR 151

5.76 Giao diện trang thông báo trên mobile 151

5.77 Giao diện thông tin chi tiết của thông báo 151

5.78 Giao diện của trang cài đặt trên mobile 152

5.79 Giao diện xem thông tin hồ sơ 152

5.80 Giao diện đổi mật khẩu 153

5.81 Giao diện nhắc nhở điểm danh 153

6.1 Cấu trúc thư mục kiểm thử trên Katalon 155

6.2 Kết quả kiểm thử test suite đăng nhập và đăng xuất 158

Trang 15

6.3 Kết quả kiểm thử test suite đa ngôn ngữ 159

6.4 Kết quả kiểm thử test suite đăng ký dùng thử hệ thống 160

6.5 Kết quả kiểm thử test suite thông tin doanh nghiệp 161

6.6 Kết quả kiểm thử test suite chi nhánh 162

6.7 Kết quả kiểm thử test suite nhân sự 163

6.8 Kết quả kiểm thử test suite hợp đồng 164

6.9 Kết quả kiểm thử test suite đợt lương 165

6.10 Kiến trúc triển khai hệ thống 172

6.11 Gói Github Student Developer 173

6.12 Đăng ký tên miền trên Namecheap 173

6.13 Chỉ định địa chỉ IP domain trỏ về 174

6.14 Cài đặt letsencrypt và tạo chứng chỉ SSL 174

6.15 Tạo TXT record để tích hợp chứng thực SSL 175

6.16 Xác nhận chứng chỉ SSL tạo thành công 175

6.17 Khai báo chứng chỉ SSL và khóa cho Nginx Web Server 176

6.18 Docker file với kỹ thuật “multi-stage build” 177

6.19 Docker-compose để chạy nhiều service 178

6.20 Sử dụng Nginx để chuyển hướng các request đến các service tương ứng 179

6.21 Trang quản trị EC2 instance trên Amazon web service 180

6.22 Chọn Amazon Machine Image phù hợp 180

6.23 Thông tin Elastic Compute Cloud sau khi khởi tạo Instance 180

6.24 Triển khai Service S3 như một service trên Nestjs Backend 181

6.25 Tài nguyên được tải lên Simple Storage Service 182

6.26 Thay đổi phiên bản của ứng dụng 182

6.27 Ứng dụng APPHR đã có mặt trên CH Play 184

6.28 Điểm số Google PageSpeed trước và sau khi cải thiện của giao diện “Bảng điều khiển” 187

6.29 Điểm số Google PageSpeed trước và sau khi cải thiện của giao diện “Xem thông tin chi tiết hợp đồng” 188

6.30 Điểm số Google PageSpeed trước và sau khi cải thiện của giao diện “Xem danh sách nhân sự” 189

Trang 16

3.1 Bảng đặc tả cấu hình hệ thống 23

3.2 Bảng đặc tả hồ sơ cá nhân 25

3.3 Bảng đặc tả các thực thể trong quản lý tài khoản 26

3.4 Bảng đặc tả các tính năng hỗ trợ quản lý hợp đồng 29

3.5 Bảng lương tổng quan 32

3.6 Bảng diễn giải chi tiết cách tính lương 32

3.7 Bảng diễn giải chi tiết cách tính thuế thu nhập cá nhân 33

3.8 Bảng đặc tả quản lý loại thông báo 33

3.9 Bảng so sánh các hệ thống được khảo sát 36

3.10 Usecase đăng nhập vào module chấm công trên website 38

3.11 Usecase đăng xuất hệ thống trên website 38

3.12 Usecase xem danh sách 39

3.13 Usecase xem chi tiết 40

3.14 Usecase tạo mới 41

3.15 Usecase chỉnh sửa 42

3.16 Usecase hoàn tác 43

3.17 Usecase Xóa 44

3.18 Usecase lọc/tìm kiếm 45

3.19 Usecase xem thống kê thời gian làm việc 47

3.20 Usecase xem lịch sử gửi đề xuất 48

3.21 Usecase xuất phiếu lương 49

3.22 Usecase bảng phiếu lương 50

3.23 Usecase export danh sách nhân sự 51

3.24 Usecase import danh sách nhân sự 52

3.25 Usecase xem bảng phân công công việc 53

3.26 Usecase phân công công việc 54

3.27 Usecase xem chi tiết công việc 55

3.28 Usecase xem chi tiết công việc 56

3.29 Usecase xem bảng điểm danh 58

3.30 Usecase xem danh sách các ca làm việc trong ngày 59

3.31 Usecase xem lịch sử điểm danh 60

3.32 Usecase đặt lại mật khẩu 61

Trang 17

3.33 Usecase tải xuống 62

3.34 Usecase xóa file lưu trữ 63

3.35 Usecase xem danh sách nhân viên sắp hết hạn hợp đồng 64

3.36 Usecase xem lịch sử hoạt động 65

3.37 Usecase xem thống kê tình hình đi làm của nhân viên trong một ca làm 66

3.38 Usecase xem thống kê và danh sách số đề xuất chưa được xử lý của các loại đề xuất 67

3.39 Usecase xem thống kê và danh sách số nhân viên, tài khoản, chi nhánh, phòng ban 68 3.40 Usecase đổi ngôn ngữ 69

3.41 Usecase đăng nhập vào hệ thống trên điện thoại 71

3.42 Usecase xem danh sách đề xuất 71

3.43 Usecase xem chi tiết đề xuất 72

3.44 Usecase tạo đề xuất 73

3.45 Usecase hủy đề xuất chưa xử lý 74

3.46 Usecase xem chính sách nghỉ phép 75

3.47 Usecase điểm danh trên ứng dụng di động 75

3.48 Usecase xem danh sách thông báo 76

3.49 Usecase chi tiết thông báo 76

3.50 Usecase tải tệp đính kèm trong thông báo 77

3.51 Usecase thay đổi mật khẩu 77

3.52 Usecase thiết lập nhắc nhở điểm danh 78

3.53 Usecase xem chi tiết hồ sơ liên kết 78

3.54 Usecase đăng xuất hệ thống 79

4.1 Thực thể phân quyền 83

4.2 Thực thể tỉnh/thành phố 84

4.3 Thực thể quận/huyện 84

4.4 Thực thể quận/huyện 84

4.5 Thực thể khách hàng 85

4.6 Thực thể chi nhánh 87

4.7 Thực thể phòng ban 87

4.8 Thực thể vị trí 88

4.9 Thực thể ngày nghỉ 88

4.10 Thực thể ca làm việc 89

4.11 Thực thể nhân sự 90

4.12 Thực thể đợt công tác 91

Trang 18

4.13 Thực thể trình độ chuyên môn/chứng chỉ chuyên ngành 91

4.14 Thực thể lịch sử hoạt động 92

4.15 Thực thể trợ cấp 92

4.16 Thực thể liên hệ 92

4.17 Thực thể bài viết 93

4.18 Thực thể loại bài viết 93

4.19 Thực thể phân công công việc 94

4.20 Thực thể hợp đồng 95

4.21 Thực thể thuộc tính hợp đồng 96

4.22 Thực thể thuộc tính 96

4.23 Thực thể đề xuất xin nghỉ 96

4.24 Thực thể đề xuất làm thêm giờ 97

4.25 Thực thể các loại thuế/ phí khác 97

4.26 Thực thể đề xuất làm việc từ xa 98

4.27 Thực thể vai trò 98

4.28 Thực thể điểm danh 99

4.29 Thực thể tài khoản 99

4.30 Thực thể mức lương 100

4.31 Thực thể đợt lương 100

5.1 Công nghệ, thư viện đã sử dụng 106

6.1 Bảng thông tin môi trường kiểm thử cho website 156

6.2 Nhân sự kiểm thử website 156

6.3 Test suite Đăng nhập và đăng xuất 157

6.4 Test suite đa ngôn ngữ 158

6.5 Test suite đăng ký dùng thử 159

6.6 Test suite thông tin doanh nghiệp 160

6.7 Test suite chi nhánh 161

6.8 Test suite nhân sự 162

6.9 Test suite hợp đồng 163

6.10 Test suite đợt lương 164

6.11 Thiết bị di động dùng để kiểm thử 166

6.12 Nhân sự kiểm thử ứng dụng di động 166

6.13 Kết quả kiểm thử ứng dụng di động 170

Trang 19

GIỚI THIỆU ĐỀ TÀI

Hiện nay, việc quản lý các loại giấy tờ liên quan đến hồ sơ nhân viên, điểm danh nhân viên,chấm công trong công ty là công việc tối quan trọng của bất kỳ công ty nào Nhờ vào việc sửdụng công nghệ thông tin, những công việc này đã được giảm bớt một phần đáng kể, đồng thờicũng giảm lượng giấy tờ phải lưu trữ hàng tấn dữ liệu để quản lý nhân viên

Với mong muốn cung cấp giải pháp đa nền tảng cho các doanh nghiệp có nhu cầu quản lýnhân sự trên thị trường, chúng tôi đã xây dựng hệ thống cung cấp dịch vụ cho doanh nghiệp

trên nền tảng Cloud bao gồm ứng dụng di động và các website quản trị với tên gọi APPHR Hệ thống APPHR cung cấp dịch vụ quản lý theo cách thuận tiện, dễ kiểm soát dữ liệu với các chức

năng sau:

• Đối với website quản trị quản lý nhân viên:

– Cấu hình hệ thống

– Quản lý hồ sơ nhân sự

– Quản lý điểm danh

– Quản lý tài khoản và phân quyền

– Quản lý các đơn đề xuất

– Xem danh sách các đề xuất đã tạo

– Thêm, xóa đề xuất

– Xem thông tin về chính sách ngày nghỉ

– Điểm danh theo thời gian thực thông qua mạng nội bộ hoặc mã QR

– Xem danh sách ca làm việc trong tháng

Trang 20

– Xem thông báo

– Đổi mật khẩu trong tài khoản

– Đặt lịch nhắc nhở điểm danh

• Website trang chủ của hệ thống

• Website quản lý các tài khoản của doanh nghiệp

Thông qua quá trình quản lý những dữ liệu này, hệ thống còn giúp cho người quản lý nhân

sự đánh giá được quá trình mà nhân viên đã làm việc, qua đó đưa ra những quyết định phù hợp

về mặt nhân sự đóng phần vào sự phát triển của công ty, doanh nghiệp

APPHR là một hệ thống gồm website quản trị và ứng dụng di động cho phép nhà quản trị quản

lý điểm danh, đưa ra giải pháp chấm công nhân sự, từ đó đánh giá năng lực nhân sự qua quátrình làm việc của nhân viên

Một số nội dung đã thực hiện trong quá trình hoàn thành hệ thống:

• Nghiên cứu các hệ thống về việc quản lý nhân sự cho cho doanh nghiệp bao gồm điểmdanh, tính lương, hợp đồng

• Nghiên cứu công nghệ và các nền tảng cần có để hiện thực hệ thống

• Xây dựng giao diện quản lý thân thiện với người sử dụng như xây dựng cơ chế phân quyềnđộng cho người dùng

• Hiện thực và kiểm thử hệ thống

• Triển khai và đánh giá hệ thống đã hiện thực

• Viết báo cáo về đề tài đã thực hiện

1.3 Ý nghĩa của đề tài

1.3.1 Ý nghĩa thực tiễn

Hệ thống APPHR được xây dựng dựa trên những mục tiêu hướng tới lợi ích cho doanh nghiệp:

• Đáp ứng được những nhu cầu cơ bản của một nhân viên quản lý nhân sự

• Giúp doanh nghiệp đưa ra những giải pháp chiến lược về nhân sự để đạt được mục tiêutrong kinh doanh

Trang 21

• Giúp tiết kiệm thời gian quản lý nhân sự, có nhiều thời gian hơn cho các hoạt động mangtầm vĩ mô khác chẳng hạn như đề ra các giải pháp hay kế hoạch chiến lược phục vụ cholợi ích công ty, doanh nghiệp.

• Giảm thời gian nhập và lưu trữ dữ liệu mà không xảy ra tình trạng nhầm lẫn hay sai sót

về các thông tin hay giấy tờ quan trọng

• Giúp các nhà lãnh đạo quản lý một cách tổng thể về tình hình hoạt động cũng như chấtlượng làm việc của đội ngũ nhân viên trong doanh nghiệp

• Phần mềm quản lý nhân sự này cho phép người sử dụng đồng bộ hoá các thông tin liênquan đến một nhân sự, giúp giảm thiểu thời gian và công sức trong quá trình quản lý vàlưu trữ dữ liệu nhân viên, từ đó tạo thành một nền tảng vững chắc cho việc phát triểndoanh nghiệp

1.3.2 Ý nghĩa khoa học, kỹ thuật

Xây dựng hệ thống APPHR cũng là cơ hội để chúng tôi có thể tìm hiểu những quy trình quản

lý của một doanh nghiệp ở thời điểm hiện tại Để xây dựng hệ thống, chúng tôi đã tổng hợp,

áp dụng các kiến thức đã học về cơ sở dữ liệu, kiến trúc hệ thống, các kỹ thuật lập trình ứngdụng trên web và thiết bị di động, tìm hiểu và làm việc với các công nghệ phổ biến được sửdụng hiện nay như framework back-end NestJS, thư viện front-end ReactJS, framework pháttriển ứng dụng di động Flutter, Đây cũng dịp để chúng tôi nâng cao khả năng tự học tự tìmhiểu nghiên cứu, kỹ năng làm việc nhóm và giải quyết các vấn đề phát sinh trong quá trình tìmhiểu, hiện thực, đánh giá hệ thống

1.4 Giới hạn đề tài

Trong quá trình phát triển hệ thống APPHR, chúng tôi chỉ tập trung vào việc điểm danh tại nơi

làm việc, chính vì vậy mà một số mô hình kinh doanh yêu cầu điểm danh từ xa hoặc hỗ trợ làmviệc tại nhà nằm ngoài giới hạn đề tài này

Ngoài ra, hệ thống APPHR chưa cung cấp một số chức năng chưa được hiện thực trong hệ

thống như:

• Hỗ trợ điểm danh bằng các hình thức như nhận diện gương mặt, máy chấm công,

• Chưa hỗ trợ chấm công theo số lượng, KPI

Bởi vì giới hạn về nhân lực và thời gian hiện thực, chúng tôi sẽ phát triển những chức năngnày trong tương lai

Trang 22

KIẾN THỨC NỀN TẢNG

2.1 Cơ sở lý thuyết

2.1.1 Mô hình Model - View - Controller

Model - View - Controller hay còn biết đến với MVC là mẫu thiết kế phần mềm chia ứng dụng

thành 3 nhóm thành phần chính: Model, View và Controller [20]

• Model (M) là thành phần chính có chức năng lưu trữ dữ liệu và các logic liên quan của

toàn ứng dụng, là cầu nối giữa View và Controller Model thể hiện rõ các thao tác với cơ

sở dữ liệu như xem, truy xuất, xử lý dữ liệu,

• View (V) là phần giao diện dành cho người dùng, được tạo bởi dữ liệu từ Model View

còn là nơi người dùng lấy có thể lấy được thông tin thông qua các thao tác với giao diệntrên web

• Controller (C) là thành phần chịu trách nhiệm xử lý các yêu cầu từ người dùng đưa đến

thông qua View Từ đó, đưa ra những dữ liệu phù hợp với người dùng Bên cạnh đó,Controller còn kết nối với thành phần Model

Hình 2.1: Sơ đồ tương tác mô hình MVC

MVC vận hình theo những bước sau:

Bước 1: Người dùng sử dụng một trình duyệt web bất kỳ (Firefox, Chrome, ) để có thể gửi

yêu cầu có thể kèm theo những dữ liệu nhập tới Controller xử lý

Bước 2: Khi Controller nhận được yêu cầu gửi tới, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu

từ Model hay không Nếu có, nó sẽ điều hướng đến các thao tác xử lý tại Model và sau đó nhậnkết quả trả về từ Model, khi đó Controller sẽ xử lý giá trị đó và trả ra View để hiển thị

Trang 23

Bước 3: Khi nhận được dữ liệu từ Controller, View sẽ xây dựng lại các thành phẩn hiển thị

và trả về GUI Content để Controller đưa ra kết quả lên màn hình trình duyệt web

Bước 4: Trình duyệt web nhận giá trị trả về và hiển thị với người dùng Kết thúc một quy

trình hoạt động

Việc sử dụng MVC có những ưu và nhược điểm sau:

• Ưu điểm: giúp phát triển ứng dụng nhanh hơn, đơn giản hơn, dễ nâng cấp bảo trì, không

phụ thuộc môi trường và ngôn ngữ lập trình,

• Nhược điểm: chỉ được dụng cho những dự án lớn.

MVC được ứng dụng trong nhiều ngôn ngữ lập trình khác nhau như ứng dụng ASP.NETMVC, PHP MVC,

REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiến trúc

để viết API và sử dụng phương thức HTTP đơn giản để tạo cho ra giao tiếp giữa các thiết bị

API (Application Programming Interface) là một tập các quy tắc và cơ chế mà một ứng

dụng hay một thành phần máy tính tương tác với một ứng dụng hay thành phần khác

RESTful API là là một tiêu chuẩn dùng cho việc thiết kế API cho các ứng dụng Web đểquản lý các nguồn tài nguyên trên server RESTful là một trong những kiểu thiết kế API được

sử dụng phổ biến ngày nay để giao tiếp giữa ứng dụng trên các nền tảng web, mobile,

REST hoạt động chủ yếu vào giao thức HTTP như:

• GET: Trả về một tài nguyên hoặc một danh sách các tài nguyên

• POST: Tạo một tài nguyên mới

• PUT: Cập nhật thông tin cho một tài nguyên

• DELETE: Xóa một tài nguyên

Tất cả các lần gửi yêu cầu đều là stateless, việc kết nối nhưng không lưu lại dữ liệu từ yêu

cầu trên server Mỗi một yêu cầu đều độc lập với nhau

Khi chúng ta gửi một yêu cầu HTTP nào đó thường sẽ có một số status code để nhận biết:

• 200 - OK - Trả về thành công

• 201 - CREATED - Trả về khi một tài nguyên được tạo thành công

• 204 - NO CONTENT - Trả về khi xóa tài nguyên thành công

• 400 - BAD REQUEST - Yêu cầu không không hợp lệ

• 401 - UNAUTHORIZED - Yêu cầu cần được xác thực

Trang 24

• 403 - FORBIDDEN - Yêu cầu bị từ chối, không cho phép thực hiện

• 404 - NOT FOUND - Không tìm thấy tài nguyên từ URI

• 405 - METHOD NOT ALLOWED - Phương thức không cho phép với user hiện tại

Việc sử dụng RESTful API cần có một tài liệu ghi lại cấu trúc API Mỗi một API cần đượcmiêu tả đầy đủ về biến được gửi, kiểu dữ liệu, bắt buộc gửi giá trị nào đó hay không, đưa ra mộtcấu trúc dữ liệu ban đầu

JSON Web Token (JWT) [5] là một tiêu chuẩn mở định nghĩa một cách ngắn gọn và khép kín

để truyền dẫn thông tin giữa hai bên client và server được định dạng bằng JSON

Chuỗi JWT gồm 3 thành phần là header, payload, signature và được ngăn cách nhau bằngdấu chấm (“.”) Do đó, một chuỗi JWT có dạng như sau:

header.payload.signature

Header

Phần header thường chứa hai phần là kiểu dữ liệu (giá trị thường là JWT) và thuật toán sử dụng

để mã hóa chuỗi như HMAC SHA256 hoặc RSA

Trang 25

Từ 3 ví dụ, với phần secret là"trongtrung", ta thu được một chuỗi JWT như sau:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im5ndHJvbmd0cnVuZyIsInVzZXJf aWQiOjEsIm5hbWUiOiJUcm9uZyBUcnVuZyIsImFkbWluIjp0cnVlfQ.iz8cFT9_rYboTj_C0Gw4SeQ9oQ k4Fp0EltrhFej_j5c

Khi nào cần sử dụng JWT?

• Xác thực (Authorization): Đây là trường hợp phổ biến nhất thường sử dụng JWT Khi

người dùng đã đăng nhập, những request tiếp theo từ phía người dùng sẽ chứa thêm mãJWT, cho phép người dùng được truy cập vào các dịch vụ, và tài nguyên mà mã token đócho phép

• Trao đổi thông tin: Nhờ vào phần signature của JWT, phía người nhận có thể biết được

người gửi là ai Thêm vào đó signature được tạo ra bằng việc kết hợp cả hai phần header

và payload nên có thể xác định nội dung trao đổi có bị giả mạo hay không

React đang nổi lên trong những năm gần đây theo xu hướng Single Page Application1 React

hỗ trợ xây dựng những thành phần giao diện (components) có tính tương tác và tái sử dụng cao.Chính vì vậy mà những website khi sử dụng React chạy mượt, nhanh, có khả năng mở rộngcao và cũng không quá khó để hiện thực React cho phép nhúng code HTML, CSS trong codeJavaScript nhờ vào JSX2, giúp cho lập trình viên có thể dễ dàng lồng ghép HTML, CSS vào

1 Single Page Application là ứng dụng web hoặc trang web tương tác với người dùng bằng cách tự động viết lại trang web hiện tại với dữ liệu mới từ máy chủ web, thay vì trình duyệt phải tải toàn bộ trang mới.

2JSX (JavaScript Syntax Extension) là một cú pháp mở rộng của JavaScript [13], là sự kết hợp giữa JavaScript

và XML.

Trang 26

trong JavaScript một cách tự nhiên hơn Ngoài ra, còn thể sử dụng React để render dữ liệu từngười dùng.

Sở dĩ React nổi lên gần đây bởi vì một số ưu điểm của nó như:

• Dễ dàng nhúng HTML, CSS vào trong React component bởi JSX

• Xây dựng giao diện từ các component, và React cũng cho phép tái sử dụng các componentnày, giúp việc rút gọn thời gian lập trình và dễ dàng quản lý các component hơn

• Hiệu suất tốt hơn với Virtual DOM React cho phép xây dựng các Virtual DOM, khi có

sự thay đổi trong DOM thực tế thì Virtual DOM sẽ thay đổi ngay lập tức

Quản lý dữ liệu với Redux

Trong quá trình xây dựng hệ thống bằng ReactJS, các component sẽ tăng lên, đòi hỏi sự trao đổi

dữ liệu giữa các component ngày càng nhiều Việc giao tiếp giữa các component cha và con ởnhiều lớp bên trong ngày càng phức tạp Phức tạp không chỉ ở trong việc truyền các dữ liệu quacác component trung gian và còn khó khăn cho việc thiết kế kiến trúc cho các component Do

đó hệ thống cần một công cụ quản lý trạng thái dữ liệu (state management tool) Redux đượclựa chọn để thực hiện sứ mệnh này

Hình 2.2: Sơ đồ kiến trúc của Redux3

Redux có 3 thành phần chính:

• Action là các object chứa thông tin để gửi từ component đến store của Redux thông qua

phương thức dispatch của store Action phải có thuộc tính là type thể hiện loại hànhđộng thực hiện, kèm theo đó có thể là dữ liệu

3 Nguồn: https://imranfarooqreactjs.medium.com/reducers-in-redux-70077689bfe1

Trang 27

• Reducer là các hàm lấy state hiện tại của ứng dụng, thực hiện một hành động và trả về

một state mới Những state này được lưu trữ trong các object và chúng định rõ cách statecủa một ứng dụng thay đổi Khi nhận các action, reducer sẽ phân loại action theo typecủa nó và thực hiện các tác vụ tương ứng để thay đổi state của ứng dụng

default:

return state;

}

• Store, nơi lưu trữ tập trung state và duy nhất của ứng dụng.

Tuy nhiên, khi sử dụng Redux, Reducer yêu cầu một action phải luôn trả về một object ngaylập tức Điều đó buộc việc giao tiếp với server phải nằm trong các component Sau khi thực hiệngọi API, nhận được kết quả trả về mới tiếp tục thực hiệndispatch một action tới Reducer Điềunày gây nên sự phức tạp và khó kiểm soát việc xác định nguồn thay đổi dữ liệu Để có thể thựchiện gọi API ngay trong action, phải cần đến Middleware của Redux

Flutter

Trong phần hiện thực trên thiết bị di động của hệ thống, chúng tôi sử dụng framework Flutter.Flutter là Google UI framework mã nguồn mở để tạo ra các ứng dụng cho thiết bị di động, web,máy vi tính và các thiết bị nhúng chỉ từ một mã code duy nhất [16] Flutter dựa trên ngôn ngữlập trình Dart cũng do Google phát triển

Flutter được rất nhiều nhà phát triển trên thế giới ưu chuộng bởi những ưu điểm sau:

• Giao diện đẹp Flutter cung cấp các Widget có sẵn, các nhà phát triển có thể tận dụng đểtạo ra giao diện dễ dàng, phù hợp với sản phẩm của mình

• Viết code nhanh hơn

• Hiệu suất tốt hơn

Trang 28

• Code chỉ cần viết một lần là chạy được trên hai nền tảng Android và iOS.

• Thời gian xây dựng ứng dụng nhanh hơn, chi phí thấp hơn

Quản lý dữ liệu với kiến trúc Bloc

Tương tự như React, quản lý trạng thái dữ liệu trong Flutter rất quan trọng Flutter cũng cấpnhiều khả năng để quản lí state như là Redux, setState, Bloc, Trong đó, Bloc là một phươngpháp quản lý mà chúng tôi sử dụng

Bloc được thiết kế với 3 giá trị chính [4]:

• Đơn giản: Dễ hiểu và được nhiều nhà phát triển với kinh nghiệm khác nhau sử dụng.

• Mạnh mẽ: Tạo các ứng dụng phức tạp bằng việc chia tách ứng dụng thành cách thành

• Tầng bloc: xử lý những yêu cầu, logic từ tầng UI thông qua các sự kiện, và gửi trả về

state mới cho tầng UI Tầng bloc có thể tương tác nhiều nguồn từ tầng data

• Tầng data: lấy dữ liệu từ nhiều nguồn khác nhau có thể từ bộ nhớ tạm của thiết bị hoặc từ

bên ngoài

Khi người dùng tương tác với giao diện ở tầng UI, chẳng hạn có sự kiện nhấn nút trên mànhình điện thoại Sự kiện này sẽ được đưa đến một class để xử lý trong tầng bloc Tại tầng bloc,ứng với sự kiện khác nhau sẽ được xử lý khác nhau, bloc có thể lấy dữ liệu từ tầng data nếu cần.Sau đó sẽ tạo ra một state mới trả về cho giao diện đã tương tác sự kiện Ứng với state mới, giaodiện này sẽ thay đổi để tương thích với state mới

Hai thư việnpackage:bloc và package:flutter_bloc được sử dụng để tạo ra kiến trúcBloc

4 Nguồn: https://bloclibrary.dev/#/coreconcepts

Trang 29

Một số ưu điểm có thể thấy rõ khi xây dựng ứng dụng phía máy chủ với Node.js:

• Node.js được xây dựng dựa vào nền tảng V8 JavaScript Engine nên việc thực thi chươngtrình rất nhanh

• Node.js nhận và xử lý nhiều kết nối chỉ với một single-thread (đơn luồng), điều này giúpcho hệ thống tốn ít RAM nhất

• Mang lại hiệu suất xử lý tốt, tận dụng tối đa tài nguyên của máy chủ nhờ vào cơ chếnon-blocking IO mà không tạo ra độ trễ như một số ngôn ngữ khác

• Sở hữu một chương trình quản lý thư viện riêng – npm được cộng đồng phát triển rấtmạnh

Bên cạnh đó, Node.js cũng có một số nhược điểm như:

• Đối với các ứng dụng nặng, tốn tài nguyên như mã hóa video, chuyển đổi tệp,… hoặc cácứng dụng tương tự thì Node.js sẽ thực thi chậm hơn đôi chút

• Tuổi đời còn khá nhỏ khi so Node.js với các ngôn ngữ phía máy chủ khác như PHP, Ruby,Python nên cần phải có thời gian để hoàn thiện thêm

Mặc dù có khá nhiều công cụ, thư viện, trình trợ giúp tuyệt vời cho Node.js nhưng khôngthư viện nào trong số chúng giải quyết hiệu quả vấn đề chính – vấn đề về kiến trúc Do đó,NestJS Framework ra đời, kế thừa các ưu điểm và nhược điểm của Node.js cũng như mang lạimột số ưu điểm khác:

• Có một kiến trúc tốt hơn nhờ vào kiến trúc module, nó có thể mở rộng và có thể được sửdụng trong các tình huống khác nhau và đặc biệt phù hợp với kiến trúc microservice

• Hỗ trợ cả TypeScript và Vanilla JavaScript

• Cung cấp một công cụ CLI để tạo cây thư mục và sinh mã

• Được xây dựng trên TypeScript và JavaScript hiện đại (ES6), kết hợp các yếu tố lập trìnhhướng đối tượng, lập trình chức năng và lập trình phản chức năng

Trang 30

2.2.3 Cơ sở dữ liệu

PostgreSQL là một hệ quản trị cơ sở dữ liệu hướng đối tượng mã nguồn mở được phát triển dựatrên dự án POSTGRES tại Đại học California tại Berkeley phát triển [17] Nó tập trung vào khảnăng mở rộng và tuân thủ các tiêu chí kỹ thuật Nó được thiết kế để xử lý một loạt các khốilượng lớn công việc

Một số ưu điểm phải kể đến của PostgreSQL như:

• Mô hình dữ liệu: PostgreSQL là cơ sở dữ liệu hướng đối tượng, nó cho phép làm việclinh hoạt với các đối tượng mà người dùng tự định nghĩa và hành vi của chúng gồm: cáckiểu dữ liệu, hàm, chỉ mục, các thao tác, Đây là một lợi thế khá đặc biệt với các cơ sở

dữ liệu SQL mã nguồn mở khác như MySQL, MariaDB, Cũng chính vì nó hướng đốitượng nên PostgreSQL có khả năng mở rộng tuyệt vời

• Sở hữu các bộ tính năng mạnh mẽ cho phép kiểm soát truy cập đồng thời nhiều phiên bản,

có thể xử lý một loạt các khối lượng công việc lớn

• Độ tin cậy cao: PostgreSQL là một cơ sở dữ liệu hỗ trợ người dùng bảo vệ toàn vẹn dữliệu, tạo ra môi trường chống chịu lỗi bất kể tập dữ liệu lớn hay nhỏ

• Mã nguồn mở, cho phép người dùng tự do sửa đổi, triển khai, cài đặt theo nhu cầu

2.2.4 Cloud và các dịch vụ tích hợp

Amazon Web Service

Amazon Web Service (AWS) là một hệ thống các dịch vụ điện toán đám mây cung cấp chodoanh nghiệp các giải pháp để phát triển cơ sở hạ tầng trở nên linh hoạt hơn và giảm được chiphí một cách đáng kể AWS là một nền tảng đám mây toàn diện đang được sử dụng rộng rãinhất5, cung cấp trên 165 dịch vụ đầy đủ tính năng từ các trung tâm dữ liệu trên toàn thế giới.Những dịch vụ chính mà AWS cung cấp như: tính toán, lưu trữ, phân phối mạng và nội dung,công cụ quản lý, phân tích, công nghệ thực tế ảo, học máy, dịch vụ cân bằng tải,

Các đặc trưng mà AWS thể hiện:

• Nền tảng AWS đáp ứng được hầu hết mọi nhu cầu sử dụng của các doanh nghiệp trên toànthế giới, các dịch vụ được đáp ứng một cách nhanh chóng, không tốn chi phí trả trước,cho phép các doanh nghiệp hoạt động một cách năng động hơn

• Tính bảo mật của đám mây được công nhận là tốt hơn so với nền tảng máy chủ vật lý, dữliệu được mã hóa khi ngừng hoạt động lẫn chuyển tiếp, các module phần cứng và bảo mậtvật lý mạnh mẽ đều góp phần tạo nên một hệ thống an toàn hơn cho doanh nghiệp

5Theo Flexera 2021 State of the Cloud Report

Trang 31

• Tích hợp các tính năng kiểm soát, kiểm tra và quản lý định danh, cấu hình và cách sử dụngđược tích hợp trong nền tảng giúp đáp ứng các yêu cầu về tuân thủ, quản lý và luật địnhcủa mình.

• Phạm vi địa lý rộng lớn giúp AWS mang lại tính khả dụng, chăm sóc dịch vụ tốt hơn vàkiểm soát khu vực một cách dễ dàng hơn

Docker

Container là một giải pháp cho vấn đề làm thế nào để phần mềm chạy một cách đáng tin cậy khiđược chuyển từ môi trường máy tính này sang môi trường máy tính khác Điều này có thể là từmáy tính xách tay của nhà phát triển đến môi trường thử nghiệm, từ môi trường tiền sản xuấtđến môi trường sản xuất và có thể từ máy vật lý trong trung tâm dữ liệu đến máy ảo trên cloud

Và một trong những phần mềm sử dụng tốt giải pháp này chính là Docker Docker là mộtnền tảng dành cho các nhà phát triển ứng dụng và quản trị viên hệ thống mạng để phát triển,triển khai và chạy các ứng dụng bằng các container Việc đóng gói thành container này giúp choviệc triển khai các ứng dụng trở nên dễ dàng hơn Một số ưu điểm có thể kể đến của Docker là:

• Khi nhiều người cùng phát triển trong cùng một dự án sẽ không bị những khác biệt vềmặt môi trường hay có thể nói, sử dụng Docker sẽ giúp cho tất cả nhà lập trình được pháttriển cùng trên một môi trường giống hệt nhau

• Có thể ẩn môi trường bao gồm cả app vào trong một gói được gọi là container và việc bỏhay tạo lại container rất dễ dàng

• Việc triển khai ứng dụng trên môi trường thực tế cũng dễ dàng hơn khi kết hợp với CI/CD

và tránh được các lỗi không mong muốn như hoạt động ở môi trường phát triển thì ổnnhưng trên môi trường thực tế thì lỗi

Bên cạnh đó thì cũng không thể tránh được một số rắc rối như:

• Cần thời gian để tiếp cận cách phát triển ứng dụng kết hợp sử dụng Docker

• Trong một đội phát triển không cần tất cả phải có kiến thức chuyên sâu về Docker, tuynhiên ít nhất cũng cần một người nắm vững những kiến thức để có thể giải quyết đượcvấn đề nếu gặp phải

Trang 32

PHÂN TÍCH HỆ THỐNG

Để hiểu rõ hơn mục đích tại sao cần xây dựng hệ thống APPHR, chúng tôi đã tiến hành khảo

sát một số trang web chuyên cung cấp các dịch vụ quản lý nhân sự, chấm công để tìm ra các vấn

đề cần giải quyết cho hệ thống của mình Một số hệ thống được chúng tôi lựa chọn để khảo sát

là MISA, Base.vn, tanca.io, cùng với giải pháp ACheckin

Hệ thống MISA AMIS có tên miềnhttps://amisapp.misa.vn, cung cấp rất nhiều modulekhác nhau chúng tôi chỉ khảo sát, tìm hiểu module chấm công, module tiền lương

Module Chấm công [2]

• Chấm công thời gian:

– Kết nối với máy chấm công (vân tay, thẻ từ,…) để nhận dữ liệu chấm công hàng

ngày giúp cán bộ nhân sự giảm được thời gian và công sức chấm công cho từngnhân viên

– Lập bảng chấm công chi tiết cho từng phòng ban, bộ phận Chấm công chi tiết đến

từng nhân viên theo ngày, ca làm việc

– Tổng hợp số ngày công nhân viên đi làm, nghỉ phép, nghỉ ốm, số giờ làm ngoài

giờ, để lập bảng chấm công tổng hợp

– Cho phép lập bảng chấm công tổng hợp từ nhiều bảng chấm công chi tiết.

– Cho phép nhập bảng chấm công chi tiết, bảng chấm công tổng hợp từ Excel vào

phần mềm

– Tổng hợp số lần hoặc tổng thời gian nhân viên đi làm muộn, về sớm để áp dụng kỷ

luật theo quy định của từng doanh nghiệp

– Đáp ứng tốt việc chấm công cho các doanh nghiệp có nhiều ca làm việc.

Trang 33

• Chấm công sản phẩm doanh số:

– AMIS giúp cán bộ nhân sự lập bảng chấm công chi tiết, điền số lượng sản phẩm hoặc

doanh số thực hiện được hàng ngày, hàng tuần hoặc hàng tháng vào bảng chấm côngtheo từng nhân viên

– Cán bộ nhân sự cũng có thể điền tổng sản phẩm, tổng doanh số của nhiều sản phẩm

mà nhân viên thực hiện được trong kỳ tùy theo cách tính lương theo từng sản phẩmhay tính lương trên tổng sản phẩm

– Nhập bảng chấm công chi tiết hoặc bảng chấm công tổng hợp từ Excel.

• Chấm công hiệu quả công việc theo KPIs

– Đối với các bộ phận hành chính, văn phòng không trực tiếp tham gia sản xuất sản

phẩm hoặc kinh doanh bán sản phẩm, trưởng bộ phận và cán bộ nhân sự thường phảithực hiện đánh giá hiệu quả công việc theo các chỉ tiêu được giao của từng nhân viên

để có cơ sở tính các khoản thưởng

– MISA AMIS cho phép lập các bảng chấm công theo KPI chi tiết đến từng nhân viên.

Module Tiền lương [3]

• Đáp ứng tính lương đa dạng theo thời gian, sản phẩm, doanh số và KPIs

• Dễ dàng tổng hợp dữ liệu tính lương:

– Tự động chuyển bảng tổng hợp công từ AMIS Chấm công.

– Nhập doanh số thực tế từ AMIS Bán hàng, tự động áp dụng công thức tính lương – Xác định lương hiệu quả KPIs/OKR hay lương sản phẩm từ AMIS Đánh giá – Thay đổi thông tin, các khoản thu nhập và khấu trừ từ AMIS Quan hệ lao động.

• Tối đa hiệu suất của HR tiền lương:

– Khai báo chính sách lương, phụ cấp, khấu trừ.

– Tự động tính lương với công thức gợi ý sẵn hoặc tùy chỉnh công thức tính như Excel – Tự động tính các khoản khấu trừ theo quy định trên hồ sơ và quy định của Nhà nước – Quản lý tình hình chi trả lương, theo dõi công nợ lương, báo cáo phân tích thu nhập,

phúc lợi (bằng tiền mặt)

• Nhân viên hài lòng với trải nghiệm trên ứng dụng:

– Nhân viên xác nhận phiếu lương mọi lúc, mọi nơi ngay trên di động.

– Chủ động đối chiếu bảng lương với số công thực tế.

– Phản hồi, kết nối với HR dễ dàng trên ứng dụng.

Trang 34

• Ban lãnh đạo kiểm soát tốt mọi chính sách và quy chế lương:

– Theo dõi tình hình chi trả lương toàn diện.

– Xây dựng chính sách thu nhập, đãi ngộ tương ứng cho từng vị trí, năng suất, thâm

niên

– Điều chỉnh lương, thưởng, chế độ đãi ngộ từng kỳ giúp cân bằng lợi ích của doanh

nghiệp và nhu cầu của nhân viên

Nhận xét

Ưu điểm

• Các bước thực hiện được trình bày rõ ràng

• Module chấm công hỗ trợ nhiều hình thức chấm công

• Kết nối được nhiều hình thức điểm danh khác nhau như GPS, thẻ, máy chấm công,…

• Cách tính lương đa dạng, đồng bộ với chấm công

• Hỗ trợ tính năng dùng thử trực tiếp

3.1.2 Hệ thống Base.vn

Hệ thống Base.vn là một nền tảng quản trị doanh nghiệp một cách toàn diện, cung cấp rất nhiềumodule khác nhau trong các mảng khác nhau Chúng tôi chỉ khảo sát, tìm hiểu các module liênquan chấm công và tiền lương

Module Base Check-in [6]

• Hiển thị logs chấm công của tất cả nhân viên từ client được setup tại HRM

– Ghi nhận thông tin chấm công sớm nhất và muộn nhất trên bảng chấm công chung – Hiển thị tất cả các lần chấm công khi chọn vào chi tiết chấm công của nhân viên – Có thể bình luận, trao đổi dưới từng ngày chấm công.

• Hiển thị thông tin chấm công với từng cá nhân người dùng trong tháng

• Tìm kiếm và rà soát thông tin nhanh chóng:

– Bộ lọc linh hoạt giúp người dùng tìm kiếm dễ dàng.

– Dễ dàng cập nhật với tính năng nhập dữ liệu check-in.

• Đề xuất cập nhật thông tin chấm công lên quản lý

– Đề xuất cập nhật thông tin tại web check-in.

– Quản lý dễ dàng phê duyệt/từ chối phê duyệt.

Trang 35

Module Base TimeSheet [9]

• Nhận dữ liệu check-in check-out từ module Base Check-in

• Xây dựng công thức Excel để đưa ra thông tin công theo từng ca:

– Dễ dàng và nhanh chóng thiết lập công thức tính công.

– Xây dựng và sử dụng các biến có sẵn trên hệ thống đưa ra công thức.

• Tạo thông tin lịch làm việc thực tế theo từng tháng dựa trên thông tin tại HRM:

– Thiết lập thông tin ca làm việc có sẵn nhanh chóng.

– Dễ dàng thêm, sửa, xóa ca làm việc trong ngày với từng lịch làm việc.

• Cho phép chỉnh sửa thông tin chấm công nhanh chóng để tính công:

– Cho phép cập nhật lượng lớn thông tin chấm công bằng cách import dữ liệu – Cập nhật thủ công nhanh chóng bằng cách chọn sửa nhiều bản ghi thông tin cùng

lúc Tất cả các hành động sửa đổi đều được ghi nhận lại lịch sử, hỗ trợ tìm kiếm

Module Base TimeOff [8]

• Tạo yêu cầu nghỉ phép

• Cho phép thiết lập và tùy chỉnh các loại ngày nghỉ (nghỉ không lương, nghỉ có lương, nghỉphép năm, ):

– Tạo các loại ngày phép và điều kiện nghỉ phép theo đúng chính sách công ty – Thiết lập quy trình phê duyệt cho từng loại ngày nghỉ đó.

• Quy trình xét duyệt nhanh chóng:

– Cài đặt quy trình phê duyệt lần lượt hoặc đồng thời.

– Tất cả các yêu cầu của nhân viên về việc nghỉ phép được tự động chuyển đến quản

lý để phê duyệt Người quản lý có thể chấp nhận hoặc từ chối chỉ bằng với một nhấpchuột

• Thống kê và báo cáo:

– Thống kê đầy đủ thông tin của đề xuất nghỉ phép.

– Thống kê chính xác số lượng các ngày đã nghỉ ở mỗi loại phép.

– Báo cáo cập nhật tình trạng nghỉ phép của nhân viên trong công ty.

Trang 36

Module Base Payroll [7]

• Cho phép xây dựng công thức các trường thông tin để đưa ra bảng lương:

– Sử dụng các biến mặc định trên hệ thống và có thể tạo thêm.

– Hỗ trợ công thức Excel.

• Cho phép tạo thông tin chu kỳ tính lương và chu kỳ thanh toán:

– Lựa chọn áp dụng chu kỳ thanh toán lương cho doanh nghiệp.

– Tạo chu kỳ tính lương.

• Hoàn thiện, hiển thị thông tin chi tiết bảng lương của từng người dùng theo chu kỳ:

– Tự động gửi bảng lương đến tất cả người dùng qua email hoặc trên hệ thống – Hỗ trợ người dùng xác nhận thông tin bảng lương.

• Hỗ trợ điều chỉnh bảng lương thủ công nếu cần thiết:

– Mọi thông tin được điều chỉnh đều được ghi lại lịch sử và lý do.

– Nhân viên sẽ nhận được thông báo về sự điều chỉnh này.

Nhận xét

Ưu điểm

• Các bước thực hiện được trình bày rõ ràng

• Kết nối được nhiều thiết bị điểm danh khác nhau (ứng dụng di động, nhận diện gươngmặt, máy chấm công, )

• Hỗ trợ các biến, công thức tính lương tương tự trong Excel

Trang 37

Tính năng Chấm công [23]

• Tanca đưa ra các giải pháp chấm công toàn diện cho doanh nghiệp Mọi mô hình kinhdoanh đều có thể sử dụng các giải pháp chấm công trực tuyến thông minh của Tanca:

– Chấm công điện thoại thông qua hệ thống Wi-Fi hoặc định vị vị trí GPS.

– Chấm công thông qua Camera nhận diện khuôn mặt bằng trí tuệ nhân tạo.

– Tích hợp máy chấm công vân tay và đồng bộ với điện thoại di động.

– Tích hợp với Camera Trí tuệ nhân tạo (AI) để chấm công tự động cho nhân viên.

• Chấm công điện thoại qua Wi-Fi:

– Dựa trên địa chỉ BSSID của Wi-Fi.

– Sử dụng ứng dụng Tanca trên điện thoại để chấm công.

• Chấm công điện thoại qua định vị GPS:

– Thiết lập các vị trí chấm công trong bán kính cho phép.

– Sử dụng ứng dụng Tanca trên điện thoại để chấm công.

• Chấm công điện thoại kết hợp nhận diện khuôn mặt (Face ID bằng AI):

– Có thể kết hợp chấm công điện thoại và nhận diện khuôn mặt qua camera trước của

điện thoại và sau đó đối chiếu với ảnh đại diện của người điểm danh

– Có thể đặt camera ở cửa ra vào để chấm công tự động.

• Tích hợp máy chấm công đưa lên trực tuyến

Tính năng Tiền lương [24]

• Quản lý hệ thống lương chuyên nghiệp:

– Xây dựng hệ thống lương trên Tanca với các cấp bậc lương khác nhau của các bộ

phận khác nhau

– Quản lý mức độ tăng lương của nhân viên cũng như việc thăng tiến các cấp bậc của

họ trong công ty để nắm được lộ trình tiến thân của mỗi nhân viên

– Xem xét các chính sách thu nhập phù hợp để điều chỉnh linh hoạt.

• Tự động hóa cách tính lương:

– Hỗ trợ tạo các công thức tương tự như trên Excel.

– Có thể tính lương cho nhiều mô hình, nhiều phòng ban, đồng bộ các bảng lương

khác nhau

– Có thể tính lương hàng ngày và nhân viên có thể cập nhật Phiếu lương của họ hàng

ngày ngay trên điện thoại

Trang 38

• Phân tích hệ thống lương trong doanh nghiệp, giúp người dùng trả lời các câu hỏi:

– Bạn thường quan tâm đến Quỹ lương chi hàng tháng cho các bộ phận thế nào? – Thu nhập của nhân viên có tương xứng với đóng góp của họ hay không?

– Việc chi lương có hợp lý so với tình hình của doanh nghiệp?

Nhận xét

Ưu điểm

• Các bước thực hiện được trình bày rõ ràng

• Giao diện bắt mắt

• Hỗ trợ chấm công đa dạng (Wi-Fi, GPS, nhận diện gương mặt, máy chấm công, )

• Hỗ trợ các biến, công thức tính lương tương tự trong Excel

Tính năng Chấm công

• ACheckin cung cấp một số hình thức chấm công như:

– Chấm công điện thoại thông qua hệ thống Wi-Fi hoặc định vị vị trí GPS.

– Chấm công thông qua Camera nhận diện khuôn mặt bằng trí tuệ nhân tạo.

• Chấm công điện thoại qua Wi-Fi:

– Dựa trên địa chỉ BSSID của Wi-Fi.

– Sử dụng ứng dụng ACheckin trên điện thoại để chấm công.

• Chấm công điện thoại qua định vị GPS:

– Thiết lập các vị trí chấm công trong bán kính cho phép.

Trang 39

– Sử dụng ứng dụng ACheckin trên điện thoại để chấm công.

• Chấm công điện thoại kết hợp nhận diện khuôn mặt:

– Dùng camera nhận diện gương mặt của bên thứ ba.

Nhận xét

Ưu điểm

• Hỗ trợ chấm công đa dạng như Wi-Fi, GPS, nhận diện gương mặt, máy chấm công,

• Cho phép cấu hình số thiết bị điện thoại trên một tài khoản từ đó thắt chặt quá trình điểmdanh

• Hỗ trợ API key xuất dữ liệu ra ngoài

• Cho phép người dùng cá nhân hóa giao diện như các thông điệp khi điểm danh thành công,tải ảnh đại diện doanh nghiệp,

• Sysadmin: là trang mà chúng tôi dùng để quản lý đối tượng khách hàng gồm các thông tin

đã thu thập được do người dùng cung cấp khi đăng ký tài khoản trên trang chủ: tên công ty,

số điện thoại, email, mã số thuế doanh nghiệp, tỉnh/thành phố, quận/huyện, phường/xã/thịtrấn, địa chỉ cụ thể, tên đăng nhập, mật khẩu của tài khoản admin

• Module chấm công: gồm bản website cho người quản trị nhân sự, ứng dụng trên điện thoạithông minh cho nhân viên

– Cấu hình hệ thống

– Quản lý nhân sự

– Quản lý tài khoản

Trang 40

– Quản lý đề xuất

– Quản lý điểm danh

– Quản lý hợp đồng

– Quản lý đợt lương

– Quản lý thông báo

– Xem bảng điều khiển

Để có thể dùng thử dịch vụ, người dùng cần phải cung cấp các thông tin trong phần đăng kýgồm: tên công ty, workspace của doanh nghiệp, số điện thoại, email, mã số thuế doanh nghiệp,tỉnh/thành phố, quận/huyện, phường/xã/thị trấn, địa chỉ cụ thể, tên đăng nhập, mật khẩu của tàikhoản admin Khi đăng ký thành công, người dùng sẽ nhận được email thông báo kích hoạt tàikhoản Nếu người dùng kích hoạt thành công, người dùng có thể bắt đầu sử dụng dịch vụ trongthời hạn 14 ngày kể từ ngày kích hoạt tài khoản với một tên miền con (subdomain) ứng vớiworkspace đã đăng ký Sau khi hết hạn, hệ thống sẽ tạm thời khóa không cho người dùng sửdụng dịch vụ và gửi một email đến người dùng thông báo dịch vụ đã hết hạn sử dụng

Sysadmin là trang dùng để quản lý đối tượng khách hàng Trong sysadmin có các tính năng:

• Xem danh sách khách hàng

• Xem thông tin chi tiết khách hàng

• Chỉnh sửa thông tin khách hàng

• Kích hoạt/hủy kích hoạt tài khoản cho khách hàng

Cấu hình hệ thống

Để sử dụng được hệ thống, người dùng cần phải tiến hành cấu hình cho hệ thống trước khi đivào các nghiệp vụ khác Cụ thể, người dùng phải cấu hình:

Ngày đăng: 15/10/2025, 20:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[18] Quốc hội. Văn bản quy phạm pháp luật. URL: https://baohiemxahoi.gov.vn/vanban/Pages/default.aspx?ItemID=3560 . (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Văn bản quy phạm pháp luật
Tác giả: Quốc hội
[19] Joyent. Introduction to Node.js. URL: https://nodejs.dev/learn . (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Introduction to Node.js
Tác giả: Joyent
[20] Microsoft. Overview of ASP.NET Core MVC. URL: https : / / docs . microsoft . com/aspnet/core/mvc/overview?view=aspnetcore-5.0. (Truy cập lần cuối:17/07/2021) Sách, tạp chí
Tiêu đề: Overview of ASP.NET Core MVC
Tác giả: Microsoft
[21] Stack Overflow. Stack Overflow Developer Survey 2020. URL: https://insights.stackoverflow.com/survey/2020#overview . (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Stack Overflow Developer Survey 2020
Tác giả: Stack Overflow
Nhà XB: Stack Overflow
Năm: 2020
[22] Dan Abramov và các tác giả của tài liệu Redux. Redux - A Predictable State Container for JS Apps. URL: https://redux.js.org/ . (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Redux - A Predictable State Containerfor JS Apps
[23] Tanca.io. Chấm công trực tuyến số 1 Việt Nam. URL: https://tanca.io/tinh- nang/cham-cong-truc-tuyen-thong-minh. (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Chấm công trực tuyến số 1 Việt Nam
Nhà XB: Tanca.io
Năm: 2021
[24] Tanca.io. Chấm công trực tuyến số 1 Việt Nam. URL: https://tanca.io/tinh- nang/tien-luong . (Truy cập lần cuối: 17/07/2021) Sách, tạp chí
Tiêu đề: Chấm công trực tuyến số 1 Việt Nam
Tác giả: Tanca.io
Nhà XB: Tanca.io

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Usecase nhóm các chức năng cấu hình module chấm công - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 3.1 Usecase nhóm các chức năng cấu hình module chấm công (Trang 55)
Hình 3.2: Usecase nhóm các chức năng quản lý nhân sự trong module chấm công - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 3.2 Usecase nhóm các chức năng quản lý nhân sự trong module chấm công (Trang 64)
Hình 3.3: Usecase nhóm các chức năng khác trong module chấm công - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 3.3 Usecase nhóm các chức năng khác trong module chấm công (Trang 75)
Hình 3.4: Usecase các chức năng cho ứng dụng di động - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 3.4 Usecase các chức năng cho ứng dụng di động (Trang 88)
Hình 4.3: Lược đồ quan hệ thực thể của các thực thể dùng chung - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 4.3 Lược đồ quan hệ thực thể của các thực thể dùng chung (Trang 101)
Hình 4.4: Lược đồ quan hệ thực thể của dữ liệu một khách hàng - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 4.4 Lược đồ quan hệ thực thể của dữ liệu một khách hàng (Trang 104)
Hình 4.6: Tạo access token cho người dùng thực hiện đăng nhập - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 4.6 Tạo access token cho người dùng thực hiện đăng nhập (Trang 120)
Hình 5.14: Giao diện bảng điều khiển - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.14 Giao diện bảng điều khiển (Trang 135)
Hình 5.15: Giao diện quản lý điểm danh - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.15 Giao diện quản lý điểm danh (Trang 136)
Hình 5.28: Giao diện tạo mới một nhân sự - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.28 Giao diện tạo mới một nhân sự (Trang 145)
Hình 5.32: Giao diện đợt lương đang có hiệu lực của nhân sự - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.32 Giao diện đợt lương đang có hiệu lực của nhân sự (Trang 147)
Hình 5.34: Giao diện chứng chỉ chuyên ngành của nhân sự - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.34 Giao diện chứng chỉ chuyên ngành của nhân sự (Trang 148)
Hình 5.43: Giao diện thông tin chi tiết của một loại phí mà doanh nghiệp quy định - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.43 Giao diện thông tin chi tiết của một loại phí mà doanh nghiệp quy định (Trang 153)
Hình 5.50: Giao diện quản lý tài khoản - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.50 Giao diện quản lý tài khoản (Trang 158)
Hình 5.55: Giao diện cài đặt thông tin chung - Luận văn apphr   xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud
Hình 5.55 Giao diện cài đặt thông tin chung (Trang 161)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w