Tải bản đầy đủ (.pdf) (127 trang)

Xây dựng hệ thống tuyển dụng và gợi ý việc làm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (24.65 MB, 127 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 2 - SE122.M11
ĐỀ TÀI SỐ 18

XÂY DỰNG HỆ THỐNG TUYỂN DỤNG
VÀ GỢI Ý VIỆC LÀM
Building a recruitment and job recommendation system

Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc
Nhóm sinh viên thực hiện đề tài:
1.

Lê Hoàng Minh Sơn

18520350

2.

Phạm Liên Sanh

18520146

TP. Hồ Chí Minh, tháng 12 năm 2021


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

NHẬN XÉT CỦA GIẢNG VIÊN


....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
....................................................................................................................................................................
.............


1


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

LỜI CẢM ƠN
Nhóm chúng em trân trọng gửi lời cảm ơn đến cô Nguyễn Thị Thanh Trúc đã tạo điều
kiện cho chúng em có cơ hội được thực hiện đồ án.
Với những kiến thức cô gợi ý và phân tích trong q trình làm đồ án, nhóm đã vận dụng
được rất nhiều trong việc hoàn thành đề tài.
Trong vịng 15 tuần, nhờ sự chỉ dẫn nhiệt tình của cô, chúng em đã tiếp thu được những
kiến thức quan trọng cùng những góp ý chân thành để có thể hồn thành báo cáo và làm được
một chương trình hồn chỉnh.
Cũng xin cảm ơn thầy cơ và bạn bè trong khoa Cơng nghệ phần mềm đã nhiệt tình hỗ trợ,
tạo điều kiện cho nhóm em làm bài báo cáo này.
Mặc dù đã cố gắng hoàn thành báo cáo với tất cả nỗ lực song kết quả của nhóm chúng
em chắc chắn khơng tránh khỏi những thiếu sót, chúng em rất mong nhận được sự thơng cảm và
góp ý chân thành từ các thầy cơ. Nhóm em xin chân thành cảm ơn ạ.
Thành phố Hồ Chí Minh, ngày 15 tháng 12 năm 2021
Đồ án 2 - SE122.M11
Nhóm gồm Lê Hồng Minh Sơn, Phạm Liên Sanh

2


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

MỤC LỤC


NHẬN XÉT CỦA GIẢNG VIÊN

1

LỜI CẢM ƠN

2

MỤC LỤC

3

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

7

CHƯƠNG 1 - TỔNG QUAN
1.1. Giới thiệu đề tài
1.2. Mục tiêu và phạm vi đề tài
1.3. Khảo sát và đánh giá các ứng dụng hiện có
1.3.1. Nhóm ứng dụng tuyển dụng đa ngành nghề:
1.3.1.1. Vietnamworks.com
1.3.1.2. Careerbuilder.vn
1.3.1.3. TopCV
1.3.1.4. Linkedin
1.3.1.5. Smartr
1.3.2. Nhóm ứng dụng tuyển dụng về lĩnh vực chuyên môn:
1.3.2.1. ITviec
1.3.2.2 Nhanlucnganhluat.vn
1.3.2.3 Angel.co

1.4. Các chức năng chính

8
8
9
10
10
10
11
13
14
15
17
17
18
19
20

CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT
2.1. Về mặt cơng nghệ
2.1.1 React JS (Cơng nghệ phía Frontend)
2.1.1.1 Đặc điểm của React JS
2.1.1.2 NextJS - một framework sinh ra từ React JS
2.1.2 NodeJS (Cơng nghệ phía Backend)
2.1.3 MongoDB (Cơng nghệ phía Database)
2.1.4 Selenium (Cơng nghệ Crawling and Scraping)
2.2. Tìm hiểu về Recommendation system (hệ thống khuyến nghị)
2.2.1 Hệ thống khuyến nghị là gì?
2.2.2 Phát biểu bài tốn tổng quan:
2.2.3 Hệ thống gợi ý theo hướng tiếp cận nội dung (Content-based)

2.2.4 Hệ thống gợi ý theo hướng tiếp cận cộng tác (Collaborative)
2.2.5 Hệ thống gợi ý theo hướng tiếp cận lai (Hybrid recommendations)?

21
21
21
21
22
23
25
26
27
27
29
30
32
35
3


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
2.2.6 Ứng dụng của Recommendation System trong tuyển dụng và tìm kiếm việc làm?
2.2.7 Các thư viện hỗ trợ Recommendation systems:
2.3. Tìm hiểu về phương pháp sắp xếp Kanban trong quản lý tiến độ sự kiện
CHƯƠNG 3 - PHÂN TÍCH HỆ THỐNG
3.1 Sơ đồ Use case tổng quát
3.2. Danh sách Use case:
3.3. Đặc tả Use Case
3.3.1. Module Auth
3.3.1.1. Use case UC01 - Sign in:

3.3.1.2. Use case UC02 - Sign up:
3.3.1.3. Use case UC03 - Verify:
3.3.1.4. Use case UC04 - Approve account:
3.3.2. Module Job seeker:
3.3.2.1. Use case UC05 - Manage personal CV list:
3.3.2.2. Use case UC06 - Create a CV:
3.3.2.3. Use case UC07 - Search for job list
3.3.2.4. Use case UC08 - Save a job
3.3.2.5. Use case UC09 - Search for companies
3.3.2.6. Use case UC10 - Save a company
3.3.2.7. Use case UC11 - Review a company
3.3.2.8. Use case UC12 - Read a job post
3.3.3. Module Company
3.3.3.1. Use case UC13 - Post a job
3.3.3.2. Use case UC14 - Delete a job post
3.3.3.3. Use case UC15 - Manage company job posts
3.3.3.4. Use case UC16 - Search for job seekers
3.3.4. Module Recruitment process
3.3.4.1. Use case UC17 - Apply for a job
3.3.4.2. Use case UC18 - Manage saved items (job, company)
3.3.4.3. Use case UC19 - Manage personal application board
3.3.4.4. Use case UC20 - Manage applicant board
3.3.4.5. Use case UC21 - Select or invite job seekers for interview
3.3.4.6. Use case UC22 - Contact with chat
3.3.5. Module Profile
3.3.5.1. Use case UC23 - Visit company profile
3.3.5.2. Use case UC24 - Visit job seeker profile
3.3.5.3. Use case UC25 - Edit profile
3.3.6. Module Admin


37
38
42
43
43
44
47
47
47
48
49
50
52
52
53
54
54
55
56
56
57
58
58
59
60
60
61
61
61
62

63
63
64
66
66
66
67
68
4


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
3.3.6.1. Use case UC26 - See activity statistics
3.3.6.2. Use case UC27 - Manage users
3.3.6.3. Use case UC28 - Manage reports
3.3.6.4. Use case UC29 - Manage job posts of system
3.4. Mơ hình hóa u cầu:
3.4.1. Module Auth
3.4.2. Module Job Seeker - CV:
3.4.3. Module Job Search and Jobs Board
3.4.4. Module Company Search
3.4.5. Module Profile
3.4.6. Module Recruitment Process

68
69
69
70
71
71

72
73
74
75
76

CHƯƠNG 4 – THIẾT KẾ VÀ PHÁT TRIỂN HỆ THỐNG
4.1. Kiến trúc hệ thống:
4.2. Thiết kế dữ liệu:
4.2.1. Sơ đồ CSDL tổng quát:
4.2.2. Danh sách các bảng dữ liệu trong sơ đồ
4.3. Sơ đồ lớp
4.4. Thiết kế giao diện
4.4.1. Sơ đồ liên kết các màn hình
4.4.2 Danh sách các màn hình
4.4.3. Mơ tả các màn hình
4.4.3.1 Nhóm màn hình Home
4.4.3.2 Nhóm màn hình Auth and Verify
4.4.3.3 Nhóm màn hình Search and Recommend
4.4.3.4 Nhóm màn hình Profile and Review
4.4.3.5 Nhóm màn hình CV Manage
4.4.3.6 Nhóm màn hình Recruitment Process:
4.4.3.7 Nhóm màn hình Post:
4.4.3.8 Nhóm màn hình Khác:

77
77
80
80
81

82
83
83
84
86
86
87
89
92
95
97
98
101

CHƯƠNG 5 - ÁP DỤNG MƠ HÌNH KHUYẾN NGHỊ
5.1. Thực nghiệm
5.1.1. Một số định nghĩa
5.1.1.1. Utility matrix
5.1.1.2. Cosine similarity:
5.1.1.3. Jaccard similarity:
5.1.1.4. Pearson correlation:
5.1.1.5. Root Mean Squared Error (RMSE)
5.1.2. Phân loại phương pháp

104
104
104
104
106
107

108
108
109
5


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
5.1.3. Ý tưởng tiến hành
5.1.3.1 Thu thập bộ dữ liệu
5.1.3.2 Xác định phương thức tính điểm (trọng số)
5.1.3.3 Tiền xử lí (pre-processing)
5.1.3.4 Modeling
5.1.3.4 Hậu xử lí (post-processing)
5.2. Đánh giá
5.2.1. Kết quả
5.2.2. Nhận xét

110
110
110
111
111
112
112
112
113

CHƯƠNG 6 - CÀI ĐẶT VÀ THỬ NGHIỆM
6.1. Môi trường cài đặt:
6.2 Danh sách các thư viện

6.3 Kiểm thử:
6.4. Các phương tiện, công cụ hỗ trợ

114
114
115
115
116

CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
7.1. Các kết quả đạt được
7.2. Những ưu điểm và hạn chế
7.2.1. Ưu điểm
7.2.2. Hạn chế
7.3 Hướng phát triển

117
117
118
118
119
120

TÀI LIỆU THAM KHẢO

121

BẢNG PHÂN CÔNG CÔNG VIỆC
123
1. Đánh giá tiến độ thực hiện đề tài (bảng tóm tắt q trình các giai đoạn thực hiện cột thời gian và

hoạt động)
123
2. Bảng phân công nhiệm vụ chính
125

6


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

[1] CSDL: cơ sở dữ liệu
[2] MERN: tập hợp các công nghệ MongoDB, Express, ReactJS, NodeJS
[3] SĐ: sơ đồ
[4] UI (User Interface): giao diện người dùng
[5] UX (User Experience): trải nghiệm người dùng

7


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

CHƯƠNG 1 - TỔNG QUAN
1.1. Giới thiệu đề tài
Với nhịp độ phát triển nhanh chóng của xã hội ngày nay thì con người càng cần phải
khơng ngừng phát triển chính bản thân ở nhiều khía cạnh trong cuộc sống, rèn luyện những skill
và kiến thức cho công việc ước mơ của mỗi người cũng như bên những cơng ty cũng cần nơi để
tìm kiếm những nhân tố ưu tú nhất cho họ và những trang về tuyển dụng ra đời ngày một nhiều
nhằm giải quyết nhu cầu đó. Và đây là một lĩnh vực có nhiều điểm có thể khai thác và phát triển

thêm nên nhóm em quyết định chọn đối tượng để nghiên cứu thực hiện là loại hình ứng dụng
tuyển dụng và tìm kiếm việc làm được đánh giá là mang lại nhiều lợi ích cho cả những người
đang tìm kiếm việc làm và những nhà tuyển dụng, cụ thể mang tên Job SunShine, được sử dụng
trên nền tảng web. Sản phẩm kế thừa những điểm mạnh của các ứng dụng đi trước, đồng thời
kết hợp thêm một số tính năng phù hợp nhằm hướng tới việc phát triển tối đa sự kết nối, gợi ý
để giúp tìm ra những cơng việc phù hợp nhất, nhân viên phù hợp nhất.
Không chỉ là một ứng dụng tuyển dụng thông thường, Job SunShine đem tới cho người
dùng cảm giác hài lòng, đáp ứng sự mong đợi khi tham gia vào hệ thống khuyến nghị gợi ý việc
làm, ứng viên vô cùng hợp lý. Ứng dụng sẽ giúp người tìm việc tạo những CV đẹp mắt thu hút
nhà tuyển dụng, giúp công ty quảng bá được thương hiệu và các công việc được nhiều ứng viên
phù hợp nhất ứng tuyển, theo dõi được tiến độ tuyển dụng, các công việc đang ứng tuyển, so
sánh công việc, ...

8


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.2. Mục tiêu và phạm vi đề tài
● Mục đích cơ bản là hiện thực hóa những kiến thức đã học trong quá trình triển khai đồ án.
Đó là xây dựng được một chương trình hồn thiện cả về mặt UI và UX và xử lí dữ liệu,
phục vụ cho phạm vi đối tượng người dùng rộng rãi (người tìm việc và nhà tuyển dụng).
● Ứng dụng những kiến thức lý thuyết và thực hành vào quy trình phát triển một phần mềm
website, hồn thiện phần mềm một cách tốt nhất
● Ý nghĩa thực tiễn là tạo ra một sản phẩm có thể giải quyết vấn đề trong cuộc sống phục vụ
cho nhu cầu thiết yếu mỗi cá nhân trong nhóm cũng như cộng đồng, tạo ra một phần mềm
dễ sử dụng và có kết quả tốt để tìm ra sự phù hợp giữa người - cơng việc, công ty - nhân sự
tiềm năng.
● Đối tượng nghiên cứu:
-


Quy trình phát triển phần mềm website mang tính thương mại

-

Công nghệ:
+ Nextjs
+ NodeJS
+ MongoDB
+ Crawl data với Selenium
+ Hệ thống khuyến nghị

-

Cơ sở khoa học:
+ Sự phù hợp giữa cơng việc với một người.
+ Vận hành quy trình tuyển dụng.
+ Luật lao động.

● Kết quả dự tính đạt được là hoàn thành báo cáo gồm những cơ sở lý thuyết tìm hiểu được,
q trình phân tích đặc tả, thiết kế hệ thống, cài đặt và kiểm thử, qua đó xây dựng được một
ứng dụng hoàn chỉnh đáp ứng tất cả những mục tiêu trên.

9


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.3. Khảo sát và đánh giá các ứng dụng hiện có
Các website tuyển dụng hiện nay được phát triển dựa trên 2 hướng chính là
Nhóm tuyển theo đa ngành nghề: là nhóm dành cho mọi đối tượng cơng ty, khơng có
sự phân hóa rõ ràng cho đặc thù từng nghề, từng vị trí cho mỗi ngành nghề.

Nhóm tuyển dụng theo chuyên ngành và lĩnh vực: là nhóm tập trung và một chuyên
ngành có sự phân hóa rõ rệt, nhiều blog kiến thức về từng chuyên ngành (như IT, Banker,
Luật, start-up,... ).
1.3.1. Nhóm ứng dụng tuyển dụng đa ngành nghề:
1.3.1.1. Vietnamworks.com

10


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
Được thành lập năm 2002, Vietnamwork.com hiện đang là một trong những website
tuyển dụng uy tín nhất hiện nay. Số lượng các nhà tuyển dụng và ứng viên hiện nay chiếm số
lượng lớn. Và công việc tại đây chủ yếu là những việc làm dành cho người đã có kinh nghiệm.
Tuy nhiên các bạn sinh viên mới ra trường cũng có thể tìm được một cơng việc phù hợp với bản
thân. Bởi hiện nay cũng có nhiều ngành nghề đa dạng và yêu cầu dành cho công việc cũng khác
nhau nên hiện nay. Bạn có thể tìm được cơng việc phù hợp nhất với mình tại đây.
● Một số điểm nổi bật:
+ Số lượng người truy cập lớn, hơn 4 triệu lượt truy cập mỗi tháng.
+ Số lượng nhà tuyển dụng có mặt nhiều, người tìm việc miễn phí hết các tác vụ.
+ UI theo lối đơn giản, nhìn dễ hiểu cách thức hoạt động.
+ Kèm tính năng tại CV, blog chia sẻ, có Notification.
● Một số hạn chế:
+ NTD chi trả khoảng gần 2 triệu VNĐ cho tạo một Job, kèm theo nhiều chính sách
cho các dịch vụ khác giá cao.
+ Quảng cáo nhiều.
*** Nhận thấy đặc điểm chung của các website tuyển dụng theo phong cách UI/UX đơn giản,
dễ hiểu, dễ nắm bắt. Nên nhóm em sẽ cố gắng thiết kế theo hướng này để người dùng dễ dàng
tìm và tiếp cận được các chức năng cần dùng một cách nhanh chóng nhất. Chức năng Tạo CV
của trang này không đẹp như các trang khác tuy nhiên hướng dùng trang chung để nhập input
rồi nhấn tạo CV nó đơn giản hóa việc code của nhóm so với việc sử dụng nhập dữ liệu trên

từng loại CV template có tính UX cao hơn nhưng rất phức tạp cho chúng ta handle.
1.3.1.2. Careerbuilder.vn

11


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

CareerBuilder.vn là chuyên trang tuyển dụng khá nổi tiếng trực thuộc CareerBuilder Mỹ
– Mạng Việc làm & Tuyển dụng hàng đầu thế giới. Trang web này phủ sóng trên nhiều quốc gia
với cơ hội việc làm và số lượng ứng viên đông đảo. CareerBuilder mang đến nhiều điểm khác
biệt.
● Một số điểm nổi bật:
+ Chi phí cho người tìm việc : free.
+ UI theo lối đơn giản, trải nghiệm xem tin nhanh hơn không cần phải back load.
+ Page tạo CV riêng biệt, rất nhiều template đẹp.
+ Có các tool đo lường (đo lượng cạnh tranh ứng viên, tính lương, so sánh cơng
việc).
● Một số hạn chế:
+ Vẫn cịn chi phí cao cho NTD.
*** Hình thức đăng ký để trở thành một công ty khá đơn giản không xác minh đối tượng nên dễ
dàng đăng các tin tuyển dụng, có thể cho phép người xấu tạo các bài tin tuyển dụng không đúng
thực tế, lừa đảo. Vậy nên nhóm quyết định sẽ kiểm duyệt tốt hơn ở khâu verify user bằng hình
ảnh, và có thuật tốn kiểm tra và phán đoán trước kết quả. Một điểm mà nhóm sẽ phải tham
khảo đó là các thơng tin của bài tuyển dụng chi tiết như (Hình thức, phúc lợi, yêu cầu chung,
link video, WFH, ...) là các thông tin mà người tìm việc rất quan tâm và là tiêu chí để so sánh
12


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

các cơng việc với nhau. Ngồi ra điểm hay là data bảng lương tham khảo trên cả nước, ước
tính lộ trình nghề nghiệp (recommend), tính lương từ một JD nhanh chóng cũng sẽ được nhóm
tiếp cận và ứng dụng để tăng UX.
1.3.1.3. TopCV

TopCV là một trong các trang web tìm việc part time uy tín được rất nhiều ứng viên lựa
chọn. Khơng những thế trang cịn cung cấp đầy đủ các vị trí và cơng việc tại các lĩnh vực khác
nhau dành cho ứng viên và nhà tuyển dụng. Trang cho phép ứng viên treo CV miễn phí, đối với
nhà tuyển dụng sẽ áp dụng các mức phí khác nhau tùy theo nhu cầu.
● Một số điểm nổi bật:
+ Chi phí cho NTD thấp.
+ Nổi tiếng về CV templates vô cùng đa dạng phong phú và đẹp, kèm nhiều chức
năng quản lý CV hiệu quả.
13


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
+ Có chức năng gợi ý (AI) việc làm khá phù hợp.
+ Có nhiều contest cho sinh viên người thiếu kinh nghiệm.
● Một số hạn chế:
+ Đối tượng ứng viên đa số là sinh viên chưa đa dạng.
*** Là trang web rất nổi tiếng về CV, nhóm em sẽ tham khảo về bố cục và các thiết kế của các
CV template. Ngoài ra chức năng “Gợi ý việc làm” của Top CV cũng được nhóm tham khảo
phần setup yêu cầu người dùng có thể nhập thêm một số thông tin để được recommend tốt
hơn. Giống như các website tuyển dụng khác, Top CV cũng cho phép xem lại lịch sử các công ty
đã xem qua CV được người dùng đăng tải để tìm việc tuy nhiên nhóm sẽ bảo mật thêm phần này
cho công ty, chỉ hiển thị lịch sử khi cơng ty thả tim “u thích” cho CV ứng viên. Contest của
TopCV là điểm hay riêng khi kết hợp được với các công ty tạo ra sân chơi cho các ứng viên
được cọ xát cũng như tìm ra ứng viên sáng giá cho cơng ty, đây cũng là điều mà nhóm sẽ dự
định đưa vào hướng phát triển sau này.

1.3.1.4. Linkedin

14


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
Nền tảng của LinkedIn cũng gần giống với Facebook và những mạng xã hội khác. Tuy nhiên
LinkedIn được sử dụng chủ yếu bởi các doanh nghiệp và những cá nhân chuyên nghiệp với mục
đích tuyển dụng, tìm kiếm việc làm và mở rộng cơ hội kinh doanh. Nói một cách ngắn gọn thì
Linkedin tương tự như Facebook nhưng chủ yếu được dùng để phục vụ cho công việc thay vì
giải trí.
● Một số điểm nổi bật:
+ Lấy nền tảng mạng xã hội nên giúp bạn dễ dàng xây dựng thương hiệu bản thân
hơn.
+ Có nhóm để thảo luận nâng cao trình độ chun mơn.
+ Nổi tiếng về recommendation system.
● Một số hạn chế:
+ Tương tác nhiều mới tăng sự tìm kiếm phù hợp cho bản thân.
+ Tìm kiếm quá nhiều sẽ bị giới hạn phải nâng cấp để thực hiện tiếp tục.
*** Là trang web rất nổi tiếng nghiêng về hướng mạng xã hội nên các group hay post của
Linkedin phát huy tối đa sự kết nối các nhóm người dùng có chung sở thích, tính chất cơng việc
để recommend job hợp lý nhất. Nhóm sẽ phát triển group theo hướng bài blog nghề nghiệp đơn
giản và event giống như Linkedin để phân hóa tính chất cơng việc người dùng dễ dàng hơn.
1.3.1.5. Smartr

15


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
Là trang website tuyển dụng thiết kế theo lối đơn giản tập trung thẳng vào vấn đề tìm việc là

chính, dễ dàng sử dụng nhất.
● Một số điểm nổi bật:
+ Các công ty nhiều ngành nghề, đa quốc gia tuyển dụng ở đây.
+ UI hài hòa, tối giản component trên màn hình.
+ Có chức năng giới thiệu cho bạn bè.
+ Trang profile đầy đủ thông tin.
● Một số hạn chế:
+ Khơng có tạo CV.
*** Thay vì CV đẹp thì website tập trung cho trang profile đầy đủ thơng tin cùng với đó cách
quản lý tiến độ cơng việc theo dạng kéo thả qua các status khác nhau giúp người dùng trực
quan hơn rất nhiều. Vậy nên, nhóm quyết định sẽ dựa theo cách thiết kế về phần profile và quản
lý tiến độ của Smartr để được trải nghiệm tốt hơn cho người dùng.

16


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.3.2. Nhóm ứng dụng tuyển dụng về lĩnh vực chuyên môn:
1.3.2.1. ITviec

Khác với các website khác, Itviec là website dành riêng cho dân IT. ITviec giúp developer chất
như bạn phát triển sự nghiệp. Itviec cung cấp những cơ hội việc làm IT tốt nhất cũng như nhiều
nguồn tài liệu hữu ích trên blog để giúp bạn phát triển. ITviec được những công ty IT hàng đầu
lựa chọn để tuyển dụng các ứng viên IT tài năng nhất.
● Một số điểm nổi bật:
+ Chi phí cho dev là khơng có.
+ Chia rõ ràng các lĩnh vực cho từng vị trí (cơng nghệ, vai trị trong phát triển phần
mềm).
+ Có các blog, các đánh giá về IT.
● Một số điểm hạn chế :

+ Nhiều chức năng cần thiết chưa có, khá bất tiện như CV.
+ Chi phí cho cơng ty không công khai phải contact và chi trả riêng.
*** ITviec cho phép người tìm việc đánh giá cơng ty, rating này được sử dụng giúp admin
quản lý report các trang công ty lừa đảo, giả mạo, tạo yếu tố giúp recommend người tìm việc
hiệu quả hơn. Nhóm sẽ đưa đánh giá cơng ty vào trong trang website của mình. Hạn chế lớn
của ITviec là chi trả cho các dịch vụ khơng public và cơng khai, nhóm sẽ tham khảo các cách
chi trả qua các ví điện tử để rõ ràng và tự động hơn vấn đề payment.
17


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.3.2.2 Nhanlucnganhluat.vn

Đây là trang web tuyển dụng công việc liên quan đến luật lớn dành cho các bạn có định
hướng làm việc về luật. Trang web có đa dạng các công việc liên quan đến luật giúp các bạn trẻ
mới ra trường cũng như những người có kinh nghiệm tìm kiếm cơng việc phù hợp. Và tất nhiên
là trang web này cũng miễn phí nhé!
● Một số điểm nổi bật:
+ Dễ dàng sử dụng.
+ Hoàn toàn miễn phí.
+ Blog học tập và định hướng về luật.
+ Có chức năng hỗ trợ tư vấn.
● Một số điểm hạn chế :
+ Cịn ít chức năng,
+ Khơng cần xác minh.
*** Giao diện khơng hịa hợp là điểm hạn chế lớn cho website chỉ dừng ở mức như forum. “Tìm
kiếm ứng viên” của nhà tuyển dụng cũng còn hạn chế chưa có các thuật tốn tốt, và đây sẽ là
điều mà nhóm sẽ phát triển hơn, tìm kiếm nhanh hơn và phù hợp nhất.

18



Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.3.2.3 Angel.co

Đây là trang web tuyển dụng dành cho các cơng ty và người tìm việc hướng tới các công
ty startup.
● Một số điểm nổi bật:
+ Dễ dàng sử dụng.
+ Hồn tồn miễn phí.
+ Assessment nhiều kiến thức bổ ích hỗ trợ người tìm việc rất lớn.
*** Website làm rõ và chia ra từng step để create ra một trang company để tuyển dụng rất
đáng để nhóm làm nguồn tham khảo. Nguồn quiz để giúp seeker trao dồi kiến thức cũng là điểm
hay cần để nhóm đưa vào hướng phát triển sau này.

19


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
1.4. Các chức năng chính
STT

Nhóm chức năng

Mơ tả

1

Quản lý tìm kiếm cơng việc
phía người tìm việc


Tìm kiếm công việc/công ty theo bộ lọc, gợi ý công
việc phù hợp, apply công việc, lưu công việc, bảng
tiến độ các cơng việc đang ứng tuyển,...

2

Quản lý quy trình tuyển dụng
phía cơng ty

Tạo bài tuyển dụng, gợi ý người tìm việc phù hợp,
bảng tiến độ hồ sơ ứng viên, danh sách tin,...

3

Quản lý user profile

Tạo và chỉnh sửa các thông tin trên trang profile
của người tìm việc và cơng ty, từ đó xây dựng user
profile để hiện thực hóa hệ thống gợi ý

4

Quản lý hồ sơ CV phía người
tìm việc

Tạo, chỉnh sửa CV, quản lý danh sách CV, tải CV,
chọn CV để apply cơng việc

Bảng danh sách u cầu chính


20


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT

2.1. Về mặt cơng nghệ
Tìm hiểu và sử dụng các cơng nghệ thích hợp với yếu tố dựa trên nền tảng website.
2.1.1 React JS (Cơng nghệ phía Frontend)

ReactJS là một thư viện viết bằng JavaScript, được facebook phát triển, dùng để xây
dựng Giao diện người dùng (UI). React JS được sử dụng rộng rãi và có hệ sinh thái đa dạng,
phong phú. React cho phép dễ dàng lồng các đoạn HTML vào trong JS tạo ra JSX làm cho các
component dễ hiểu hơn.
Mục đích sử dụng của ReactJS:
+ Xây dựng các Single Page Application (SPA).
+ Xây dựng các website từ các component có tính tái sử dụng và mở rộng.
+ Cải thiện hiệu suất, trải nghiệm website thông qua Virtual DOM và Client-side rendering
2.1.1.1 Đặc điểm của React JS
Ưu điểm của ReactJS:
+ Dễ dàng tiếp cận và tìm hiểu hơn so với nhiều framework.
+ Có các plugin hỗ trợ: React Dev Tool, Redux, Dev Tool
+ Có document rõ ràng ( , cộng đồng hỗ trợ mạnh mẽ.
+ Rất nhiều website có lượng truy cập lớn sử dụng tới ReactJS: facebook, Instagram,
KhanAcademy, dropbox, Atlassian

21



Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm

Nhược điểm của ReactJS:
+ Chỉ là một thư viện UI, cần kết hợp với nhiều thư viện khác để tạo thành một website
hồn chỉnh
+ Kích thước của thư viện này lớn.
+ Khơng thích hợp với SEO
2.1.1.2 NextJS - một framework sinh ra từ React JS

Next.js là một framework dùng để phát triển các ứng dụng React theo tư tưởng
Isomorphic (Universal), được phát triển bởi Zeit, hay Vercel. Nhờ Next.js chúng ta có thể dễ
dàng tạo được một ứng dụng React theo tư tưởng Isomorphic, có bao gồm chức năng Server
Side Rendering.
Một số tính năng nổi bật của NextJS
+ Mặc định đã được render phía server
+ Tự động split code để load page nhanh hơn
+ Đơn giản hóa routing phía client (page based)
+ Mơi trường dev với webpack-based hỗ trợ Hot Module Replacement (HMR)
+ Có thể implement với Express hoặc những Node.js HTTP server khác
+ Dễ dàng customize với Babel và Webpack config

22


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
2.1.2 NodeJS (Cơng nghệ phía Backend)

NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine – trình thơng dịch
thực thi mã JavaScript, giúp xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở

rộng. Ra đời năm 2009, phiên bản hiện tại là 16.4, có nhiều framework từ Node JS, trong đó có
ExpressJS.
So sánh với các cơng nghệ khác (ASP NET)
Tính chất

Node.js

ASP.NET

Định nghĩa

Node.js là nền tảng dịch mã nguồn của
JavaScript thành mã máy.

Một nền tảng quản lý đa ngôn ngữ để
phát triển ứng dụng web.

Sử dụng

API web, ứng dụng web, trình dịch, tạo tài
liệu, tập lệnh...

Ứng dụng dành cho thiết bị di động,
web desktop, Microservice cho Docker
container, game, machine learning và
các dịch vụ Cloud

Performance

Nền tảng này xử lý đa nhiệm một cách

hoàn hảo - đó là một giải pháp nhẹ khơng
gây q tải cho máy chủ của bạn.

Hiệu suất của ASP.NET khá cao và nền
tảng này liên tục phát triển. Phiên bản
mới nhất nhanh hơn 15% so với phiên
bản đầu tiên.

Công cụ

WebStorm, Visual Studio Code, bất kỳ text
editor nào

Visual Studio, ReSharper, Web
Essentials

Hỗ trợ nền
tảng

Linux, OS X, Windows,...

Có phiên bản đa nền tảng .NET Core
cho Windows, Linux, macOS.

Ngôn ngữ

JavaScript

C#, F# và Visual Basic


23


Đồ án 18: Xây dựng hệ thống tuyển dụng và gợi ý việc làm
Express là một framework dành cho NodeJS. Nó cung cấp cho chúng ta rất nhiều tính
năng mạnh mẽ trên nền tảng web cũng như trên các ứng dụng di động. Express hỗ trợ các
phương thức HTTP và middleware tạo ra môt API vô cùng mạnh mẽ và dễ sử dụng. Có thể tổng
hợp một số chức năng chính của express như sau:
● Thiết lập các lớp trung gian để trả về các HTTP request
● Định nghĩa router cho phép sử dụng với các hành động khác nhau dựa trên
phương thức HTTP và URL
● Cho phép trả về các trang HTML dựa vào các tham số.

Nhóm em đã chọn Node.js vì quy mơ App cỡ vừa, cần sự gọn nhẹ, ngôn ngữ quen thuộc
JavaScript, và điểm cộng lớn là cần thời gian hoàn thành nhanh và dễ mở rộng do sử dụng
ngơn ngữ Javascript tương thích nhiều cơng nghệ khác,...

-

24


×