Nội dung chính của đồ án: Xây dựng website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố Đà Nẵng, cho phép Nhà tuyển dụng đăng tin tuyển dụng, người tìm việc có thể tìmki
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 2Đà Nẵng, tháng 06 / 2022
Trang 3ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
Trang 4Đà Nẵng, tháng 06 / 2022
Trang 5NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Đà Nẵng, ngày 20 tháng 06 năm 2022
Giáo Viên hướng dẫn
i
Trang 6NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
……….
Đà Nẵng, ngày 20 tháng 06 năm 2022
Người phản biện
ii
Trang 7Xây dựng website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố
Đà Nẵng Tại trang web này người tìm việc có thể xem các tin tuyển dụng mà Nhàtuyển dụng đăng, có thể tìm kiếm các tin tuyển dụng một cách dễ dàng bằng các bộlọc, ô tìm kiếm tại trang chủ Ứng Viên có thể nộp các hồ sơ ứng tuyển việc làm đốivới các ông việc mong muốn, Nhà tuyển dụng có thể đăng tin tuyển dụng và cập nhậtmột cách dễ dàng tại trang quản lý tin tuyển dụng, có thể duyệt các hồ sơ ứng tuyển,gửi mail cho Ứng Viên khi Nhà tuyển dụng duyệt thành công hồ sơ
Về cấu trúc bài báo cáo ngoài các nội dung gồm phần mở đầu và kết luận thì có
bố cục gồm 3 chương:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chương này trình bày tổng quan về việc sử dụng các phần mềm hỗ trợ xây dựngứng dụng, các công cụ thường xuyên sử dụng để xây dựng nền tảng cho bài toán Thiết
kế cơ sở dữ liệu
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương này trình bày một hướng tiếp cận trong việc phân tích hệ thống Trìnhbày những hướng chức năng cơ bản cho người dùng
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH
Chương này trình bày kết quả thực hiện chương trình, giao diện người dùng, cáccông cụ xây dựng chương trình
iii
Trang 8TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độ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: ThS Trần Bửu Dung
Sinh viên thực hiện: Phạm Phong Hào Mã SV: 1811505310311
1 Tên đề tài: Xây dựng website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố Đà Nẵng.
2 Các số liệu, tài liệu ban đầu:
- Các website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố ĐàNẵng
- Ngôn ngữ JavaScript, ReactJS, công nghệ NodeJS, hệ quản trị cơ sở dữ liệuMongoDb
3 Nội dung chính của đồ án:
Xây dựng website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố
Đà Nẵng, cho phép Nhà tuyển dụng đăng tin tuyển dụng, người tìm việc có thể tìmkiếm một cách dễ dàng, và người tìm kiếm có ứng tuyển việc làm , Nhà tuyển dụng cóthể xét duyệt các hồ sơ ứng tuyển của Ứng Viên
Trưởng Bộ môn Người hướng dẫn
LỜI NÓI ĐẦU
iv
Trang 9Ngày nay xã hội ngày càng phát triển kéo theo sự phát triển của khoa học kỳ thuật, trí tuệ loài người không ngừng năng lên với tầm cao mới thi Công nghệ Thông tincũng phát triển nhục và bảo với hàng loạt những tiên lợi phục vụ đời sống con ngườingày càng hiệu quả Hiện nay , lĩnh vực Công nghệ Thông tin bùng nổ trên toàn cầuthì các quốc gia thế giới đều cố gắng áp dụng tin học vào để hiện đại hóa quy trình sảnxuất kinh doanh của mình nhằm đạt hiệu quả kinh tế cao Đứng trước sự phát triển
đó , các công ty sản xuất phần mềm , thiết kế website , các thư lập trình viên cùngnhững người say mê tin học đã tạo ra các trang web giúp mọi người lưu trữ , tìm kiếm
và xử lý dữ liệu nhanh chóng , dễ dàng hơn
Có được một công việc ổn định phù hợp với năng lực , trình độ là ước mở củanhiều nguồn , tuyến đúng người đùng việc cũng là sự mong mối của các nhà tuyểndụng Do đó , vấn để việc làm là một khẩu rất quan trọng trong đời sống con ngườicần được quan tâm
Là một sinh viên chuyên ngành Công nghệ Thông tin , có thời gian học tập và tìmhiểu về phân tích thiết kế hệ thống thông tin , cơ sở dữ liệu , những kiến thức về lậptinh web Vận dụng những kiến thức cơ bản đã học ở trường và tìm hiểu qua sách ,Internet và qua thực tế nhằm giải quyết vấn đề nêu trên nên để tài " Xây dựng websitetìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng " được xâydựng
Mục đích của đề tài là nhâm hỗ trợ cho nhà tuyển dụng tìm được những ứng viênphù hợp và người tìm việc tìm được một công việc tốt hơn mà không cần phải bỏnhiều công sức để nộp bỏ sơ
v
Trang 10Nếu phát hiện có bất kì gian lận nào chúng em xin chịu hoàn toàn trách nhiệm
về nội dung đề tài của mình Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵngkhông liên quan đến những vi phạm tác quyền, bản quyền do chúng em gây ra trongquá trình thực hiện (nếu có)
Sinh viên thực hiện
Phạm Phong Hào
vi
Trang 11MỤC LỤC
MỤC LỤC vii
DANH MỤC BẢNG BIỂU xii
DANH MỤC HÌNH VẼ xiii
DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT xv
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xvi
MỞ ĐẦU 1
1 Mục tiêu đề tài 1
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 1
a Đối tượng nghiên cứu 1
b Phạm vi nghiên cứu 2
3 Phương pháp nghiên cứu 2
4 Giải pháp công nghệ 2
5 Cấu trúc đồ án 2
Chương 1 CƠ SỞ LÝ THUYẾT 3
1.1 Phầm mềm 3
1.1.1 Visual Studio Code 3
1.1.2 Postman 4
1.2 Công nghệ 5
1.2.1 React Js 5
1.2.2 NodeJS 5
1.2.3 MongoDB 7
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 8
2.1 Phân tích đối tượng sử dụng hệ thống 8
vii
Trang 122.1.1 Quản trị hệ thống 8
2.1.2 Khách vãng lại 8
2.1.3 Ứng Viên 8
2.1.4 Nhà tuyển dụng 8
2.2 Phân tích chức năng 8
2.2.1 Đăng ký 8
2.2.2 Đăng nhập 8
2.2.3 Tìm kiếm việc 8
2.2.4 Cập nhật hồ sơ cá nhân 9
2.2.5 Tạo mới hồ sơ ứng tuyển 9
2.2.6 Nộp hồ sơ ứng tuyển 9
2.2.7 Xem lịch sử ứng tuyển 9
2.2.8 Xem và cập nhật tin tuyển dụng 9
2.2.9 Duyệt hồ sơ Ứng Viên 10
2.2.10 Báo cáo thống kê 10
2.2.11 Phân quyền 10
2.3 Sơ đồ Usecase 10
2.3.1 Danh sách các Actor và hành động của từng Actor 10
2.3.2 Sơ đồ Usecase của hệ thống 11
2.3.3 Mô tả Usecase chính 11
2.3.3.1 Usecase cập nhật hồ sơ cá nhân 11
2.3.3.2 Usecase tìm kiếm việc làm 12
2.3.3.3 Usecase nộp hồ sơ ứng tuyển 13
2.3.3.4 Usecase tạo mới hồ sơ ứng tuyển 13
2.3.3.5 Usecase xem và cập nhật tin tuyển dụng 14
viii
Trang 132.3.3.6 Usecase duyệt hồ sơ ứng tuyển 15
2.3.3.7 Usecase báo cáo thống kê 15
2.3.3.8 Usecase quản lý tài khoản 16
2.3.3.9 Usecase phân quyền 16
2.4 Sơ đồ hoạt động 17
2.4.1 Usecase đăng nhập 17
2.4.2 Usecase đăng ký 19
2.4.3 Usecase tìm kiếm việc làm 20
2.4.4 Usecase cập nhật hồ sơ cá nhân của Ứng Viên 21
2.4.5 Usecase Tạo mới hồ sơ ứng tuyển (File CV) 22
2.4.6 Usecase Nộp hồ sơ ứng tuyển 23
2.4.7 Usecase cập nhật hồ sơ cá nhân của Nhà tuyển dụng 24
2.4.8 Usecase xem và cập nhật tin tuyển dụng 25
2.4.9 Usecase duyệt hồ sơ ứng tuyển 26
2.4.10 Usecase báo cáo thống kê 27
2.4.11 Usecase xem thống kê 28
2.5 Thiết kế cơ sở dữ liệu 28
2.5.1 Sơ đồ quan hệ 28
2.5.2 Bảng Ứng Viên 29
2.5.3 Bảng File CV 29
2.5.4 Bảng tin tuyển dụng 29
2.5.5 Bảng Nhà tuyển dụng 30
2.5.6 Bảng Người quản trị (Admin) 30
2.5.7 Bảng tuyển dụng 31
2.5.8 Bảng danh mục 31
ix
Trang 14Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 32
3.1 Công cụ xây dựng chương trình 32
3.2 Giao diện chương trình 32
3.2.1 Giao diện đăng ký tài khoản 32
3.2.2 Giao diện đăng ký tài khoản Nhà tuyển dụng 32
3.2.3 Giao diện đăng nhập 34
3.2.4 Giao diện đổi mật khẩu 35
3.2.5 Giao diện trang chủ 36
3.2.6 Giao diện màn hình tìm kiếm 37
3.2.7 Giao diện chi tiết tin tuyển dụng 38
3.2.8 Giao diện nộp hồ sơ ứng tuyển 39
3.2.9 Giao diện tạo mới hồ sơ CV 40
3.2.10 Giao diện trang cá nhân của Ứng Viên 40
3.2.11 Giao diện cập nhật hồ sơ cá nhân của Ứng Viên 41
3.2.12 Giao diện lịch sử ứng tuyển 42
3.2.13 Giao diện hồ sơ cá nhân của Nhà tuyển dụng 42
3.2.14 Giao diện cập nhật hồ sơ cá nhân của Nhà tuyển dụng 43
3.2.15 Giao diện cập nhật danh mục 43
3.2.16 Giao diện quản lý tin tuyển dụng 43
3.2.17 Giao diện quản lý hồ sơ ứng tuyển vào từng tin tuyển dụng 44
3.2.18 Giao diện báo cáo thống kê 45
3.2.19 Giao diện thống kê danh sách hồ sơ chưa được duyệt 46
3.2.20 Giao diện thống kê danh sách hồ sơ đã được duyệt 46
3.2.21 Giao diện xem thống kê của Người quản trị (Admin) 47
3.2.22 Giao diện quản lý tài khoản của Người quản trị (Admin) 48
x
Trang 15KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 49
3.3 Kết luận 49
3.3.1 Về mặt lý thuyết 49
3.3.2 Về ứng dụng 49
3.4 Hướng phát triển 49
TÀI LIỆU THAM KHẢO 50
xi
Trang 16DANH MỤC BẢNG BIỂU
Bảng 2-1 Bảng mô tả Usecase 11
Bảng 2-2 Bảng mô tả usecase cập nhật hồ sơ cá nhân 12
Bảng 2-3 Bảng mô tả usecase Tìm kiếm việc làm 13
Bảng 2-4 Bảng mô tả usecase nộp hồ sơ ứng tuyển 13
Bảng 2-5 Bảng mô tả usecase nộp hồ sơ ứng tuyển 14
Bảng 2-6 Bảng mô tả usecase xem và cập nhật tin tuyển dụng 15
Bảng 2-7 Bảng mô tả usecase duyệt hồ sơ ứng tuyển 15
Bảng 2-8 Bảng mô tả usecase báo cáo thống kê 16
Bảng 2-9 Bảng mô tả usecase quản lý tài khoản 16
Bảng 2-10 Bảng mô tả usecase phân quyền 17
Bảng 2-11 Bảng Ứng Viên 29
Bảng 2-12 Bảng File CV 29
Bảng 2-13 Bảng tin tuyển dụng 30
Bảng 2-14 Bảng Nhà tuyển dụng 30
Bảng 2-15 Bảng Người quản trị 31
Bảng 2-16 Bảng tuyển dụng 31
Bảng 2-17 Bảng danh mục 31
xii
Trang 17DANH MỤC HÌNH VẼ
Hình 1-1 Giao diện Visual Studio Code 3
Hình 1-2 Giao diện Postman 4
Hình 1-3 Minh hoạ React Js 5
Hình 1-4 Minh hoạ NodeJS 6
Hình 1-5 Minh hoạ MongoDB 7
Hình 2-1 Sơ đồ Usecase của hệ thống 11
Hình 2-2 Sơ đồ hoạt động đăng nhập 18
Hình 2-3 Sơ đồ hoạt động đăng ký 19
Hình 2-4 Sơ đồ hoạt động tìm kiếm việc làm 20
Hình 2-5 Sơ đồ hoạt động cập nhật hồ sơ cá nhân của Ứng Viên 21
Hình 2-6 Sơ đồ hoạt động tạo mới hồ sơ ứng tuyển (File CV) 22
Hình 2-7 Sơ đồ hoạt động nộp hồ sơ ứng tuyển 23
Hình 2-8 Sơ đồ hoạt động cập nhật hồ sơ cá nhân của Nhà tuyển dụng 24
Hình 2-9 Sơ đồ hoạt động xem và cập nhật Nhà tuyển dụng 25
Hình 2-10 Sơ đồ hoạt động duyệt hồ sơ ứng tuyển 26
Hình 2-11 Sơ đồ hoạt động báo cáo thống kê 27
Hình 2-12 Sơ đồ hoạt động xem thống kê 28
Hình 2-13 Sơ đồ quan hệ dữ liệu 28
Hình 3-1 Giao diện đăng ký tài khoản người dùng 32
Hình 3-2 Giao diện đăng ký tài khoản Nhà tuyển dụng 33
Hình 3-3 Giao diện đăng nhập 34
Hình 3-4 Giao diện đổi mật khẩu 35
Hình 3-5 Giao diện trang chủ 36
Hình 3-6 Giao diện tìm kiếm trên thanh header 37
Hình 3-7 Giao diện tìm kiếm bằng các bộ lọc nhanh 37
Hình 3-8 Giao diện chi tiết tin tuyển dụng 38
Hình 3-9 Giao diện nộp hồ sơ ứng tuyển 39
Hình 3-10 Giao diện tạo mới hồ sơ CV 40
Hình 3-11 Giao diện trang cá nhân của Ứng Viên 41
xiii
Trang 18Hình 3-12 Giao diện cập nhật hồ sơ cá nhân của Ứng Viên 41
Hình 3-13 Giao diện lịch sử ứng tuyển 42
Hình 3-14 Giao diện trang cá nhân của Nhà tuyển dụng 42
Hình 3-15 Giao diện cập nhật hồ sơ cá nhân của Nhà tuyển dụng 43
Hình 3-16 Giao diện cập nhật danh mục 43
Hình 3-17 Giao diện quản lý tin tuyển dụng 44
Hình 3-18 Giao diện hồ sơ ứng tuyển 44
Hình 3-19 Giao diện báo cáo thống kê 45
Hình 3-20 Giao diện thống kê danh sách hồ sơ chưa được duyệt 46
Hình 3-21 Giao diện thống kê danh sách hồ sơ đã được duyệt 46
Hình 3-22 Giao diện xem thống kê của Người quản trị 47
Hình 3-23 Giao diện quản lý tài khoản của Người quản trị (Admin) 48
xiv
Trang 19DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT
Stt Chữ viết tắt Giải nghĩa
2
3
xv
Trang 20DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH
Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
Language Ngôn ngữ đánh dấu siêu văn bản
2 API Application Program
Interface Giao diện chương trình ứng dụng
3 ERD Entity Relationship Diagram Sơ đồ mối quan hệ thực thể
4 NoSQL Non-relational Data
Trang 21Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
MỞ ĐẦU
Ngày nay xã hội ngày càng phát triển kéo theo sự phát triển của khoa học kỳthuật, trí tuệ loài người không ngừng năng lên với tầm cao mới thi Công nghệ Thôngtin cũng phát triển nhục và bảo với hàng loạt những tiên lợi phục vụ đời sống conngười ngày càng hiệu quả Hiện nay , lĩnh vực Công nghệ Thông tin bùng nổ trên toàncầu thì các quốc gia thế giới đều cố gắng áp dụng tin học vào để hiện đại hóa quy trìnhsản xuất kinh doanh của mình nhằm đạt hiệu quả kinh tế cao Đứng trước sự phát triển
đó , các công ty sản xuất phần mềm , thiết kế website , các thư lập trình viên cùngnhững người say mê tin học đã tạo ra các trang web giúp mọi người lưu trữ , tìm kiếm
và xử lý dữ liệu nhanh chóng , dễ dàng hơn
Có được một công việc ổn định phù hợp với năng lực , trình độ là ước mở củanhiều nguồn , tuyến đúng người đùng việc cũng là sự mong mối của các nhà tuyểndụng Do đó , vấn để việc làm là một khẩu rất quan trọng trong đời sống con ngườicần được quan tâm
Là một sinh viên chuyên ngành Công nghệ Thông tin , có thời gian học tập và tìmhiểu về phân tích thiết kế hệ thống thông tin , cơ sở dữ liệu , những kiến thức về lậptinh web Vận dụng những kiến thức cơ bản đã học ở trường và tìm hiểu qua sách ,Internet và qua thực tế nhằm giải quyết vấn đề nêu trên nên để tài " Xây dựng websitetìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng " được xâydựng
Mục đích của đề tài là nhâm hỗ trợ cho nhà tuyển dụng tìm được những ứng viênphù hợp và người tìm việc tìm được một công việc tốt hơn mà không cần phải bỏnhiều công sức để nộp bỏ sơ
1 Mục tiêu đề tài
Xây dựng website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố
Đà Nẵng Tại trang web này người tìm việc có thể tìm kiếm các tin tuyển dụng mộtcách dễ dàng, có thể nộp các hồ sơ ứng tuyển việc làm, Nhà tuyển dụng có thể đăng tin
và cập nhật một cách dễ dàng, có thể duyệt các hồ sơ ứng tuyển, có thể gửi mail khingười duyệt thành công hồ sơ
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu
Đối tượng của đề tài là các sinh viên còn đang học hay đã ra trường, Nhà tuyểndụng của các Công Ty công nghệ thông tin tại thành phố Đà Nẵng
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 1
Trang 22Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
b Phạm vi nghiên cứu
- Phạm vi nghiên cứu tại thành phố Đà Nẵng
3 Phương pháp nghiên cứu
Nội dung và kết cấu báo cáo
Bài báo cáo ngoài các nội dung gồm phần mở đầu và kết luận thì có bố cục 3chương:
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chương này trình bày tổng quan về việc sử dụng các phần mềm hỗ trợ xây dựngứng dụng, các công cụ thường xuyên sử dụng để xây dựng nền tảng cho bài toán Mô
tả một số công nghệ mới hỗ trợ phát triển ứng dụng
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương này trình bày một hướng tiếp cận trong việc phân tích hệ thống Trìnhbày những hướng chức năng cơ bản cho người dùng, sơ đồ cơ sở dữ liệu…
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH
Chương này trình bày kết quả thực hiện chương trình, giao diện người dùng
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 2
Trang 23Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Chương 1 CƠ SỞ LÝ THUYẾT
1.1 Phầm mềm
1.1.1 Visual Studio Code
Visual Studio Code là một trong những trình soạn thảo mã nguồn phổ biến nhấthiện nay được sử dụng bởi các lập trình viên Nhanh, nhẹ, hỗ trợ đa nền tảng, nhiềutính năng và là mã nguồn mở chính là những ưu điểm vượt trội khiến Visual StudioCode ngày càng chứng tỏ ưu thế vượt trội của mình so với những phần mềm khác vàđược ứng dụng rộng rãi
Hình 1-1 Giao diện Visual Studio Code
Visual Studio Code hỗ trợ chức năng Debug, đi kèm với Git, có SyntaxHighlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tínhnăng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi Theme, phímtắt, và các tùy chọn khác
Một số tính năng vượt trội của Visual Studio Code:
- Hỗ trợ nhiều ngôn ngữ lập trình
- Hỗ trợ đa nền tảng
- Cung cấp kho tiện ích mở rộng
- Kho lưu trữ an toàn
- Hỗ trợ web
- Lưu trữ dữ liệu dưới dạng phân cấp
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 3
Trang 24Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
- Hỗ trợ nhắc Code
- Hỗ trợ thiết bị đầu cuối
- Intellisense chuyên nghiệp
Postman có sẵn nhiều phiên bản cho các hệ điều hành và môi trường khác nhau
Đó cùng là điểm khiến nó trở nên phổ biến hơn
Postman hỗ trợ tất cả các phương thức HTTP (GET, POST, PUT, PATCH,DELETE, …) Bên cạnh đó, nó còn cho phép lưu lại lịch sử các lần request, rất tiệncho việc sử dụng lại khi cần
Hình 1-2 Giao diện Postman
Những lợi ích khi sử dụng Postman:
- Sử dụng Collections (Bộ sưu tập) – Postman cho phép người dùng tạo bộ sưutập cho các lệnh gọi API của họ Mỗi bộ sưu tập có thể tạo các thư mục con vànhiều yêu cầu (request) Điều này giúp việc tổ chức các bộ thử nghiệm
- Collaboration – Collections và environment có thể được import hoặc exportgiúp chia sẻ tệp dễ dàng
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 4
Trang 25Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
- API Testing – Test trạng thái phản hồi HTTP
- Gỡ lỗi – Bảng điều khiển Postman giúp kiểm tra dữ liệu nào đã được truy xuấtgiúp dễ dàng gỡ lỗi kiểm tra
1.2 Công nghệ
1.2.1 React Js
React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng nhữngthành phần (components) UI có tính tương tác cao, có trạng thái và có thể sử dụng lạiđược
Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt độngtrên phía client, mà còn được render trên server và có thể kết nối với nhau React sosánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ítthay đổi nhất trên DOM
Hình 1-3 Minh hoạ React Js
1.2.2 NodeJS
NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine,
nó được sử dụng để xây dựng các ứng dụng web như các trang video clip, các forum
và đặc biệt là trang mạng xã hội phạm vi hẹp NodeJS là một mã nguồn mở được sửdụng rộng bởi hàng ngàn lập trình viên trên toàn thế giới
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 5
Trang 26Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Hình 1-4 Minh hoạ NodeJS
NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ Window chotới Linux, MacOS nên đó cũng là một lợi thế NodeJS cung cấp các thư viện phongphú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thờigian ở mức thấp nhất
Các đặc tính của NodeJS:
- Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữliệu về Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chếthông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từcác cuộc gọi API trước
(none Chạy rất nhanh: NodeJS được xây dựng dựa vào nền tảng V8 Javascript Enginenên việc thực thi chương trình rất nhanh
- Đơn luồng nhưng khả năng mở rộng cao: NodeJS sử dụng một mô hình luồngduy nhất với sự kiện lặp Cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứngmột cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như tráingược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu.NodeJS sử dụng một chương trình đơn luồng và các chương trình tương tự cóthể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủtruyền thống như Apache HTTP Server
- Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng nàychủ yếu là đầu ra dữ liệu
- Có giấy phép: NodeJS đã được cấp giấy phép bởi MIT License
Có 2 NodeJS framework được sử dụng phổ biến là Express và SocketIO, đồ ánnày sử dụng Express
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 6
Trang 27Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Hình 1-5 Minh hoạ MongoDB
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 7
Trang 28Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Phân tích đối tượng sử dụng hệ thống
Website tìm kiếm việc làm cho ngành công nghệ thông tin tại thành phố Đà Nẵnggồm những đối tượng sử dụng như sau:
Trang 29Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
- Tìm kiếm bằng cách nhập tin muốn tìm vào ô input
- Tìm kiếm bằng các bộ lọc khác (lọc theo số lương cao thấp, tin cũ mới)
- Nhập đầy đủ các mục thông tin cá nhân
- Chọn file CV (upload lên hoặc chọn ở mục hồ sơ cá nhân)
- Nhấn nộp CV để nộp hồ sơ
2.2.7 Xem lịch sử ứng tuyển
- Ứng Viên sau khi nộp hồ sơ ứng tuyển xong thì vào mục lịch sử ứngtuyển ở trang cá nhân để xem lịch sử ứng tuyển của mình
2.2.8 Xem và cập nhật tin tuyển dụng
- Sau khi đăng nhập với tài khoản Nhà tuyển dụng
- Nhấn vào mục quản lý tin tuyển dụng để xem các tin tuyển dụng, chọntạo mới để thêm mới tin tuyển dụng, phải nhập đầy đủ thông tin cáctrường dữ liệu sau để thêm mới :
Trang 30Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
o Tên Công Ty
o Mô tả công việc
o Yêu cầu công việc
o Địa chỉ
o Vị trí tuyển dụng
o Số ngày để ứng tuyển
o Danh mục
2.2.9 Duyệt hồ sơ Ứng Viên
Đối với Nhà tuyển dụng sau khi đăng nhập và truy cập mục ds ứng tuyển owetrang quản lý tin tuyển dụng Quản trị viên sẽ dựa trên nội dung trên hồ sơ ứng tuyển
để xét duyệt hồ sơ Sau khi duyệt thành công thì sẽ có một email được gửi về emailcủa ngày đã nộp hồ sơ
2.2.10 Báo cáo thống kê
Đối với Nhà tuyển dụng thì có thêm tính năng này Nhà tuyển dụng có thể thống
kê các mục quản lý như (hồ sơ chưa được duyệt, hồ sơ đã được duyệt và tất cả các hồ
- Cập nhật hồ sơ cá nhân
- Xem và cập nhật tin tuyển dụng
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 10
Trang 31Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
- Duyệt hồ sơ tuyển dụng của Ứng Viên
- Gửi mail về Email đã ứng tuyển
Admin
- Đăng nhập, đăng xuất, đổi mật khẩu
- Xem tin tuyển dụng
- Block tài khoản
- Phân quyền cho tài khoản
Bảng 2-1 Bảng mô tả Usecase
2.3.2 Sơ đồ Usecase của hệ thống
Hình 2-6 Sơ đồ Usecase của hệ thống
2.3.3 Mô tả Usecase chính
2.3.3.1 Usecase cập nhật hồ sơ cá nhân
Actor Ứng Viên, Nhà tuyển dụng
Điều kiện tiên
quyết
Người dùng đã đăng nhập vào hệ thống
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 11
Trang 32Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Điều kiện thực thi Khi người dùng kích hoạt
Xử lý chính Bước 1 : Chọn mục “Quản lý hồ sơ cá nhân”
Bước 2 : Chọn ô “Cập nhật”
Bước 3 : Nhập đầy đủ các thông tin cần thiếtBước 4 : Chọn ô “Cập nhật” để cập nhật hồ sơ cá nhân
Xử lý ngoại lệ Khi nào người dùng nhập thiếu các thông tin để cập
nhật hồ sơ cá nhân thì phải quay lại Bước 3
Bảng 2-2 Bảng mô tả usecase cập nhật hồ sơ cá nhân
2.3.3.2 Usecase tìm kiếm việc làm
Actor Khách vãng lại và Ứng Viên
Điều kiện tiên
quyết
Người dùng đã đăng nhập vào hệ thống
Điều kiện thực thi Khi người dùng kích hoạt
Xử lý chính Bước 1 : Tại trang chủ, chọn bộ lọc danh mục để tìm kiếm
bằng danh mụcBước 2 : Nhập vào ô tìm kiếm để tìm kiếm tin tuyển dụngBước 3 : Tìm kiếm bằng bộ lọc tổng hợp (mức lương cao –thấp hoặc thấp – cao, tin cũ hoặc tin mới)
Bước 4 : Tìm kiếm theo thức tự 3 bước vừa nêu ở trên cùngmột lúc
Xử lý ngoại lệ Tại bước 4: khi không có tin tuyển dụng nào có danh mục đó
thì không thể tìm kiếm theo các bước tiếp được, ta phải chọntất cả danh mục ở bộ lộc danh mục hoặc chọn danh mục cótên để thực hiện tiếp
Bảng 2-3 Bảng mô tả usecase Tìm kiếm việc làm
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 12
Trang 33Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
2.3.3.3 Usecase nộp hồ sơ ứng tuyển
Actor Ứng Viên
Điều kiện tiên
quyết
Người dùng đã đăng nhập vào hệ thống
Điều kiện thực thi Khi người dùng kích hoạt
Xử lý chính Bước 1 : Chọn ô “xem chi tiết” ở danh sách các tin tuyển
dụng ở trang chủ, Bước 2 : Trong trang xem chi tiết ta chọn ô “Ứng tuyểnngay!”
Bước 3 : Nhập thông tin cá nhân đầy đủ
Bước 4 : Chọn fle CV đã tạo từ trước hoặc upload lên từ máycủa chúng ta
Bước 5 : Nhấn ô “Nộp CV” để nộp hồ sơ ứng tuyển
Xử lý ngoại lệ Nếu nhập không đủ các thông tin thì sẽ hiển thị thông báo
nhập thiếu thông tin ở mục đó ta phải trở về lại bước 3.Nếu không chọn file CV để nộp thì sẽ hiển thị thông báochưa chọn hồ sơ CV ở mục đó ta phải trở về lại bước 4 Hoặcnếu ta upload file từ máy của mình nhưng upload sai file thì
sẽ hiển thị thông báo file sai định dạng và trở về bước 4
Bảng 2-4 Bảng mô tả usecase nộp hồ sơ ứng tuyển
2.3.3.4 Usecase tạo mới hồ sơ ứng tuyển
Actor Ứng Viên
Điều kiện tiên
quyết
Người dùng đã đăng nhập vào hệ thống
Điều kiện thực thi Khi người dùng kích hoạt
Xử lý chính Bước 1 : Chọn ô “Tạo mới CV” ở dropdown phía trên bên
phải ở trang chủ,
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 13
Trang 34Xây dựng Website tìm kiếm việc làm cho ngành công nghệ thông tin tại Thành Phố Đà Nẵng
Bước 2 : Nhập đầy đủ các thông tin ở các mục thông tin cánhân, thêm học vấn, công việc mong muốn, ngoại ngữ
Bước 3 : Nhấn Download CV để tải file CV đã tạo về máychúng ta để ứng tuyển
Xử lý ngoại lệ Nếu nhập không đủ các thông tin thì sẽ hiển thị thông báo
nhập thiếu thông tin ở mục đó ta phải trở về lại bước 2
Bảng 2-5 Bảng mô tả usecase nộp hồ sơ ứng tuyển
2.3.3.5 Usecase xem và cập nhật tin tuyển dụng
Actor Nhà tuyển dụng
Điều kiện tiên
quyết
Nhà tuyển dụng đã đăng nhập vào hệ thống
Điều kiện thực thi Khi Nhà tuyển dụng kích hoạt
Xử lý chính Bước 1 : Chọn mục “Quản lý tin tuyển dụng” để xem các tin
tuyển dụngBước 2 : Chọn mục “Tạo mới tin tuyển dụng” hoặc là “Sửa”
để tạo mới hoặc cập nhật tin tuyển dụngBước 3 : Nhấn vào “Xóa” để xóa các tin tuyển dụng
Xử lý ngoại lệ Bước 2 khi không nhập đủ các thông tin ở các trường thì sẽ
thông báo nhập thiếu và yêu cầu nhập lại -> bước 2
Bảng 2-6 Bảng mô tả usecase xem và cập nhật tin tuyển dụng
2.3.3.6 Usecase duyệt hồ sơ ứng tuyển
Actor Nhà tuyển dụng
Điều kiện tiên
quyết
Nhà tuyển dụng đã đăng nhập vào hệ thống
Sinh viên thực hiện: Phạm Phong Hào Người hướng dẫn: ThS Trần Bửu Dung Trang 14