Sinh viên thực hiện:Trương Văn Quang Minh Mã SV: 1811505310229 Lớp: 18T2 Nội dung tóm tắt: Đồ án với đề tài Website tuyển dụng và tìm việc làm được xây dựng bằng ngôn ngữ PHP, sử dụng F
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
ĐỀ TÀI:
XÂY DỰNG WEBSITE TUYỂN DỤNG VÀ TÌM VIỆC LÀM
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
Trang 5Tên đề tài: Xây dựng website tuyển dụng và tìm việc làm tại Đà Nẵng
Sinh viên thực hiện:Trương Văn Quang Minh
Mã SV: 1811505310229 Lớp: 18T2
Nội dung tóm tắt:
Đồ án với đề tài Website tuyển dụng và tìm việc làm được xây dựng bằng ngôn ngữ PHP, sử dụng Framework Laravel và sử dụng hệ quản trị cơ sở dữ liệu MySQL cùng các plugin hỗ trợ như Boostrap, Jquery, Ajax
Hiện nay mỗi cá nhân chúng ta có thể thấy công nghệ số ngày càng gần gũi với con người, đối với những người tìm việc và nhà tuyển dụng hầu như sử dụng những phương tiện để đăng tin tuyển dụng bằng cách đăng lên hội nhóm tìm việc làm trên ứng dụng facebook, việc tìm việc thông qua các trang web cũng có nhưng hầu như rất ít Các trang tìm việc làm lớn như topcv, vietnamwork, careerlink,…thì có phạm vi rất rộng - trên toàn quốc Và với sự phát triển về công nghệ thông tin hiện nay, một trang web để giải quyết tất cả các vấn đề trên là việc mang tính cần thiết nhất khi dịch covid 19 đang bùng
nổ và có nhiều biến thể, chúng ta phải hạn chế tối đa việc tiếp xúc trực tiếp Vì vậy em
đã tìm hiểu để xây dựng “Website tuyển dụng và tìm việc làm tại Đà Nẵng” kết nối những nhà tuyển dụng và những ứng viên tìm việc lại với nhau Trang web giúp rút ngắn thời gian tìm việc làm, việc tuyển dụng và việc tìm việc làm có thể dễ dàng và nhanh chóng hơn, tiết kiệm công sức và tiền bạc đi rất nhiều
Trang 6KHOA CÔNG NGHỆ SỐ Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS Nguyễn Tấn Thuận
Sinh viên thực hiện: Trương Văn Quang Minh Mã SV: 1811505310229 Lớp: 18T2
1 Tên đề tài:
Xây dựng website tuyển dụng và tìm việc làm tại Đà Nẵng
2 Các số liệu, tài liệu ban đầu:
− Dựa trên nhu cầu tìm việc và tuyển dụng việc làm tại thành phố Đà Nẵng
− Các tài liệu, kiến thức đã nắm được qua học tập và làm việc
3 Nội dung chính của đồ án:
Quá trình xây dựng hệ thống website tuyển dụng và tìm việc làm:
− Thu thập thông tin tài liệu liên quan và khảo sát thực tế
− Phân tích thiết kế các chức năng của hệ thống
− Phân tích thiết kế cơ sở dữ liệu
− Thiết kế giao diện cho các chức năng
− Xây dựng hệ thống website
− Kiểm thử chương trình
− Hoàn thành báo cáo tổng hợp
4 Các sản phẩm dự kiến
− Website tuyển dụng và tìm việc làm
− File báo cáo hoàn chỉnh
Trang 7Em xin gửi lời cảm ơn chân thành và sâu sắc tới thầy Nguyễn Tấn Thuận đã hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đề tài
Em xin chân thành cảm ơn thầy cô bộ môn đã tận tình giảng dạy, truyền đạt kiến
thức quý giá trong suốt những năm học tại trường, là tiền đề và cơ sở giúp cho em thực hiện bài khóa luận này
Xin chân thành cảm ơn tất cả bạn bè đã động viên, giúp đỡ em trong thời gian
học tập và hoàn thành đồ án
Trong suốt quá trình thực hiện khóa luận, mặc dù đã cố gắng rất nhiều để hoàn thành, nhưng chắc chắn sẽ không thể tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và góp ý của quý Thầy Cô và các bạn để hoàn thành tốt hơn nữa
Một lần nữa em xin chân thành cảm ơn!
Sinh viên thực hiện
Minh Trương Văn Quang Minh
Trang 8ii
Em xin cam đoan:
1 Những nội dung trong đề cương báo cáo này là do em thực hiện dưới sự hướng
dẫn trực tiếp của thầy Nguyễn Tấn Thuận
2 Mọi tham khảo trong đề cương đều được trích dẫn rõ ràng tên tác giả, tên công
trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian lận em xin chịu
hoàn toàn trách nhiệm
Sinh viên thực hiện
Minh
Tr ương Văn Quang Minh
Trang 9
M ỤC LỤC iii
DANH SÁCH CÁC B ẢNG vii
DANH SÁCH CÁC HÌNH V Ẽ ix
DANH M ỤC CHỮ VIẾT TẮT TIẾNG VIỆT xii
DANH M ỤC CHỮ VIẾT TẮT TIẾNG ANH xiii
M Ở ĐẦU 14
1 M ục tiêu đề tài 14
2 Đối tượng và phạm vi nghiên cứu 15
a Đối tượng nghiên cứu 15
b Phạm vi nghiên cứu 15
3 Phương pháp nghiên cứu 15
4 Gi ải pháp công nghệ 15
5 C ấu trúc đồ án 15
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 16
1.1 Ngôn ng ữ lập trình PHP 16
1.1.1 PHP là gì? 16
1.1.2 Đặc điểm 16
1.2 Laravel Framework 17
1.2.1 Khái ni ệm 17
1.2.2 Mô hình MVC 17
1.3 H ệ quản trị cơ sở dữ liệu MySQL 18
1.3.1 Khái ni ệm 18
1.3.2 Đặc điểm 19
1.4 Bootstrap và Responsive 19
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21
2.1 Kh ảo sát hệ thống 21
2.1.1 Kh ảo sát thực tế 21
2.1.2 Khảo sát người dùng 21
2.2 Đặc tả yêu cầu phần mềm (Software Requirements) 21
2.2.1 Xác định các tác nhân 21
Trang 10iv
2.2.3 Yêu cầu phi chức năng 22
2.3 Bi ểu đồ Use Case tổng quát 23
2.3.1 Sơ đồ use case tổng quát 23
2.3.2 Use case tổng quát 24
2.4 K ịch bản cho Usecase 25
2.4.1 Actor khách chưa là thành viên 25
2.4.2 Actor ứng viên 29
2.4.3 Actor nhà tuy ển dụng 34
2.4.4 Actor người quản trị 41
2.5 Sơ đồ hoạt động 48
2.5.1 Use-case: Đăng tin tuyển dụng 48
2.5.2 Use-case: Duy ệt tin tuyển dụng 49
2.5.3 Use-case: Ứng tuyển việc làm 50
2.5.4 Use-case: Cập nhật tin tuyển dụng 51
2.5.5 Use- case: Đăng ký tài khoản nhà tuyển dụng 52
2.5.6 Use- case: Đăng ký tài khoản ứng viên 53
2.5.7 Use-case: Xem chi tiết tin tuyển dụng 54
2.5.8 Use-case: Tìm ki ếm 55
2.6 Sơ đồ robustness diagram 55
2.6.1 Use-case: Đăng tin tuyển dụng 55
2.6.2 Use-case: Duyệt tin tuyển dụng 56
2.6.3 Use-case: Ứng tuyển việc làm 56
2.6.4 Use-case: C ập nhật tin tuyển dụng 56
2.6.5 Use-case: Đăng ký tài khoản nhà tuyển dụng 57
2.6.6 Use- case: Đăng ký tài khoản ứng viên 57
2.6.7 Use-case: Xem chi ti ết tin tuyển dụng 57
2.6.8 Use-case: Tìm kiếm 58
2.7 Sơ đồ tuần tự 58
2.7.1 Use- case: Đăng tin tuyển dụng 58
2.7.2 Use-case: Duy ệt tin tuyển dụng 58
2.7.3 Use-case: Ứng tuyển việc làm 59
2.7.4 Use-case: C ập nhật tin tuyển dụng 59
Trang 112.7.6 Use-case: Đăng ký tài khoản nhà tuyển dụng 60
2.7.7 Use- case: Đăng ký tài khoản ứng viên 60
2.7.8 Use-case: Tìm ki ếm 60
2.8 Sơ đồ lớp 61
2.9 Thi ết kế cơ sở dữ liệu 61
2.9.1 Bảng users 61
2.9.2 Bảng martial 62
2.9.3 Bảng category 62
2.9.4 Bảng job 63
2.9.5 Bảng cv 64
2.9.6 Bảng experience 64
2.9.7 Bảng languages 64
2.9.8 Bảng skills 65
2.9.9 Bảng degree 65
2.9.10 Bảng type_graduation 65
2.9.11 Bảng education 65
2.9.12 Bảng favorite 66
2.9.13 Bảng detail_apply 66
2.9.14 Sơ đồ ERD 67
2.10 Thi ết kế giao diện 67
2.10.1 Đăng nhập 67
2.10.2 Đăng ký cho nhà tuyển dụng 69
2.10.3 Đăng ký cho ứng viên 70
2.10.4 Cập nhật thông tin nhà tuyển dụng 72
2.10.5 Đăng tuyển 74
2.10.6 Cập nhật thông tin ứng viên 77
2.10.7 Thêm học vấn 79
2.10.8 Thêm kinh nghiệm 81
2.10.9 Thêm ngoại ngữ 83
2.10.10 Thêm kỹ năng 85
CHƯƠNG 3: KẾT QUẢ TRIỂN KHAI HỆ THỐNG WEBSITE 87
3.1 Trang dành cho khách chưa đăng ký thành viên 87
Trang 12vi
3.3 Trang dành cho ứng viên 96
3.4 Trang qu ản trị viên 100
K ẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 105
TÀI LI ỆU THAM KHẢO 1
Trang 13
B ảng 2.4.1: Kịch bản cho usecase đăng ký tài khoản 25
B ảng 2.4.2: Kịch bản cho usecase tìm kiếm công việc 26
B ảng 2.4.3: Kịch bản cho usecase xem thông tin tuyển dụng 27
B ảng 2.4.4: Kịch bản cho usecase xem thông tin nhà tuyển dụng 28
B ảng 2.4.5: Kịch bản cho usecase đăng nhập 29
B ảng 2.4.6: Kịch bản cho usecase cập nhật thông tin ứng viên 30
B ảng 2.4.7: Kịch bản cho usecase ứng tuyển công việc 31
B ảng 2.4.8: Kịch bản cho usecase thêm công việc yêu thích 32
B ảng 2.4.9: Kịch bản cho usecase xem thông báo kết quả ứng tuyển 33
B ảng 2.4.10: Kịch bản cho usecase đăng nhập 34
B ảng 2.4.11: Kịch bản cho usecase cập nhật thông tin nhà tuyển dụng 35
B ảng 2.4.12: Kịch bản cho usecase đăng tin tuyển dụng 36
B ảng 2.4.13: Kịch bản cho usecase cập nhật tin tuyển dụng 37
B ảng 2.4.14: Kịch bản cho usecase danh sách đã đăng tuyển 38
B ảng 2.4.15: Kịch bản cho usecase xem danh sách ứng viên 39
B ảng 2.4.16: Kịch bản cho usecase xem thông tin ứng viên 40
B ảng 2.4.17: Kịch bản cho usecase xem thông báo 41
B ảng 2.4.18: Kịch bản cho usecase đăng nhập 41
B ảng 2.4.19: Kịch bản cho usecase cập nhật thông tin 42
B ảng 2.4.20: Kịch bản cho usecase quản lý ứng viên 43
B ảng 2.4.21: Kịch bản cho usecase quản lý nhà tuyển dụng 44
B ảng 2.4.22: Kịch bản cho usecase quản lý ngành nghề 45
B ảng 2.4.23: Kịch bản cho usecase duyệt tin tuyển dụng 46
B ảng 2.4.24: Kịch bản cho usecase danh sách tin tuyển dụng 47
B ảng 2.9.1: users 61
B ảng 2.9.2: martial 62
B ảng 2.9.3: category 62
B ảng 2.9.4: job 63
B ảng 2.9.5: cv 64
B ảng 2.9.6: experience 64
B ảng 2.9.7: languages 64
B ảng 2.9.8: skills 65
B ảng 2.9.9: degree 65
B ảng 2.9.10: type_graduation 65
Trang 14viii
B ảng 2.9.12: favorite 66
B ảng 2.9.13: detail_apply 66
Trang 15Hình 1.1: Ngôn ng ữ lập trình PHP 16
Hình 1.2: Laravel framework phiên b ản 8 17
Hình 1.3: Ứng dụng dùng để code Laravel 17
Hình 1.4: Mô hình MVC 18
Hình 1.5: H ệ quản trị cơ sở dữ liệu MySQL 19
Hình 1.6: Boostrap Framework 20
Hình 2.3.1: Sơ đồ use case tổng quát 23
Hình 2.3.2: Sơ đồ use case admin 24
Hình 2.3.3: Sơ đồ use case ứng viên 24
Hình 2.3.4: Sơ đồ use case nhà tuyển dụng 25
Hình 2.5.1: Sơ đồ hoạt động cho use-case đăng tin tuyển dụng 48
Hình 2.5.2: Sơ đồ hoạt động cho use-case duyệt tin tuyển dụng 49
Hình 2.5.3: Sơ đồ hoạt động cho use-case ứng tuyển việc làm 50
Hình 2.5.4: Sơ đồ hoạt động cho use-case cập nhật tin tuyển dụng 51
Hình 2.5.5: Sơ đồ hoạt động cho use-case đăng ký tài khoản nhà tuyển dụng 52
Hình 2.5.6: Sơ đồ hoạt động cho use-case đăng ký tài khoản ứng viên 53
Hình 2.5.7: Sơ đồ hoạt động cho use-case xem chi tiết tin tuyển dụng 54
Hình 2.5.8: Sơ đồ hoạt động cho use-case tìm kiếm 55
Hình 2.6.1: Sơ đồ robustness cho use-case đăng tin tuyển dụng 55
Hình 2.6.2: Sơ đồ robustness cho use-case duyệt tin tuyển dụng 56
Hình 2.6.3: Sơ đồ robustness cho use-case ứng tuyển việc làm 56
Hình 2.6.4: Sơ đồ robustness cho use-case cập nhật tin tuyển dụng 56
Hình 2.6.5: Sơ đồ robustness cho use-case đăng ký tài khoản nhà tuyển dụng 57
Hình 2.6.61: Sơ đồ robustness cho use-case đăng ký tài khoản ứng viên 57
Hình 2.6.72: Sơ đồ robustness cho use-case xem tin tuyển dụng 57
Hình 2.6.8: Sơ đồ robustness cho use-case tìm kiếm 58
Hình 2.7.1: Sơ đồ tuần tự cho use-case đăng tin tuyển dụng 58
Hình 2.7.2: Sơ đồ tuần tự cho use-case duyệt tin tuyển dụng 58
Hình 2.7.3: Sơ đồ tuần tự cho use-case ứng tuyển việc làm 59
Hình 2.7.4: Sơ đồ tuần tự cho use-case cập nhật tin tuyển dụng 59
Hình 2.7.5: Sơ đồ tuần tự cho use-case xem chi tiết tin tuyển dụng 59
Hình 2.7.6: Sơ đồ tuần tự cho use-case đăng ký tài khoản nhà tuyển dụng 60
Hình 2.7.7: Sơ đồ tuần tự cho use-case đăng ký tài khoản ứng viên 60
Hình 2.7.8: Sơ đồ tuần tự cho use-case tìm kiếm 60
Trang 16x
Hình 2.9: Sơ đồ ERD trong MySQL 67
Hình 2.10.1: Giao di ện “Đăng nhập” 67
Hình 2.10.3: Giao di ện “Đăng ký cho ứng viên” 70
Hình 2.10.4: Giao di ện “Cập nhật thông tin nhà tuyển dụng” 72
Hình 2.10.5: Giao di ện “Đăng tuyển” 75
Hình 2.10.6: Giao di ện “Cập nhật thông tin ứng viên” 77
Hình 2.10.7: Giao di ện “Thêm học vấn” 79
Hình 2.10.8: Giao di ện “Thêm kinh nghiệm” 81
Hình 2.10.9: Giao di ện “Thêm ngoại ngữ” 83
Hình 2.10.10: Giao di ện “Thêm kỹ năng” 85
Hình 3.1.1: Trang ch ủ 87
Hình 3.1.2: Trang danh sách vi ệc làm 88
Hình 3.1.3: Trang chi ti ết tin tuyển dụng 89
Hình 3.2.1: Trang đăng nhập nhà tuyển dụng 90
Hình 3.2.2: Trang đăng ký tài khoản nhà tuyển dụng 91
Hình 3.2.3: Trang c ập nhật thông tin 92
Hình 3.2.4: Trang đăng tuyển 93
Hình 3.2.5: Trang tin tuy ển dụng đã đăng 94
Hình 3.2.6: Trang thông báo 95
Hình 3.2.8: Trang danh sách ứng viên 95
Hình 3.3.1: Trang đăng nhập cho ứng viên 96
Hình 3.3.2:Trang đăng ký ứng viên 96
Hình 3.3.3: Trang t ải lên cv 97
Hình 3.3.4: Trang c ập nhật thông tin ứng viên 98
Hình 3.3.5: Trang danh sách công vi ệc đã ứng tuyển 99
Hình 3.3.6: Trang danh sách công vi ệc yêu thích 99
Hình 3.3.7: Trang thông báo c ủa ứng viên 100
Hình 3.4.1: Trang đăng nhập trang quản trị 100
Hình 3.4.2: Trang ch ủ trang quản trị 101
Hình 3.4.3: Trang c ập nhật thông tin 101
Hình 3.4.4: Trang danh sách ứng viên 102
Hình 3.4.5: Trang danh sách nhà tuy ển dụng 102
Hình 3.4.6: Trang danh sách ngành ngh ề 103
Hình 3.4.7: Trang thêm ngành ngh ề 103
Trang 17Hình 3.4.9: Trang danh sách công vi ệc đã được duyệt 104
Trang 18xii
Trang 19Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
1 HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản
2 ERD Enity Relationship Diagram Sơ đồ quan hệ thực thể
3 PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch bản
4 CSS Cascading Style Sheets Các tập tin định dạng theo tầng
5 API Application Programming
Interface Giao diện lập trình ứng dụng
Trang 20M Ở ĐẦU
1 Mục tiêu đề tài
Xây dựng hệ thống website tuyển dụng và tìm việc làm tại Đà Nẵng Với các chức năng cụ thể:
- Đối với người dùng chưa là thành viên, gồm các chức năng cơ bản:
• Đăng ký tài khoản (Nhà tuyển dụng, Ứng viên)
• Xem tin tuyển dụng
• Xem thông tin nhà tuyển dụng
• Xem thông tin tuyển dụng
• Tìm kiếm việc làm (theo tên, hình thức công việc, )
- Đối với người dùng là ứng viên: giống với người dùng chưa phải là thành viên
và có thêm một số chức năng
• Đăng nhập tài khoản ứng viên
• Cập nhật thông tin cá nhân: trình độ, kinh nghiệm, ngoại ngữ, kỹ năng, cv,
• Ứng tuyển công việc
• Xem tin tuyển dụng:
o Ứng tuyển
o Thêm việc làm yêu thích
• Xem thông báo kết quả ứng tuyển
- Đối với người dùng là nhà tuyển dụng: giống với người dùng chưa phải là thành viên và có thêm một số chức năng
• Đăng nhập tài khoản nhà tuyển dụng
• Cập nhật thông tin công ty/đơn vị
• Đăng tin tuyển dụng
• Cập nhật tin tuyển dụng
• Xem danh sách ứng viên
• Xem thông tin ứng viên
• Xem lịch sử đăng tin tuyển dụng
• Xem thông báo ứng viên ứng tuyển
- Quản trị viên
• Cập nhật thông tin
• Quản lý ứng viên (Thiết lập trạng thái/quyền)
• Quản lý nhà tuyển dụng (Thiết lập trạng thái/quyền)
• Quản lý ngành nghề
• Duyệt bài viết tuyển dụng
• Quản lý danh sách bài tuyển dụng
Trang 212 Đối tượng và phạm vi nghiên cứu
a Đối tượng nghiên cứu
Xây dựng hệ thống tuyển dụng và tìm việc làm
b Ph ạm vi nghiên cứu
Hệ thống website tuyển dụng và tìm việc làm được áp dụng tại Đà Nẵng và sau này có thể mở rộng thêm ra trên toàn quốc
3 Phương pháp nghiên cứu
− Phương pháp nghiên cứu lý thuyết thu thập thông tin qua internet, tài liệu, sách
để tìm được các cơ sở lý thuyết liên quan vấn đề mình nghiên cứu
− Phương pháp triển khai thực nghiệm: xây dựng website
4 Giải pháp công nghệ
− Ngôn ngữ lập trình: PHP, Framework Laravel
− Hệ quản trị cơ sở dữ liệu: MySQL
− Công cụ hỗ trợ: Visual Studio Code, MySQL Workbench
5 Cấu trúc đồ án
− Mở đầu: Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vi nghiên cứu của đề tài Giới thiệu tóm tắt nội dung sẽ được trình bày trong các chương tiếp theo
− Chương 1: Nghiên cứu, tìm hiểu và đưa ra lý do chọn đề tài, mục tiêu và mục đích khi xây dựng và phát triển đề tài Xác định rõ phạm vi và đối tượng hướng đến, giải pháp công nghệ để triển khai, xây dựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ Tìm hiểu, giới thiệu tổng quát kiến thức về ngôn ngữ lập trình PHP, Framework Laravel và hệ quản trị cơ sở dữ liệu MySQL
− Chương 2: Phân tích các tác nhân và chức năng của từng tác nhân, yêu cầu phi chức năng của hệ thống Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD Thiết kế cơ sở dữ liệu Xây dựng kịch bản cho từng use-case trong hệ thống
− Chương 3: Xây dựng giao diện và chức năng của hệ thống
− Kết luận: Kết luận chung cho các chương trong đồ án Trình bày những vấn
đề đã giải quyết đồng thời trình bày hướng phát triển đề tài.
Trang 22CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Ngôn ngữ lập trình PHP
1.1.1 PHP là gì?
• Ngôn ngữ lập trình PHP (viết tắt của từ Hypertext Preprocessor) là ngôn ngữ kịch bản với mã nguồn mở, chạy bên server và được sử dụng để phát triển các ứng dụng phần mềm thông qua lập trình web
• PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ
sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux
• Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp dễ học
và thời gian xây dựng sản phẩm tương đối ngắn so với các ngôn ngữ khác nên PHP
đã nhanh chóng trở thành ngôn ngữ lập trình phổ biến nhất thế giới
Hình 1.1: Ngôn ngữ lập trình PHP
1.1.2 Đặc điểm
• Có thể kết nối cơ sở dữ liệu hiệu quả và giúp quá trình tải ứng dụng nhanh hơn
• Có khả năng tích hợp linh hoạt với các ngôn ngữ lập trình khác
• Sở hữu tốc độ xử lý mọi hoạt động trong công việc khá nhanh chóng, mang đến hiệu quả tối ưu cao
• Ngôn ngữ quen thuộc hơn đối với các nhà phát triển và phù hợp cho người mới bắt đầu
• Do là mã nguồn mở và được sự hỗ trợ từ cộng đồng lập trình nền PHP khá an toàn khi sử sụng Khi kết hợp với kỹ thuật bảo mật ở các hạ tầng khác nhau thì ngôn ngữ lập trình sẽ trở nên chắc chắn và đảm bảo hoạt động website
Trang 23Hình 1.2: Laravel framework phiên bản 8
Hình 1.3: Ứng dụng dùng để code Laravel
1.2.2 Mô hình MVC
• MVC là chữ viết tắt của Model – View – Controller, đây là mô hình giúp cho việc phát triển phần mềm được trở nên gọn gàng và dễ dàng hơn Mô hình này được
Trang 24tại có khá nhiều Framework, trong đó Laravel Framework được xây dựng dựa trên
mô hình MVC
• View: là thành phần chịu trách nhiệm hiển thị dữ liệu đã được truy xuất từ model theo một format nào đó theo ý đồ của lập trình viên và là nơi bạn viết code HTML, CSS, Javascript và hiện dữ liệu
• Model: là thành phần chịu trách nhiệm quản lý dữ liệu, nó lưu trữ và truy xuất thông tin từ cơ sở dữ liệu, từ hệ thống file, từ các website khác (API, Web service)… đồng thời chứa các logic được thực thi bởi ứng dụng
• Controller: là thành phần làm nhiệm vụ xử lý nghiệp vụ, nó nhận request từ client
và lập trình viên gọi các hàm trong model có dữ liệu và đưa dữ liệu đó cho các View để hiện dữ liệu
có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, SGI Irix, Solaris, SunOS,…
− MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).[3]
Trang 25Hình 1.5: Hệ quản trị cơ sở dữ liệu MySQL
1.3.2 Đặc điểm
• MySQL là phần mềm quản lý dữ liệu thông qua cơ sở dữ liệu và mỗi một cơ sở
dữ liệu đều có bảng quan hệ chứa dữ liệu riêng biệt
• MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, đặc biệt có thể xử lý được rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết
• MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ
• MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ
sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều tính năng bảo mật
1.4 Bootstrap và Responsive
Bootstrap là front-end framework, là một bộ sưu tập miễn phí các công cụ để tạo ra các trang web và các ứng dụng web Bootstrap bao gồm HTML và CSS dựa trên các mẫu thiết kế cho kiểu chữ, hình thức, các button và các thành phần giao diện khác, cũng như mở rộng tùy chọn JavaScript Boostrap định nghĩa sẵn các class CSS giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng cho chúng ta áp dùng vào website của mình mà không phải tốn quá nhiều thời gian để tự viết Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết Bootstrap cung cấp tính năng responsive
và mobile first, nghĩa là làm cho trang web có thể tự co giãn để tương thích với mọi thiết
bị khác nhau, từ điện thoại di động đến máy tính bảng, máy tính xách tay, máy tính để bàn,
Một khía cạnh khác là responsive web design làm cho trang web cung cấp được trải
Trang 26Một trang có thể hoạt động tốt bất kể sự biến đổi sẽ cung cấp một trải nghiệm người dùng tốt và nhất quán hơn một trang được thiết kế cho một loại thiết bị và kích thước màn hình cụ thể.[5]
Hình 1.6: Boostrap Framework
Trang 27CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hệ thống
2.1.1 Khảo sát thực tế
Hiện nay, nhu cầu tìm việc, tuyển dụng ngày càng cao, với công nghệ ngày một phát triển nhà tuyển dụng cũng như ứng viên cần một mạng lưới kết nối các doanh nghiệp với ứng viên để tuyển dụng và tìm kiếm những ứng viên, công ty phù hợp để gắn bó và làm việc Vì vậy để phục vụ cho việc tìm kiếm, ứng tuyển một cách thuận lợi, dễ dàng thì việc thành lập một website tuyển dụng và tìm việc làm là hết sức cần thiết
2.1.2 Khảo sát người dùng
Nhu cầu nhà tuyển dụng tìm kiếm ứng viên, đăng tuyển Nhu cầu ứng viên thì tìm việc làm, môi trường làm việc hết sức cần thiết với thời điểm dịch covid 19 và công nghệ đang được phát triển Nếu phải sử dụng những truyền thông như báo đài có khi nhiều ứng viên không thể biết đến, nhưng khi sử dụng một website thì có thể kết nối được nhiều công ty, việc làm phù hợp
2.2 Đặc tả yêu cầu phần mềm (Software Requirements)
2.2.1 Xác định các tác nhân
❖ Đề tài gồm 3 tác nhân chính:
- Ứng viên (Employment)
- Nhà tuyển dụng (Company)
- Người quản lý (Admin)
2.2.2 Các yêu cầu chức năng
❖ Ứng viên (Employment)
- Đăng nhập, đăng xuất, đổi mật khẩu
- Cập nhật thông tin cá nhân
- Xem tin tuyển dụng
➔ nếu ứng viên “Thêm việc làm yêu thích” hoặc “ứng tuyển” thì sẽ tạo thành quan hệ <<extend>>
- Ứng tuyển công việc
- Yêu thích công việc
- Xem thông báo kết quả ứng tuyển
Trang 28- Cập nhật thông tin
- Đăng tuyển
- Cập nhật bài đăng tuyển
- Xem danh sách ứng viên
- Xem chi tiết thông tin ứng viên
- Xem danh sách lịch sử bài đăng
- Xem thông báo khi có ứng viên ứng tuyển công việc
❖ Người quản trị (Admin)
- Đăng nhập, đăng xuất
- Thống kê (Số lượng của ứng viên, nhà tuyển dụng, bài đăng, ngành nghề)
- Cập nhật thông tin
- Quản lý danh sách ứng viên
- Quản lý danh sách nhà tuyển dụng
- Quản lý ngành nghề
- Xét duyệt bài đăng
- Quản lý danh sách bài đăng
2.2.3 Yêu cầu phi chức năng
- Giao diện đẹp mắt, đơn giản, dễ sử dụng
- Đảm bảo tính bảo mật, an toàn
- Tốc độ xử lý nhanh chóng
Trang 292.3 Biểu đồ Use Case tổng quát
2.3.1 Sơ đồ use case tổng quát
Hình 2.3.1: Sơ đồ use case tổng quát
Trang 302.3.2 Use case tổng quát
• Use case Admin
Hình 2.3.2: Sơ đồ use case admin
• Use case ứng viên
Hình 2.3.3: Sơ đồ use case ứng viên
Trang 31• Use case nhà tuyển dụng
Hình 2.3.4: Sơ đồ use case nhà tuyển dụng
2.4 Kịch bản cho Usecase
2.4.1 Actor khách chưa là thành viên
2.4.1.1 Usecase: Đăng ký tài khoản
Bảng 2.4.1: Kịch bản cho usecase đăng ký tài khoản
STT Use case
name
Đăng ký tài khoản
1 Description Khách chưa là thành viên muốn đăng ký tài khoản
2 Actors Khách chưa là thành viên
3 Input Actor vào mục đăng ký
4 Output Đăng ký tài khoản thành công
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Trên header chọn đăng nhập B3: Nếu chưa có tài khoản thì nút đăng ký để Actor đăng ký
Trang 32B4: Người dùng nhập đầy đủ thông tin yêu cầu trong trang web
B5: Nhấn nút đăng ký B6: Hệ thống sẽ thông báo đăng ký thành công
B7: Người dùng có thể sử dụng các chức năng của hệ thống theo Actor đã chọn đăng ký
Hệ thống sẽ cho nhập lại thông tin Quay lại B4 Trường hợp Actor chọn nút khác hoặc thoát khỏi trang web thì Usecase dừng lại
2.4.1.2 Use-case: Tìm kiếm công việc
Bảng 2.4.2: Kịch bản cho usecase tìm kiếm công việc
STT Use case
name
Tìm ki ếm công việc
1 Description Khách chưa là thành viên muốn tìm kiếm công việc
2 Actors Khách chưa là thành viên
3 Input Actor nhập từ khóa hoặc chọn theo mục gợi
4 Output Đăng ký tài khoản thành công
5 Basic flow B1: Truy cập vào đường dẫn website
Trang 33B2: Nhập từ khóa muốn tìm kiếm hoặc chọn theo mục gợi ý B3: Click vào nút “Search”
B4: Những bài tuyển dụng sẽ ra theo tìm kiếm Actor
2.4.1.3 Use-case: Xem thông tin tuyển dụng
Bảng 2.4.3: Kịch bản cho usecase xem thông tin tuyển dụng
STT Use case
name
Xem thông tin tuy ển dụng
1 Description Khách chưa là thành viên muốn xem thông tin tuyển dụng
2 Actors Khách chưa là thành viên
3 Input Chọn thông tin tuyển dụng muốn xem
4 Output Thông tin chi tiết bài tuyển dụng
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Kéo đến mục danh sách công việc B3: Click vào bài đăng tuyển muốn xem
Trang 342.4.1.4 Use-case: Xem thông tin nhà tuyển dụng
Bảng 2.4.4: Kịch bản cho usecase xem thông tin nhà tuyển dụng
STT Use case
name
Xem thông tin nhà tuy ển dụng
1 Description Khách chưa là thành viên muốn xem thông tin nhà tuyển dụng
2 Actors Khách chưa là thành viên
3 Input Chọn thông tin nhà tuyển dụng muốn xem
4 Output Thông tin chi tiết nhà tuyển dụng
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Kéo xuống mục danh sách công ty nổi bật B3: Chọn công ty muốn xem thông tin
B4: Chi tiết công ty sẽ hiển thị
6 Alternative
flow
Trang 353 Input Đăng nhập email, password với tài khoản của ứng viên
4 Output Vào trang chính có những chức năng của ứng viên
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Click vào nút đăng nhập ở header B3: Nhập thông tin email, password B4: Click nút đăng nhập
B5: Hệ thống kiểm tra thông tin B6: Vào trang chính với chức năng của ứng viên
6 Alternative
flow
B3: Nếu chưa có tài khoản có thể chọn nút đăng ký
Trang 36 TH: Không nhập báo lỗi
TH: Nhập trùng địa chỉ email đã đăng ký báo lỗi B6: Hệ thống chuyển qua trang đăng nhập để ứng viên nhập thông tin mới đăng ký tài khoản
2.4.2.2 Use-case: Cập nhật thông tin ứng viên
Bảng 2.4.6: Kịch bản cho usecase cập nhật thông tin ứng viên
STT Use case
name
C ập nhật thông tin ứng viên
1 Description Ứng viên muốn cập nhật thông tin tài khoản
2 Actors Ứng viên
3 Input Đăng nhập với vai trò ứng viên, nhập thông tin cần cập nhật
4 Output Cập nhật thông tin thành công
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Đăng nhập vào tài khoản ứng viên
B3: Ở header click vào tên ứng viên -> Sẽ hiển thị ra menu chọn cập nhật thông tin
B4: Thay đổi thông tin B5: Hệ thống kiểm tra thông tin
Trang 37B6: Cập nhật thông tin thành công
2.4.2.3 Use-case: Ứng tuyển công việc
Bảng 2.4.7: Kịch bản cho usecase ứng tuyển công việc
STT Use case
name
Ứng tuyển công việc
1 Description Ứng viên muốn ứng tuyển công việc
2 Actors Ứng viên
3 Input Danh sách công việc
4 Output Ứng tuyển công việc
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Ở trang chính có phần danh sách công việc
B3: Chọn công việc phù hợp B4: Click vào nút ứng tuyển B5: Hệ thống xác nhận ứng viên đã ứng tuyển
Trang 382.4.2.4 Use-case: Thêm công việc yêu thích
Bảng 2.4.8: Kịch bản cho usecase thêm công việc yêu thích
STT Use case
name
Thêm công vi ệc yêu thích
1 Description Ứng viên muốn ứng thêm công việc yêu thích
2 Actors Ứng viên
3 Input Danh sách công việc
4 Output Yêu thích công việc
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Ở trang chính có phần danh sách công việc
B3: Chọn công việc phù hợp B4: Click vào nút yêu thích B5: Hệ thống xác nhận ứng viên đã yêu thích B6: Ứng viên có thể xem danh sách công việc yêu thích ở phần chức năng của ứng viên danh sách công việc yêu thích
Trang 39B6: Hệ thống xác nhận bài đăng yêu thích
B7: Ứng viên xem danh sách trong phần chức năng của ứng viên
2.4.2.5 Use-case: Xem thông báo kết quả ứng tuyển
Bảng 2.4.9: Kịch bản cho usecase xem thông báo kết quả ứng tuyển
STT Use case
name
Xem thông báo k ết quả ứng tuyển
1 Description Ứng viên muốn xem thông báo kết quả ứng tuyển
2 Actors Ứng viên
3 Input Danh sách công việc đã ứng tuyển đang chờ xét duyệt
4 Output Hiển thị công việc được xét tuyển
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Ở phần header click vào tên chọn thông báo B3: Danh sách công việc được xét tuyển hiển thị
6 Alternative
flow
(nêu các bước
Trang 403 Input Đăng nhập email, password với tài khoản của nhà tuyển dụng
4 Output Vào trang chính có những chức năng của nhà tuyển dụng
5 Basic flow B1: Truy cập vào đường dẫn website
B2: Click vào nút đăng nhập ở header B3: Nhập thông tin email, password B4: Click nút đăng nhập
B5: Hệ thống kiểm tra thông tin B6: Vào trang chính với chức năng của nhà tuyển dụng
6 Alternative
flow
B3: Nếu chưa có tài khoản có thể chọn nút đăng ký
B4: Nhập thông tin đăng ký cho nhà tuyển dụng (tên, email, password, tên công ty, số điện thoại, địa chỉ)