Xây dung hệ thống dé xuất - Recommendation System RS dé kết nối việclam giữa sinh viên và các nhà tuyển dụng, hệ thống này cung cấp chức năng déxuất các công việc từ các nhà tuyên dụng t
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
NGHIÊN CỨU SHOPIZER FRAMEWORK VÀ ÁP DỤNG XÂY DỰNG
HE THONG KET NÓI VIỆC LAMGIỮA SINH VIÊN VA NHÀ TUYẾN DUNG
Ngành : Công nghệ thông tin Niên khóa : 2019 - 2023
Lớp : DHI9DTA
Sinh viên thực hiện : Nguyễn Diy Long
Lương Hữu Luân
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
NGHIÊN CỨU SHOPIZER FRAMEWORK VÀ ÁP DỤNG XÂY DỰNG
HỆ THÓNG KÉT NÓI VIỆC LÀMGIỮA SINH VIÊN VÀ NHÀ TUYỂN DỤNG
Giảng viên hướng dẫn: Sinh viên thực hiện:
ThS Nguyễn Dire Công Song Nguyễn Diiy Long - 19130128
Lương Hữu Luân - 19130131
TP Hô Chi Minh, ngày 31 tháng 08 năm 2023
Trang 3NGHIÊN CỨU SHOPIZER FRAMEWORK VÀ ÁP DỤNG XÂY DỰNG Năm
HE THONG KET NÓI VIỆC LAM GIỮA SINH VIÊN VÀ NHÀ TUYẾN DỤNG 2023
Trang 4CÔNG TRÌNH HOÀN TẤT TẠI TRƯỜNG ĐẠI HỌC NÔNG LÂM
Cán bộ hướng dẫn: ThS Nguyễn Dire Công Song
Cán bộ phản biện: ThS Khương Hải Châu
Luận văn cử nhân được bảo vệ tại HỘI ĐỒNG CHÁM LUẬN VĂN CỬ NHÂN
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày 08 tháng 09 năm 2023
I
Trang 5Nhận xét của giáo viên hướng dân:
Trang 6Nhận xét của giáo viên phản biện:
Trang 7BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC NÔNG LAM TPHCM Độc lập — Tự do — Hanh phúc
NHIỆM VỤ LUẬN VĂN CỬ NHÂN
Họ tên sinh viên: Nguyễn Dũy Long Họ tên sinh viên: Lương Hữu Luân
Ngày tháng năm sinh: 28/10/2001 Ngày tháng năm sinh: 27/7/2001
Chuyên ngành: Công Nghệ Thông Tin Chuyên ngành: Công Nghệ Thông Tin
1 TÊN ĐÈ TÀI Nghiên cứu Shopizer framework và áp dụng xây dựng hệ thống kết
nối việc làm giữa sinh viên và nhà tuyên dụng
2 NHIỆM VỤ VÀ NỘI DUNG
a Nhiệm vụ nguyên cứu:
Tìm hiểu về các framework hỗ trợ xây dựng sàn thương mại điện tử gồm:
Broadleaf, Apache Ofbiz và Shopizer.
Xây dung hệ thống dé xuất - Recommendation System (RS) dé kết nối việclam giữa sinh viên và các nhà tuyển dụng, hệ thống này cung cấp chức năng déxuất các công việc từ các nhà tuyên dụng theo các kỹ năng và địa điểm mong
muốn làm việc của ứng viên, đồng thời hệ thống cũng cung cấp chức năng đề
xuất các ứng viên tiềm năng cho các nhà tuyên dung
Xây dựng ứng dụng hỗ trợ kết nồi việc làm giữa sinh viên và nhà tuyển dụng
b Nội dung nguyên cứu:
e Nghiên cứu và áp dụng Shopizer framework dé xây dựng san
e Nghiên cứu và áp dụng thư viện LensKit dé xây dựng hệ thống đề xuất bằngphương pháp lọc nội dung (Content-based).
e Ứng dụng hỗ trợ kết nối việc làm giữa sinh viên và các nhà tuyển dụng.
3 NGÀY GIAO NHIỆM VỤ: 02/2023
4 NGÀY HOÀN THÀNH NHIỆM VỤ: 31/08/2023
5 HO VÀ TÊN CAN BỘ HƯỚNG DAN: ThS Nguyễn Đức Công Song
Trang 8Ngày / / Ngày / / Ngày / /
CÁN BỘ HƯỚNG DAN CÁN BỘ PHAN BIEN KHOA CNTT
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
Trang 9LỜI CẢM ƠN
Đề có thé hoàn thành đề tài luận văn tốt nghiệp một cách hoàn chỉnh, bên cạnh
sự nỗ lực cố gắng của bản thân còn có sự hướng dẫn nhiệt tình của quý Thầy Cô, sựđộng viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập nghiên cứu vàthực hiện luận văn tốt nghiệp
Đầu tiên, chúng em xin chân thành gửi lời cảm ơn chân thành nhất đến ThầyNguyễn Đức Công Song, mặc dù thầy rất bận bịu nhưng thầy vẫn luôn dành thời gian
giúp đỡ chỉ bảo, cho những lời khuyên bồ ích Thầy luôn động viên và tạo điều kiện
dé chúng em có thé hoàn thành được bài luận văn này
Bên cạnh đó, cũng xin chân thành bày tỏ lòng biết ơn đến toàn thể quý Thầy
Cô trong Khoa Công nghệ Thông tin Đại học Nông Lâm TP.HCM đã tận tình truyềnđạt những kiến thức quý báu cũng như tạo mọi điều kiện thuận lợi nhất cho em trongsuốt quá trình học tập nghiên cứu và cho đến khi thực hiện đề tài luận văn
Và cuối cùng, em xin gửi lời cảm ơn đến lãnh đạo trường đại học Nông Lâm
TP.HCM, các phòng ban chức năng đã tạo điều kiện giúp đỡ nhóm trong quá trình
học tập và làm luận văn.
Với kiến thức và trình độ lý luận còn hạn chế, luận văn này không thể tránhkhỏi những điều thiếu sót Vì vậy em rất mong nhận được những ý kiến đóng góp,nhận xét và sự chỉ bảo của các thầy cô để chúng em có thể học hỏi thêm những kiến
thức và kinh nghiệm cho bản thân, phục vụ cho quá trình công tác sau này.
Xin chân thành cảm ơn!
Trang 10DANH MỤC VIET TAT
STT Tên viết tắt Tên đầy đủ
1 API Application Programming Interface
2 VSM Vector Space Model
3 TF-IDF Term Frequency — Inverse Document Frequency
4 RS Recommendation System
5 DF Số tài liệu chứa một từ nhất định
6 TF Tần suất xuất hiện của một từ
7 IDF Ti lệ nghịch đảo trong tài liệu
8 AD Activity Diagram
VI
Trang 11DANH MỤC BANG BIEU
Bảng 1 - Danh sách những yêu cầu chức năng chính của hệ Bang 2 - Bảng vi dụ về tính TF-IDF
Trang 12thống -DANH MỤC HÌNH ẢNH
Hình 1 - Apache O1Z 2 22 2223221321223 1 1511231211121 1 11011 1 11 1H ng co Kinh: + BT0D80lGBEeesesiiiaeeeitBssbbdisagsistbsxeoilbgpisgidisa;kcSAsis9458042352101002501006402 0220338183663 5
Hình 3 - Broadleaf sCaÏe - 6< +2 x2<E1 2 E12 111121111 HT HT TT H net 7
Hinh 4 Si 0z 8
Hình 6 - Source code Java Shopizer ÍramewWOFrK ¿+ +-+++++++xssssserrresrrrrrerree 11 Tình 7 = Flow ÌãVÊ triongnsni801000016104G1815855014k84SH0X5S4X3XSSEASEXSISSS34185SINGS19433388153.511.3H8 12 Bink, § = Content-based Si S00 8 sen badoinseboiogtioeobiigoS©2000940803088g10504GL350SSD40G8810G06G80/2088 13 Hin’ ® = Colla bere i ve PWS css onsen cenesss wisn wncenisnesisaastex alien sins ten isowstevesvancnster 14
Hình 10 - Hình ví dụ về TF-IDF 0 c.ccccscssesssessseesessseesessesesesseesseeseesseesessteeseesecenees 15
Hinh 11 - Vector Space 001 16 Hình 12 - Ví du Vector Space Model - s-++sx cv ng ng rưệp 17
Hình 14 - Những actor sử dung WebsIf© - cà St 19
Hình 15 - Sơ dé usecase chức năng cua actor sinh viên (alumnus side) 22Hình 16 - Sơ đồ usecase chức năng của actor nhà tuyển dung (employer side) 23Hình 17 - Sơ đồ usecase tổng quan cả hệ thống - 2: 2 52+2222E22E+£Ec2zzzzzzez 24
Hình 18 = Useeass d1á0ram Guat lý CV nnaseessernniailnokLEiG1I9004635E0100135835S8801591S8.SSĐEGHĐ4888 29 Hình 19 - Sequence diagram dành cho tao CV ceccccccceecceeceeeeeeceeeseeeseeeseeeeeeneens 25
Hình 20 - Usecase diagram ứng tuyỂn ¿- 2 22222+2E2EE2EE2EE2EE2EESEEerrrrrrees 26
Hình 21 - Sequence diagram ứng tuyÊn -2- 2 2S2+2E22E£2E£EE2EE2EEEEErxrrrrzer el
Hình 22 - Usecase diagram theo dõi cơng VIỆC 52 222 * +22 £+zxsreezerrrreree QT
Hình 23 - Usecase diagram quản lý hồ so cá nhân sinh viên - - 28Hình 24 - Sequence diagram tạo hồ sơ dành cho sinh viên - 29
Hình 25 - Usecase diagram quản lý tài khoản sinh viÊn - 5 55+ +s<+<£+sss2 29 HHinh26 = Usecase đ1a67aifi Til W166 c6 1ĩ BE 5n 1,208 04 164 S1 S413 48441 08 ae 483 21384384083.38 30 Hình 27 - Usecase diagram xem trạng thái ứng tuyền -¿ c -.32
Hình 28 - Usecase diagram đề xuất cơng việc 2-©2222222++2+222++2zzzzrerxee 32
Hinh 29 - Usecase diagram đăng ký đành cho sinh VIÊN e.e.esesasiiieoaiU
Hình 30 - Usecase diagram đăng ký cho nhà tuyển dụng -:-c: - 34
Hình 31 - Usecase diagram đăng nhập - - 255 22522 sErrrierrerrke 35
Tinh 732 - [Jgeoase tÏsøraim đăng XU cesesesesetessBinkoiklg0esl00016S00003461401016400060112đ80 36
Hình 33 - Usecase digram quan ly tài khoản cá nhân nhà tuyên dụng và admin 36
Hình 34 - Usecase diagram chỉnh sửa hồ sơ nhà tuyển dụng . - 37Hình 35 - Usecase diagram đề xuất ứng viên -2-©22+22+22++2z+2E++2xzrrrzrxeex 38
Hình 56= US6case dia Stati đấng VỆ oeccsaeneisoiinogidtiA nga gi 38401483043060/48816153030800 G88 39 Hình 37 + Sequence-diagram đãng VIỆU tuáscsiioindicsdiisdEiBL8301131G31S0543848335ã685851 3080 4] Hình 38 - Usecase diagram xét duyỆt Ứng VIÊN - eee cee eee eeeeeceeeeeceeeeeeeeeees 41
Hình 39 - Usecase diagram tạo hồ sơ nhà tuyển dụng 2 2222z222z+25zz 42
Hình 40 - Usecase diagram tìm kiếm cơng việc dành cho nhà tuyển dung 42
IX
Trang 13Hình 41 - Usecase diagram quản lý nhà tuyển dụng -2 2-©222255z255z<: 43
Hình 42 - Usecase quản lý ứng VIÊN - - + 222222 SE nnrnrnr rrrnriet 43
Hình-43 = Sơ đồ kiến trúc hộ thống e sen HH 2H GÀ H030 0 10110706000 c0 45Hình 44 - Mô hình kiến trúc mở rộng 2-2 2 +SE+EE+EE£EE£EE£EEEEEEEEEErErrrrrrer 45
Hình 45 - Hình anh ban cập nhật fix lỗi của Shopizer 2- 252 222++sz2zz2zz- 46Hình 46 - Cập nhật entity Product và các relationship mapping liên quan 48
Hình 47 - Cac repository được thêm vào và các method query được thêm vảo 48 Hình 48 - Các service được thêm VàO - 222 211211 221121121 1511211121111 ke 49
Hình 49 - Các API được thêm vao và các method được bồ sung 49
Hình 50 - Cac mapper được thêm Va0 -. - c2 112122122122 2 221 H1 ni, 50
Hình 51 - Cập nhật DTO và thêm các DTO mới - 55525522 +22**+2£+ze++seeess 50
Hình 52 - Replace version dependencies CuaVa - ¿+ +x++x++sesvxeeeerrrrees 51
Hình 53 - Thêm module recommender vao trong source code - «<5 51
Hình 54 - Cấu hình sau khi thêm module recommender vào source code ở file pom
parent của SHOPL2€Í::ssscesrxsxss5115661161465604335601030531011615815133595 61886044 SS0G4SERTL011V61341540915000) 52
Hình 55 - Vector space model cho dé xuất công việc -2-22©2+2c5+zz 32Hình 56 - Code mẫu hệ thống đề xuất - 1 2 22-©22222++22++2E++2Sz+£z++rxree 55Hình 57 - Code mẫu hệ thống đề xuất - 2 22-2 2+2222EE22E22EE222222E222222xee 55Hình 58 - Code mẫu hệ thống đề xuất - 3 -2- 22 22+22+2EE++2E++2z+ztxzzrzreex 55Hình 58 - Code natu hệ thông để xui socsekessenndietidecoaEiHaC0000.68001016000020000 56Hình 60 - Code mẫu hệ thống đề xuất - 5 + 22-52 ©c+ScSC2zCzzcrecrrrrreree 56Hình 61 - Code mẫu hệ thống đề xuất - 6 2- 2 2¿©22+2E+2E2EE+2E+2EErzz+zrxeex 57Hình 62 - Code mẫu hệ thống đề xuất - 7 - 2-2 222222EE£+EE£+EE2+ZE2222zzzzzze 57Hình 63 - Code mẫu hệ thông dé xuất - 8 2- 2222222222E222EE2+EEzzrxrsrrrr 58Hình 64 - Vector space model cho đề xuất ứng viên -22©+22++222+zz+ 59
Hinh 65 - Class Diagram 1n 60
Hình 66 - Database hệ thống - 2 2 2 S2SE+SE2EE2EE2E12212212212121221212121222 xe 63
Hình 67 - Source code Shop1zer clone tử f€DOSI{OTY - - 5-5 S5 +S+*+xsssseesrses 67
Hình 68 - Run thành công Shopizer ceececceeceeseeeceeseeseeeceeseeeeeeseceeeseeeeeeseeseeeseees 68 Hình 69 - AD Đăng nhập dành cho sinh viên eee ce ee ce teens teeeesens 69 Hình 70 - AD dang ky dành cho sinh viÊn - ceeecceeeeceeeeeeeeseeeesenecneees 70
Hình 71 - AD Tạo hồ sơ sinh viên - + 2 S2+SSESEE2E2EEEE2E12571117121 2112122 xe 7]Hình 72 - Chỉnh sửa hồ sơ sinh viên 2-2 22S12SE2SE2EE£EE£2E22E22E2E2E22222ezex 72
Hình 74 - AD đề xuất công việc dành cho sinh viên -2- 22 52225222522: 73Hình 75 - AD Tìm kiếm công việc dành cho sinh viên - 2252255252225: 74
Hình 76 - AD theo dõi công việc dành cho sinh viÊn 5- 555 +++<<>+£+e=ss2 75
Hình 77 - AD đăng nhập cho nhà tuyển dụng 2 22©22222+22222zz2zz2zzze- 75Hình 78 - AD đăng ký cho nhà tuyển dụng -2 22-©22222222S+22Ez22zzzrxrsrrree 76
Hình 79 - AD tìm kiếm công việc cho nhà tuyên dụng -22©22©525525522 76
Trang 14Hình 82 - AD tạo hồ sơ cho nhà tuyển dụng -2-© 2 222+22++2E22zzzxzzzzzex 79
Hình 83 - AD cập nhật thông tin nhà tuyển dụng cho nhà tuyển dụng 80Hình 84 - AD đăng nhập cho quản trj VIÊN - cece 522 S2E+* Set 81
Hình 85 - AD quan ly nhà tuyén dung cho quản tri viên 2- 22-55255522 82
Hình 86 - AD quan lý ứng viên cho quan tri VIÊN 5-5 +£++c+s=xeeseeexee 82
EHinh,S7 = Cháo tiện: Cane KÝ UE VI TT usessskstienseinietissS004006153030391980013428089438300000043038058 83
Hình 88 - Giao diện đăng nhập ứng vIÊn eee 0 St SH HH ng, 83
Hình 90 - Giao điện tạo hồ sơ ứng viên -2- 2 2 s+2E+EE+EE+EE£2E2EE22E2E222222222.2e 84Hình 91 - Giao diện hồ sơ ứng viên sau khi cập nhật -2- 2z s2 +s+2sz+zzzz+sz 85Hình 92 - Giao diện hé sơ sau khi cập nhật 2 2 2+SS+Sz+S+EEEE+Ez2E2EE2Ezzxczxe 85
Hình 93 - Giao diện cập nhật ảnh dat diện 55222222 E£+22£++E£+zEE+zeeszeeees 86
Hinh 94 - Giao dién hé so sau khi cập nhật anh dat diện 555-552 87Hình 95 - Giao diện cập nhật hỗ $00 ceccccceccecessessessessessessessessessessessesseseesseeseeseess §7Hình 96 - Giao điện sau khi cập nhật hỗ sơ 2-2 22S2SE£2E2EE22E2£E2E2E2Z2zze2 88
Hinh 97 - Giao dién CV 0.4 88 Hinh 98 - Giao dién tao 0 89 Hình 99 - Giao diện sau khi tao cv thành công 5-5-5222 2 +22 2222 <2£+z£<zxczezxxe 89
Hình 100 - Giao điện tìm kiếm công vViỆc 2- 2: 222+2E+2E2EE£EE22E22E2122.22222 2e 90Hình 101- Giao diện chi tiết công việc 2+ 2-S2SE+2EeEE2EEEEE2E2E2E2EecEecer 90
Hình 102 - Giao diện Theo d61 công VIỆC eee 2222 +2 *+*++EErEerrrrrrrrrrrrrrke 9]
Hình 103 - Giao điện ứng tuyển công VIiỆC -22 2 2222222E22EE2EE22EE2EErEErerreei 9]
Hình 104 - Giao điện kiểm tra cv trước khi ứng tuyền 2- 22 22 2z+2z+2zzzzz>zz 92
Hình 105=:G1á6 điện sáu, KHI HỘI CGV sua gidioingidotb1S018:08186.40S05GEEBSSGGGBS58EMGIG3003630083630:8g80 92
Hình 106 - Giao điện theo dõi trạng thái ứng tuyến -2- 22 52222++2z++zzszs2 93
Hình 107 - Giao diện xem công việc đã thích - 5-55-5222 2+22**22e+zseszseezxs 93
Hình 108 - Giao điện xem công việc đề xuất thu nhỏ 2 222222 2zzzzsz2z+2 94Hình 109 - Giao điện xem công việc đề xuất 22+ S2+S22E2EE2E1212212112322 2x2 94Hình 110 - Giao điện đăng ký tài kho nhà tuyên dụng -2-©22©222 55255552 95Hình 111 - Giao điện đăng nhập nhà tuyển dụng -2-22- 22 55z22zz2s2zzz>+2 95Hình 112 - Giao diện cập nhật hồ sơ nhà tuyển dụng -2-©25+c5++z 96Hình 113 - Giao diện nhập thông tin đăng tuyển việc làm - 96Hình 114 - Giao điện công việc được lưu sau khi đăng tuyền - 2-22 97
Hình 115 + Giao điện tìm công việc đã GANG - c0 200610102106 12202304655, 97 Hình 116 - Giao diện chọn cập nhật công vIỆc - 5 5c 23c ++tsreerrrrerrke 98 Hình 117 - Giao diện cập nhật công việc đã đăng - 555-252 s++cc+ersrrrxee 98 Hình 118 - Giao diện xét duyệt Ứng VIÊn eee eeceeseeeeececeeeeseeeeeseeeeeseees 99
Hình 119 - Giao điện chọn đề xuất ứng viên 2-2-2 s+SE+2E+EE22EEE2E2EzEezer 99Hình 120 - Giao điện xem dé xuất ứng viên -2¿©-2222++2E++2EE22EE2zxzzzxzzre 100
Hình 121 - Giao diện đăng nhập admIn 5 5-5222 S+*S+*++++E+vEeeEeerrrrrrrrxre 100
Hình 122 - Giao diện thêm tài khoản nhà tuyển dụng -252©5255255225222 101Hình 123 - Giao điện cập nhật thông tin nhà tuyển dụng 225525522522 101
XI
Trang 15Hình 124 - Giao diện cập nhật ảnh đại diện nhà tuyển AED tera armen ceiver
Hình 125 - Giao diện khóa/mở khóa tai khoản
Trang 16MỤC LỤC
TTA 09, TT VIDANH MỤC VIET TẮTT 2- s+S2+S£SE+EE+E£EE£EEEEEEEEE12152152122121271112111 1.21 xe VIDANH MỤC BANG BIỂU -2-©2S22S2SE£EE2EE2121121212112112121121121 112121 xe VIIDANH MỤC HÌNH ẢNHH -2- 2 2+SSSSE+EE9EEEEEEEEE712171717121121121121 212 ye 1.4
HAI) KẾ ÓY |-92sszzs327809/00850ESS0SHEE|SESSESS95ESDDEIbSGIESEESEGSSDBBEIVPESSEEISSEEHBiSU0MSSEgE/HE03i4035800đ008 XVIIELIT TA BO een NA 1
1.1 Lý đo về tính câu thiết của để Ba nh minwrinv entireties itches 1
12: Muertieume bien CU ansenncus a aeunacume amines ieee eS 1
1.3 Đối tượng và phạm vi nghiên COU oo cccccccecceceessessessessessessesseesessessessecsessecseeees i1.4 Kết quả và mục tiêu cần đạt được oo cccceccccccceccsesseseessessessessessessesseseesseeseseeeeeees 1
CHƯNG 5: GO NÓ LY THUẾ teesgBeresseeesiostetoiseodtngieistt00761869010.00089.000" 3
2.1 Tổng quan về thương mại điện tử - 2-22 222z222£22E+zzzzxzzszzszzsezcssrs-.3
2.2 Giới thiệu về các framework xây dung sàn thương mại điện tử 3
AIAN 81 sO) 1) VER eee ner eer ee eee ere ee ee te ee 3 pin 5
24.1: GHốt LHIỆUsxssennesiebsntiidisiSE0121821335305595865939015359585483GLSE5ESS9994055500010993580/7938 12
2.4.2 Các loại hệ thống để xuất - 5-22 L2,L12211211221.1122,11 xe 12
242) J CORES t= DASE, TST cong ngõ nghitgghaGhliauöaghitngdS0SESVESS.GA.1601838/40G0508801388388 12 DAD 2 ACOMaDOPAtVS LCST S sscsennndinnane goi tiESIĐDGIGEESSGDRIGIDHIREEXHIỂSSS.000g88008000780 13 2.5 Term Frequency — Inverse Document Frequency (TF-IDE) 15 2:0, VECtOE S Pace, MOd el secsesessseanssayasernssnsrenseaausasessnasw aaavesusesnuunessanumoerennaeessuemnenetes 16
XI
Trang 17DT THR VES LTS Rai cece ốốố ốc ốc ỐC 17
eo a 17
2.7.2 Lich sử phat trim oo ccc cccceccccesseesessessessessessesseeseesessessessessessessesseeseeees 17
CHƯƠNG 3: PHAN TÍCH VA THIET KÊ - 2-2 ©22222+222E++2+z>z++cse2 19
§.] Hồi toán vô yYÊU G1 1heeseesssesosksorststbssbroborsedltbrssu216kspifstse8l g10301185520100X04/548 19
3.1.1 Xác định bài toán - 2-2222 2222221122112711211127112112112112112112 re 19
3.1.2 Yêu cầu chức mang eo ceccccccscseesseesseesseesseeesessesseesseesseesseesseesseesseesseeeseees 193.1.3 Yếu cầu phí chia HÃNG seeessssseeiebioionitiio nigdiskosllkoreilgtpnsg2bieose2gasrooei 21
3.2 USCCASE na n4 21 0:10: D ÝỶÝ 25
Le, 7 oa eae 25
3.3.2 Ứng tuyên -¿- 2-22 222221221221122122112111112112111211211211211111211 1121 tre 26
9-30 THEO AOU CONS VICE srsaesseobbebiatiingtioitoicgADS4C4SGESNE.T04219922088010S00G931EE'NGNNG1I-09/0220180 2]
3.3.4 Quản lý hồ sơ cá nhân - 2-©22222222222122122212212211221211221 21.222 c-e 38
3.3.5 Quán lý tái khoản Gà TAM ¿co ngh 0k 2 HH0 161 15111428388806: 29
Ea, 4 30
3.3.7 Xem trạng thái ứng tuyỂn - + 2+ ©2222222E22E2EEE2EE22E2EE2EEerErrrrrrei 32
3.3.8 Đề xuất công viỆc - 2-52 2222122222122 rrer 32
3.3.0 Đăng ký - 222 22222112211221121112111211121112111211121121121121121 re 33
33:10, Dane HẬU sssssaasbiiiitriieeiiiitbekgiEEGEEOIG-SSERAEAESIGSSSEKGSQDBESGiAESSES2NA 35 33.11 Đăng xuẤt Ằ5S 22c 36 3.3.12 Quan lý tải Khoản cãnhẪm eeeosssiioiieeiiineieeiiiesridbdeeiedossee 36
3.3.13 Chỉnh sửa hồ sơ -©2-52222222222212211221221221 22122 cxe 373.3.14 Dé xuất ứng viên -5 22cszrsesrsersrrrrr 38
Beli UGH ICONS NI, sessessnisosaorioioiaoiiibtiseolssoislEbizronratoEBoltoSkssslosso-vogssDÐ) 3.3.16 X&hduyét ng VIẾHgsussszssoooardoolttldiOboltUidiiodobitGSEiSUAESRSEOnSEOmeM 41
3.3.17 Tao hồ $ơƠ -22 22 2222212212112122121121112112111 21221 re 42Ñ3Ji& Tee Tet OG tIỆN«eseejsbisnekienbkiokenioaniakssaresinsuceoẻ 42
BO, trhmlitlfllituolWùftlseeeeeesneseeseÐernotireetdtongsosooeemsms 43
3.3.20 Quản lý nhà ứng Vib nae ccccecsesssssseeesesseesessseesteecseesneceneeees 43
3⁄4 Kiến trúa hệ tHÒNg er 44l8, er TT 2d TT sauaeaaaaanauaarrgtrrdtystyangarooynostreroesuaeossagdl 44
Trang 18SIAN WAG 0) Os ee eee ee ee ee eee 45
5.5, (âm dựng Si cancers qcamamernaswmemonnanmnennmmmnewmennominn 463.5.1 Những van dé khi áp dung ShopiZer 2-22 222222z+2z2zxzzxezzxcres 463.5.2 Xử lý những van đề khi áp dụng 2-22 ©2222222E2222222222E2EEzrrcrei 463.6 Xây dung chức năng dé xuất công viỆc -¿-2©22+2z+2x2Ez2Exrzxrerxees 513.7 Xây dựng chức năng đề xuất ứng viên 2: 2¿©22+2x+2E222E222222xczEzzrreei 58
3.8 Class con 60 3.9: AB ssossesssseotl5isssO1lg214033Á4835636585g66018g5302088gã union cl23XS4xx3812bgksSv0t58G138 eet 60CHƯƠNG 4: KET QUA VÀ HƯỚNG PHÁT TRIÉN 22©2222222zz2csz2 64
PHU LU C xen tög 0g k5 nh 1018 G1 130112SHLESSESDLESDEHEHSEEEESQSGBSSHUBSE.HSUSG20L58QS10913880381583088 67 Lach dowiledd Sho piZer ccccsnscmnecommanammnnee mame aE 67
Di INGUVAGY GIA BT AT ccscsesscessenen memes sor leer tes reemeawmtan cat cố ốc ca ca ca acc 69 Deals SIMU ViCU gseeseenss ers eareneecmanrecseevecgne ears eeen eeu See sree ner 69
D lh bo (ĐA TUN AD i criss ous esasne scan ancien oon ci 08 dae susie auntie 3S.16/36:262i0.0018/-i5836g86.8862585.080 69
DP lleg Dig VAN SNE rca stn catrrarins tencatc sa acento armani OLaES 70
2.1.3 Tạo 16 SƠ - 5-52 S21 S1 E221213211211121121112111111121111111 11121121211 1c 71
A ee 72
Sg | a ar 73O18, ieee gaoonasootirkicootsoSiS0SOSEEN0SEG3200/80G3000050 G)5101050008050g100: 73
2 1.6 Theor Gi CONG VISE x cccciasecassnss Si S001 3110110 8g Ba tecilvtin anal D8 2.20010138218158 75
šf Ti tr HH graatreottroootiogttttrgttrigotiGiGENiGUANGtS0ttragAG0nSE 75
2.2.1 Đăng nhẬT - -~-22222<20<-t E2 KH TH ng D.D727.2Z 75
D217: EVAN KỸ SsusEtikiinvituausinskada.tdsaleasgbskudglBagslBi0823u 030685 56EHSsg0u.SSSssutioldBBauSu.Mde 76
E33 Timr/EÌ tr nittgr HT ĐT neayngenggingnggsgiOHEIGIGMGIBIEOHGGEGEDGEISIGUGIGGSESIMGSBESSSESI 76
XV
Trang 1925<00/0: LEJd TP NO cee crate ee Sao EE Be oe Pa V7
2.2.5 Dé xuất ứng viên cho công ViGC ccccccccessessessessessessessesseesessesseeseeseeneens 782.2.6 Tạo hỒ SƠ - 2-5222 SS2222122122321121212112121211211212112112121121121211211 2122 xe 792.2.7 Cập nhật thông tin nhà tuyển dụng -2- 2-©2222222222222£zz22zzzxe2 80
2-3: Quản TEL VIẾHH:sss41esseseg s6ssstixesescovtBsgg448052sn9330sga04440BiazabdjgitsdysexÖLctioi tai2V23.ugui8g3010z20122dE 81
2.3.1 Dang nap oo 81
2.3.2 Quản lý nhà tuyển dụng 2: ©2222222222E22222EE2EEE22E22E2EESExrzrrerxee 82
2;3:3- QUAD DW Ủng VIÔTTsessereskenisititssksilbiesplkertoisdlysgsssslixtgkxs1GkpssgSEsketss tuinggsssá 82
3 Hướng dẫn sử dụng trang web -¿- +52 522222x22122232212212122122121 21221222 cre 823.1 Hướng dẫn ứng viên - 2: 2 ©222222122E22EE21221212121171212212121 21 2 xe 82
3.1.1: Đăng ky tài khoản ỨNg VIỄN :usseencbec511000A133165011510156686468 1634630653 3358 82 31,2 Dang HHẬP HE VIỆT cán gusisiakd0161031010653800100353854313801388848438368653E35954E5486883.48 83
3.1.3 Tạo hồ sơ ứng viên 2 2+22+22+2122E2212212212212121121212121 220 84
3.14 Cap nhatath Gal dICHirsseueinestuiotosstsUAAGIADBEGEHDNEINSESMEEPLIAMGIMGINBIERSSESEB 85
3.1.5 Cập nhật hồ sơ ứng Vit oo ees eeceeccseesseesseesssecssecseesseessecesecssecsseeeseesseestes 87
8 146 AG OV sssnmoosieiglBHDSSi001803575664:020030393358-010080935.8321042900199480838800558880/700H03 08004888 88
3.1.7 Tìm kiếm công việc s22 22211 21211121222111111121111111111 11 0 c0 89
3.1.8 Theo dõi / bỏ theo dõi CONG VIỆC wcscscscscssscseeentessoonsnasiecnesnanavseessneemennoese 90
3.1.9 Ung tuyén cOmg a7 91
3.1.10 Theo dõi trang thái ứng tuyền 2-22 22222+22+22E22E2Exzrxezrrcrer 92
3.1.11, MEM COME XIbG đa/KHÍGHÍss cássscseLi6 i15 066: túng 250 16116110 10210 46014 3.18 3N8038066435.1488 93
3.1.12 Xem công việc được để xuất 2- 2 2+22+2E+EE+2E22E22E22222222eze2 93
3.2 Hướng dẫn cho nhà tuyển dụng - 2222 2222222E22E+2EE22E22EEzEzerxeex 943.2.1 Đăng ký tài khoản nhà tuyển dụng -. -2-©22¿©22222+z2z+zczzzzzree 94
5.3:2, Đừng nhập thả huyền ung css scanccsssminssnasacsornarncenenasannennannceeahaninsaccannaninvan 9533.3, Cập nhật hộ sư nhú trey Sahm caaesegskobinoobiEda nhe gi gggg6)0 035500400 2g 95
3.7.4 Đăng tuyển việc lẫm -.c- 2x sreeskecerrxrsverrerrrxrrrrrrrrerrescee 96
32.5 Vin kiểm ng tiện đã ăNg c ch 1,2220010,0 0000 601020,32021,8 An 97
3.2.6 Capmhaticénge việc đã dane ssc-czcecizgseesgii9055612663555134630ã2302H80E3319/G05888068 97 3.2.7 Xét duy€t UNG VSN eee 98
ñ.7.8, WG a A VÌÊN: «sec h2HHhn da nhan Tu catenin non hide thân hiedid 99
3 Hi zển SÍHÌTtesaeseeansiendteaordtabttrdtoitoapgtdidg30stGigtS0809540009586g 100
Trang 202-81 DANS THẬP HH ccccnsansverssonssxes sescssesivaavwsntsnamicieesinsieomocsstnbesnvernoras 100
3.3.2 Thêm tài khoản nha tuyển dụng -2- 2255252222222 2E2222zzzzzzse2 100
3.3.3 Cập nhật tai khoản nhà tuyển dụng 2-52 5222222E222zz2zz2s22 101
3.3.4 Khóa/Mở khóa tài khoản 2-2-5252 2E2SE£EE2E22EEEE2E17E21222222E e2 102
XVII
Trang 21TÓM TAT
Nhu cầu tìm việc làm thêm cũng như các công việc thực tập trong cộng đồng sinh
viên hiện nay thực sự khó khăn Chính vì thế, trong nghiên cứu này sẽ tập trung
nghiên cứu và áp dụng Shopizer Framework dé xây dựng một hệ thống việc làm kếtnối giữa cộng đồng sinh viên và các nhà tuyển dụng Hệ thống cho phép sinh viên dédàng tra cứu và xem các thông tin về các cơ hội việc làm, tạo cv và nộp đơn ứng
tuyển trực tuyến Đồng thời, các nhà tuyên dụng có thé đăng tải các bài tuyển dụng
và quản lý tuyên dụng nhanh chóng Thông qua việc sử dụng và tùy chỉnh ShopizerFramework, kết hợp hệ thống đề xuất (Recommend system), nghiên cứu này cung
cap một giải pháp hiệu quả giải quyét nhu câu tìm việc của cộng đồng sinh viên
ABSTRACT
In today's student community, the demand for part-time jobs and internships
presents significant challenges As a result, this study focuses on researching and
implementing the Shopizer Framework to establish a job platform connecting
students with potential employers The system facilitates easy access for students to explore and view employment opportunities, create resumes, and submit
applications online Concurrently, recruiters can seamlessly post job listings and efficiently manage their hiring processes Through the utilization and customization
of the Shopizer Framework, in conjunction with a recommendation system, this research provides an effective solution to address the job-seeking needs of the
student community.
Trang 22CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do và tính cấp thiết của đề tài
Hiện nay, trên thị trường có rất nhiều trang web hỗ trợ việc làm cho mọi người nhưTopDev, CareerBuilder, Vietnamworks, nhưng những trang hỗ trợ việc làm dành
riêng cho các bạn sinh viên chưa được quan tâm nhiều
Với mong muốn kết nối sinh viên với các nhà tuyên dụng bang cách đề xuất những
công việc phù hợp từ các nhà tuyên dụng Đồng thời cũng giúp các nhà tuyên dụng có
thể tiếp cận với những ứng viên tiềm năng, vì vậy nhóm muốn thực hiện đề tài xâydựng hệ thống kết nối việc làm giữa sinh viên và các nhà tuyển dụng dé hỗ trợ các
bạn sinh viên có thê tìm kiếm những công việc phủ hợp
1.2 Mục tiêu nghiên cứu
> Tìm hiểu các framework hỗ trợ xây dựng sàn thương mại điện tử gồm: Broadleaf,
Apache OFBiz và Shopizer.
> Xây dung hệ thong đề xuất dé kết nối việc làm giữa sinh viên và các nhà tuyên
dụng, hệ thống này cung cấp chức năng đề xuất các công việc từ các nhà tuyên dung
theo các kỹ năng và địa điểm mong muốn làm việc của ứng viên, đồng thời hệ thốngcũng cung cấp chức năng đề xuất các ứng viên tiềm năng cho các nhà tuyên dụng
> Xây dựng ứng dụng hỗ trợ kết nối việc làm giữa sinh viên và nhà tuyển dụng.
1.3 Đối tượng và phạm vi nghiên cứu
Trong luận văn này, nhóm sẽ giới hạn đề tài trong phạm vi sau: Xây dựng sàn kếtnối việc làm giữa sinh viên và các nhà tuyển dụng thông qua các kỹ năng công việc
liên quan và địa điểm ứng viên muốn làm việc ở thành phố Hồ Chí Minh
Nội dung thực hiện:
> Nghiên cứu và áp dụng Shopizer framework dé xây dựng san việc làm
> Nghiên cứu và áp dung thư viện LensKit dé xây dựng hệ thống đề xuất bằng phương
pháp lọc nội dung - Content-based filtermg (CBF).
> Ứng dụng hỗ trợ kết nồi việc làm giữa sinh viên và các nhà tuyển dụng
1.4 Kết quả và mục tiêu cần đạt được
> Báo cáo đánh giá các framework dé hỗ trợ xây dựng sàn thương mại điện tử
Trang 23> Báo cáo cách xây dựng hệ thống đề xuất dựa trên lọc nội dung.
> Xây dựng hệ thống kết nối việc làm giữa sinh viên và nhà tuyển dụng với các chức
năng chỉ tiết như sau:
s* Dành cho các ứng viên: đăng nhập, đăng xuất, đăng ky, tìm kiếm công việc, dé
xuất công việc phù hợp cho ứng viên, tạo hồ sơ, cập nhật hồ sơ, ứng tuyên, theo dõicông việc.
s* Dành cho nhà tuyển dụng: đăng tuyển, tạo hồ sơ, tìm kiếm ứng viên, quản lý ứngviên ứng tuyển, đề xuất ứng viên tiềm năng cho công việc, cập nhật thông tin nhàtuyển dụng
s* Dành cho admin hệ thống: Đăng nhập, đăng xuất, đăng ky, quản ly nhà tuyển dụng,
quản lý ứng viên
Trang 24CHUONG 2: CO SỞ LÝ THUYET
2.1 Tổng quan về thương mại điện tử
Sự phát triển mạnh mẽ của internet trong những năm qua trên thế giới nói chung
và Việt Nam nói riêng đã làm thúc day phát triển nhiều hình thức thực hiện thông qua
internet Và trong số đó, không thé không ké đến thương mại điện tử
Thương mại điện tử là một lĩnh vực đa dạng, nó bao gồm các hình thức mua bántrao đôi và dich vụ - trong số đó là lĩnh vực giao dịch tuyên dụng việc làm
Thương mại điện tử được chia thành nhiều loại, dựa vào sự đối tượng giao dịch vớinhau dé phân chia các loại sàn thương mại điện tử [1]
2.2 Giới thiệu về các framework xây dựng sàn thương mại điện tử
Hiện nay có rất nhiều tổ chức và các cá nhân đã cho xây dựng và ra đời nhiều
framework hỗ trợ xây dựng sàn thương mại điện tử một các nhanh chóng Trong đó
có ba framework Apache Obiz, Broadleaf và Shopizer.
2.2.1 Apache Ofbiz
APACHE
“OFBiz
Hình 1 - Apache OFBizApache Obiz [2] là một open source hoàn toàn miễn phí, nó cung cấp một bộ ứngdụng kinh doanh như Enterprise Resource Planning (ERP), thương mại điện tử, quản
lý chuỗi cung ứng, có thể ứng dụng trong nhiều ngành Và nó cũng nhiều frameworkkhác, nó hoàn toàn có khả năng mở rộng và phát triển nâng cao
Apache Obiz là một dự án thuộc quỹ Apache Software Foundation (ASF) — một
quỹ sản xuất phần mềm phi lợi nhuận dành cho cộng đồng
Các tính năng mà framework này hỗ trợ bao gồm:
Trang 25e Quan lý quy trình kinh doanh: quan lý khách hàng, quan lý đơn hàng, quan lý kho
hàng,
e Quản lý khách hang va Customer Relationship Management (CRM): quản lý thong
tin khách hang, quan lý tiếp thi, quản ly liên lạc khách hàng
e Quản lý sản phẩm và kho hàng: quản lý thông tin sản phẩm, quản lý danh mục sản
— Apache Obiz đã tồn tại và phát triển trong nhiều năm và được sử dụng trong nhiều
dự án của nhiều doanh nghiệp Nó được duy try bởi tổ chức Apache SoftwareFoundation.
— Tuy nhiên việc triển khai Apache Obiz khá phức tap, cần có kỹ thuật cao khi triểnkhai Vì vậy độ tin cậy còn phụ thuộc vào cách triển khai và quản lý ứng dụng
s* Khả năng mở rộng: Cung cấp một hệ thống module và plugin phong phú , cho phéptích hợp các tính năng mới một cách dễ dàng
s* Hiệu suất: Apache Obiz sử dụng kiến trúc đa luồng và kiến trúc dịch vu dé tối ưuhóa hiệu suất và đáp ứng nhanh chóng đối với các yêu cầu của hệ thống Nó cũng hỗ
trợ tối ưu hóa cơ sở dữ liệu, tối ưu cache
— Trong quá khứ Apache Obiz từng ghi nhận về những báo cáo lỗ hồng, vì vậy nêncập nhật phiên bản mới nhất của framework dé đảm bảo an toàn ứng dụng của bạn
Trang 26— Nó được cấp nhiều tính năng từ nhà phát triển nên giúp việc xây dựng trở nên nhanhchóng
— Có khả năng tích hợp cao với các hệ thống thông qua các giao thức như REST,
SOAP, giúp cho dé dàng mở rộng theo nhu cầu của doanh nghiệp
— Vì được sự hé trợ của một quỹ phần mềm phi lợi nhuận nên nó sẽ có thêm nhiều
phiên bản trong tương lai cũng như thu hút cộng đồng sử dụng ngày càng tăng lên
> Nhược điểm:
— Đây là một framework phức tạp cho việc học và triển khai, nó đòi hỏi người sử dụng
cần có thời gian dé làm quen cũng như có kỹ thuật dé hiểu rõ Hữu ích khi được hướngdẫn sử dụng từ những người đã từng sử dụng trước đó
— Khi thay đổi một yêu cầu cụ thé cần phải thay đổi mã nguồn
— Cộng đồng hỗ trợ vẫn còn nhỏ vì số lượng nhà phát triển sử dụng chưa cao Tài liệu
điện tử bằng cách cung cấp một mô hình dữ liệu mạnh mẽ, các dịch vụ hoặc các công
cụ đảm nhiệm hết các công việc “nặng nhọc”
Broadleaf được xây dựng và phát triển dựa trên nền tảng Spring Framework - JPA,
tích hợp Apache Solr — một engineer search phục vụ thực hiện tim kiếm, Quartz phục
vụ cho việc lập lịch các công việc có tính lặp đi lặp lại trong hệ théng, sie
Trang 27Broadleaf có độ tin cậy khá cao với 1.6 nghìn sao và 1.2 nghìn fork repository trên
Github.
Cũng như nhiều framework thương mại điện tử khác, Broadleaf hỗ trợ nhà phát
triển nhiều tính năng của thương mại điện tử như:
e Quản lý sản phẩm: quản lý danh mục sản phẩm, thuộc tính sản phẩm, giá cả, hình
ảnh, mô tả chỉ tiết về sản phẩm
e Quản lý đơn hàng: quản lý giỏ hàng, quản lý thanh toán, vận chuyén,
e Quan ly khách hàng: đăng nhập, đăng ky, thông tin khách hàng,
e Quản lý nội dung: tạo các nội dung và blog với nhiều ngôn ngữ khác nhau
s* Độ tin cậy:
— Như nhiều framework khác, nó được xem là một framework tin cậy và có tính ồn
định với khả năng mở rộng tùy chỉnh.
— Tuy nhiên để hệ thống hoạt động ôn định, cần thực hiện triển khai đúng cách và
quản ly ứng dụng Việc duy trì phiên ban mới nhất và kiểm tra là cần thiết dé đảm baotinh tin cậy và 6n định của hệ thống
s* Kha năng mở rộng: Được thiết kế theo hướng module nên dé dang tùy chỉnh thêm
các chức năng theo ý muốn, cung cấp API có thê kết nối với nhiều nền tảng khác nhaunhư web hay ứng dụng di động.
s* Hiệu suất: Được tối ưu dé có hiệu suất cao, nó sử dụng các kỹ thuật tối ưu cache,
cơ sỡ dữ liệu và quản lý tài nguyên hiệu quả để cải thiện hiệu năng hiệu suất của hệ
thống Broadleaf cũng hỗ trợ mô hình phân tán, cho phép bạn tăng cường hiệu suấtkhi có nhu câu.
Trang 28s* Tính bao mật: Có các tinh năng quản lý quyền truy cập và phân quyền, hỗ trợ mã
hoa dữ liệu Nó cung cấp kha năng tạo các lớp bảo mật tùy chỉnh dé kiểm soát truycập vào các chức năng và dữ liệu Tuy nhiên Broadleaf không có một hệ thống bảo
mật tích hợp mạnh mẽ như một số framework thương mại điện tử khác Việc bảo mật
phải được xây dựng và tùy chỉnh thêm
“+ Ưu diém và nhược điểm:
> Ưu điểm:
— Vì sử dụng những công nghệ phô biến và open source như Spring Framework hay
JPA dé làm nên tảng nên việc làm quen với framework khá dé dàng hơn, các công
nghệ này rất phô biến nên sẽ có cộng đồng hỗ trợ lớn
— Chia theo thành dạng các module nên dễ dàng tích hợp hoặc tùy chỉnh
> Nhược điểm:
— Tài liệu chưa được cập nhật theo framework
— Tài liệu chủ yếu phục vụ cho bản trả phí
— Cộng đồng sử dụng bản miễn phí khá nhỏ vì da số sử dung bản miễn phi dé được
hỗ trợ nhiều hơn
Trang 292.2.3 Shopizer
¿/? shopizer
Hình 4 - Shopizer
Shopizer [4] là một framework headless và open source được viết bằng ngôn ngữ
Java, giúp xây dựng các giải pháp về thương mại điện tử
Được xây dựng bởi cộng đồng gồm nhiều chuyên gia trong lĩnh vực thương mạiđiện tử và Java.
Cũng giống như hai framework Apache Obiz và Broadleaf, Shopizer cung cấp cho
người dùng nhiều tính năng dé phát triển các giải pháp về thương mại điện tử như:
e Quan lý sản phẩm: quản lý danh mục sản phẩm, thuộc tính sản phẩm, giá,
e Quản lý đơn hàng: cho phép quản lý đơn hàng, thanh toán và vận chuyển
e Quản lý khách hàng: quản ly thông tin khách hang, lịch sử mua hang va gio hang.
e Quản lý thuế
e Quan lý người ding và phân quyền
e Tích hợp thanh toán và vận chuyên
e Quản lý đa ngôn ngữ
s* Độ tin cậy:
— Là một trong những những framework được sử dụng rỗng rãi trong lĩnh vực thương
mại điện tử Nó đã được thử nghiệm và kiểm tra bởi một số dự án thương mại điện tử
lớn trên thế giới
— Tuy nhiên cũng như nhiều những framework khác, độ tin cậy của nó còn phụ thuộc
vào cách triển khai và quản lý ứng dụng Vì vậy cần duy trì phiên bản mới nhất vàthực hiện các biện pháp bố sung khác đề hệ thống của bạn hoạt động ôn định
s* Khả năng mở rộng: Được thiết kế để có khả năng mở rộng linh hoạt, Shopizer hỗ
trợ các plugin và các module mở rộng, cho phép nhà phát triển mở rộng chức năng
theo nhu cầu của mình
Trang 30hệ thống Điều này cho phép nó xử lý hàng ngàn người đồng thời và xử lý các giao
dịch một cách nhanh chóng.
s* Tính bảo mật: Shopizer có các tính năng bảo mật tích hợp như quản lý quyền truy
cập, xác thực và ủy quyên Nó hỗ trợ người dùng quản lý người dùng, phân quyền va
mã hóa dữ liệu cá nhân Tuy nhiên một số phiên bản cũ của Shopizer có thể mắc phải
một số lỗ hồng bảo mật nên cần cập nhật phiên bản mới nhất của framework và sử
dụng bổ sung các biện pháp bao mật khác
s* Ưu điểm và nhược điểm:
> Ưu điểm
- _ Vì sử dụng những công nghệ phô biến va open source như Spring Frameworkhay JPA dé làm nền tảng nên tạo điều kiện việc làm quen với framework khá
dễ dàng hơn, bên cạnh đó là sự hỗ trợ từ cộng đồng lớn
- Chia theo thành dạng các module nên dé dàng tích hợp hoặc tùy chỉnh
- La framework có lượng người dùng cao nhất so với 2 framework còn lại nênđây sẽ là cộng đồng hỗ trợ của framework
> Nhược điểm
- Tài liệu hướng dẫn sử dụng vẫn còn chưa chỉ tiết
- Framework vẫn còn nhiều lỗi, vì là một open source nên việc sửa chữa nhữnglỗi này còn phụ thuộc vào cộng đồng sử dụng nó
2.2.4 Lựa chọn framework
e Không có framework nao là hoàn hảo cho mọi hệ thống mà nó còn phụ thuộc chính
vào hệ thống mã dự định đang xây dựng
e Các framework trên gần như đã đáp ứng những yêu cau cần có của hệ thống thương
mại điện tử
e Trong phạm vi dé tài khóa luận này nhóm xây dựng hệ thống kết ni việc làm nên
nhóm thiên về hai framework Broadleaf và Shopizer hơn vi Apache Ofbiz sẽ mat mộtkhoản thời gian kha khá dé tiếp cận cho người mới, trong khi đó hai framework trên
dễ tiếp cận hơn cho người mới hơn
e Bên cạnh đó, Shopizer được sử dụng phổ biến hơn và tài liệu được cập nhật thường
xuyên Trong khi đó Broadleaf bản miễn phí, không như bản trả phì luôn được cập
Trang 31nhật thường xuyên và được hỗ trợ thì bản miễn phí v tài liệu nhiều chỗ chưa được cậpnhật theo các bản theo cập nhật mới nhất của framework Và nhóm cũng muốn cung
cấp tài liệu cho những ai có ý định làm việc với Shopizer framework có tài liệu thamkhảo Đây chính là lý do nhóm chọn Shopizer là framework trong khóa luận này 2.3 Shopizer
2.3.1 Kiến trúc
® Shopizer là một open source dành cho các nhà bán lẻ muốn sự linh hoạt, tốc độ và
kiểm soát của nền tảng thương mại điện tử của họ thông qua các API và các mô hìnhđược tích hợp sẵn
e Xây dựng framework headless dé có thé tùy chỉnh kết hợp với các giao diện ngườidùng như Reac, Angular, Vuejs hay thậm chí là mobile D
Braintree External services
PayPal = =
Integration with multiple Payment
strip e and shipping services.
Hình 5 - Kiến trúc Shopizer2.3.2 Cấu trúc Source Code
Source code chính của Shop1zer được chia thành 5 module cơ bản theo cơ chế multi
module cua Spring Trong đó:
e Module sm-core: nơi chứa source code cua repository va service
Trang 32e Module sm-core-model: nơi chứa source code liên quan đến các entity trong
Shop1zer
e Module sm-core-module: nơi chứa các module được tích hợp
e Module sm-shop: nơi chứa code liên quan đến cấu hình ứng dụng, security, Rest,Controller, Mapper;Popular — dùng đề chuyền data từ Entity sang DTO và ngược lại
e Module sm-shop-model: chứa các DTO của Shopizer
Ngoài ra Shopizer còn cung cấp các source code giao diện người dùng dành cho quản
trị viên được xây dựng bằng Angular và khách hàng được xây dựng bằng ReactJs déngười dùng có thể test hoặc sử dụng cho việc phát triển ứng dụng của mình Nhưng
trong luận văn nay chúng ta chỉ tập trung vao source code Java.
.circleci 1/19/2023 08:26 File folder
R mn 1/19/2023 08:26 File folder
sm-core 2/4/2023 17:24 File folder
sm-core-model 2/4/2023 16:28 File folder
jenkins file 1/19/ 3 08: ile
BB jenkins fil 9/2023 08:26 Fil
Bi lenkinsfile 1/19/2023 08:26 File
B LICENSE.md 1/19/2023 08:26 Markdown Source File
B max 1/19/2023 08:26 File
i mvnw.cmd 1/19/2023 08:26 Windows Command
pom.xml 1/19/2023 08:26 XML Source File
.m 1/19 arkdown Source File
Bi README.md 9/202 26 Markd Ss Fil
= m 1/19/2023 08: arkdown Source File
B RELEASE-NOTES.md 9/2023 08:26 Markd Ss Fil
Hinh 6 - Source code Java Shopizer framework
11
Trang 33mục mà người dùng có thê sẽ quan tâm, đề xuất các mục cho người dùng khi người
dùng tương tác với các mục trên hệ thống
Ý tưởng về hệ thống đề xuất đã xuất hiện từ lâu, hệ thống đề xuất đầu tiên hệ thống
đề xuât sách trong thư viện.
Trang 34Hình & - Content-based filtering
Có một số van dé phải được xem xét khi triển khai hệ thống lọc nội dung Đầu tiên
là cần có phương pháp trích xuất các thuật ngữ từ các mục Tiếp theo các thuật ngữ
phải được trình bày sao cho cả hồ sơ người dùng và các mục có thé được so sánh một
cách ý nghĩa Và cuối cùng, cần một thuật toán dé có hiểu hồ sơ người dùng dựa trên
các mục đã tương tác và có thê đưa ra đề xuất dựa trên hồ sơ của người dùng này.Một số cách đề trích xuất các từ trong tài liệu đó là sử dụng mô hình không gian
vector - Vector Space Model (VSM) [6] và lập chỉ mục ngữ nghĩa tiềm an - LatentSemantic Indexing dé biểu diễn các thuật ngữ tài liệu đưới dang vector trong khônggian đa chiều
Hạn chế của phương pháp này là đề xuất các mục quá cứng nhắc, không thê đề
xuất các mục tiềm năng khác ngoài những mục có đặc điểm mà người dùng đã đánhgiá trước đó.
2.4.2.2 Collaborative filtering
Đây là một phương pháp của hệ thống đề xuất dé đề xuất những mục cho nhữngnhóm người dung có cùng sở thích [5].
13
Trang 35Phương pháp dựa trên giả định rằng một nhóm người có cùng sở thích trong quákhứ thì cũng sẽ có cùng sở thích trong tương lai Hệ thống này xây dựng mô hình đề
xuất dựa trên những đánh giá, tương tác của người dùng lên các mục và từ đó đề xuấtnhững mục đó cho người khác có cùng sở thích.
_~
User-Based Collaborative Filtering
Recommendation system
Hình 9 - Collaborative Filtering s* Co hai loại lọc cộng tac (Collaborative filtering):
> Lọc cộng tác dựa trên người dùng (user-based collaborative filtering): phương pháp
tìm kiếm các người dùng có cùng sở thích với người dùng tương tự và đề xuất cho
người dùng hiện tại các mục mà những người dùng đó đã đánh giá hoặc tương tác.
> Lọc công tác dựa trên mục (item-based collaborative filtering): phương pháp này
tìm kiếm các mục tiêu tương tự với các mục hiện tại và đề xuất nó cho người dùng
Ưu điểm của hệ thống đề xuất lọc cộng tác đó là không yêu cầu chỉ tiết về mục vàngười dùng mà chỉ cần thông tin về sự tương tác của chúng Tuy nhiên vì nó cần dữ
liệu tương tác của mục và người dùng nên hệ thông thường hay mắc phải vấn đề khởi
động nguội (cold-start) đối với các hệ thống mới, vấn đề về đánh giá thưa (sparsityproblem) Vì vậy đề giải quyết vấn đề này, các nhà phát triển thường sẽ kết hợp hai
loại lọc cộng tác và lọc nội dung và nó được là lọc kết hợp (hyric filtering)
Trang 362.5 Term Frequency — Inverse Document Frequency (TF-IDF)
TF-IDF [7] là phương pháp đánh gia mức độ liên quan của một từ của một tài liệutrong một bộ tài liệu Điều này được thực hiện bằng cách nhân hai số liệu: số lần một
từ xuất hiện trong tài liệu và tần xuất tài liệu nghịch đảo của từ đó trong bộ tài liệu
Công thức được triển khai như sau:
TF = Số lần xuất hiện một từ xuất hiện trong tài liệu
Tổng số từ trong tài liệu
Số van bản trong kho van ban
IDF = log log ———- ——— —_— _—_
Số van ban trong kho van ban chứa từ cần tinh
TF-IDF=TF*IDF
Vi dụ: Gia sử ta có hai câu văn bản như sau [8]
Câu 1: The car is driven on the road.
Cau 2: The truck is driven on the highway.
Chung ta sé co bang sau:
The 1/7 1/7 log(2/2) = 0 0 0
Car 1/7 0 log(2/1) = 0.3 0.043 0Truck 0 1/7 log(2/1) = 0.3 0 0.043
Is 1/7 1/7 log(2/2) = 0 0 0
Driven 1/ 1/7 log(2/2) = 0 0 0
On 1/7 1/7 log(2/2) = 0 0 0The 1/7 1/7 log(2/2) = 0 0 0Road 1/7 0 log(2/1) = 0.3 0.043 0
Highway 0 1/7 log(2/1) = 0.3 0 0.043
Hinh 10 - Hinh vi du vé TF-IDF
Từ bang trên, chúng ta có thé thay rằng giá trị TF-IDF của các từ phổ biến như “on”,
“is” là 0, điều này cho thấy chúng không quan trọng Ngược lại, giá trị TF-IDF của
các từ "car" "truck" "road" và "highway" là khác không Những từ này có ý nghĩa hơn.
15
Trang 372.6 Vector Space Model
Vector Space Model (VSM) [6] một phương pháp biểu diễn thường được sử dụng
cho các văn bản mô hình không gian vector Trong VSM, một văn ban được biéu diễndưới dạng có m chiêu, trong đó mỗi chiều tương ứng với một thuật ngữ riêng biệt và
m là tổng số thuật ngữ được sử dụng trong bộ sưu tập các văn bản Vector văn bản
được viết dưới dạng trọng số của thuật ngữ thé hiện độ quan trọng trong văn bản Nếu
văn bản không chứa thuật ngữ, thì trọng số của vector sẽ là 0
Hình 11 - Vector Space Model
Công thức Cosine Similar:
e A.B là tích vô hướng của hai vector A và B
e ||A|| và ||B|| lần lượt là độ dai của hai vector A và B
Trang 38Lenskit là một thư viện mã nguồn mở, được phát triển ban đầu dành cho ngôn ngữ
Java với mục đích hỗ trợ xây dựng hệ thống đề xuất với quy mô vừa và nhỏ và đề hỗ
trợ nhiều hình thức nghiên cứu bao gồm nghiên cứu thuật toán, kỹ thuật đánh giá và
trải nghiệm người dùng.
Lenskit bao gồm một tập hợp các interface cung cấp đề xuất, dự đoán, xếp hạng và
các dịch vụ khác liên quan đến hệ thống đề xuất khác, có thể sử dụng một hoặc nhiều
thuật toán đề xuất kết nối đến một nguồn dữ liệu Các dịch vụ này được hién thị thông
qua các interface như ItemRecommender, RatingPredictor, ItemScorer,
LENSKit
Hinh 13 - Thu vién Lenskit
2.7.2 Lich sử phat triển
LensKit ban dau ra đời là một dự án nghiên cứu do một nhóm các nhà khoa học
máy tính thuộc Dai hoc Minnesota (University of Minnesota) thực hiện, với mục tiêu
17
Trang 39ban đầu là phát triển các công cụ hỗ trợ xây dựng hệ thống gợi ý dựa trên lọc cộng
tác Nhóm nghiên cứu đã phát triển LensKit thành một thư viện phần mềm mã nguồn
mở dự án nhanh chóng tiến xa hơn cung cấp những công cụ và tài liệu cho việc thử
nghiệm, đánh giá và triển khai các mô hình gợi ý LensKit đã thé hiện sự mạnh mẽ
khi tham gia cuộc thi Movielens Recommender Systems Challenge, chứng minh khanăng của nó trong việc cải thiện khả năng gợi ý Với sự đóng góp của cộng đồng
nghiên cứu, LensKit không ngừng phát triển và được tích hợp vào nhiều ứng dụngthực tế, trở thành một công cụ hữu ích cho việc xây dựng các hệ thống gợi y dựa trên
lọc cộng tác.
Trang 40CHUONG 3: PHAN TÍCH VÀ THIET KE
3.1 Bai toan va yéu cau
3.1.1 Xác định bai toán
Hệ thống xây dựng dé giải quyết nhu cầu chính là dé cho sinh viên tìm việc làm
thêm dé kiếm thêm thu nhập cũng như các nhà tuyên dụng có thé tìm thấy nhân lực
cho công việc của mình Yêu cầu là phải có một website dé hai bên có thể tương tác
với nhau, phía sinh viên thì cần phải cung cấp thông tin về các cơ hội việc làm, thực
tập, dự án, và chương trình học tập liên quan đến chuyên ngành của nên cần có thể
thực hiện được các chức năng chính như là đăng ký, đăng nhập, cập nhật thông tin cánhân, tạo cv, tìm kiếm công việc và ứng tuyên cho công việc, về phía nhà tuyển dụng
thì họ muốn tìm kiếm ứng viên phù hợp cho các vị trí công việc cụ thé đồng thời có
thé đăng tải thông tin về vị trí tuyển dụng và quản lý các ứng viên
Hệ thống được thiết kế để phục vụ nhu cầu sử dụng của 3 actor chính: sinh viên(alumnus) và nhà tuyên dụng (employer) và 1 actor quản lý vận hành website là người
quan tri (admin).
Người quan tri (admin)
Sinh vién (alumus) Nha tuyén dung (employer) Hình 14 - Những actor sử dụng website
3.1.2 Yeu cầu chức năng
STT Mã chức nang|Tén chức năng |Mô tả chức năng
Nhom chức nang chung
1 IUC9 Đăng ký Giúp cho người dùng đăng ký tài khoản
2 UC10 Dang nhap Giúp cho người dùng hệ thống truy cập
vào hệ thống
19