1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử Dụng Nodejs Và Reactjs Để Thiết Kế Website Tìm Kiếm Việc Làm It
Tác giả Nguyễn Minh Danh
Người hướng dẫn ThS. Nguyễn Văn Phát
Trường học Đại Học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 77
Dung lượng 5,66 MB

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

Nội dung

Trong bối cảnh này, niên luận này sẽ tậptrung vào việc xây dựng một hệ thống quản lý đăng tin tuyển dụng để giải quyết cácthách thức trên, cho phép người tuyển dụng dễ dàng đăng tin và q

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

SỬ DỤNG NODEJS VÀ REACTJS ĐỂ THIẾT KẾ

WEBSITE TÌM KIẾM VIỆC LÀM IT

Sinh viên thực hiện : Nguyễn Minh Danh

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

SỬ DỤNG NODEJS VÀ REACTJS ĐỂ THIẾT KẾ

WEBSITE TÌM KIẾM VIỆC LÀM IT

Giảng viên hướng dẫn duyệt

ThS.Nguyễn Văn Phát

Đà Nẵng, 12/2024

Trang 3

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN

Trang 4

Trang 5

lý quá trình phỏng vấn, và duyệt hồ sơ đơn xin việc Tính khả thi của việc quản lý thôngtin: Cùng với lượng thông tin ngày càng tăng về việc làm và người tìm việc, cần có một

hệ thống quản lý thông tin mạnh mẽ để giúp người tuyển dụng duyệt hồ sơ và quản lý các

vị trí tuyển dụng một cách hiệu quả Cần thiết tạo ra môi trường tốt cho giao dịch: Đểthúc đẩy quá trình tuyển dụng, cần có một môi trường trực tuyến an toàn và đáng tin cậycho cả người tìm việc và người tuyển dụng Trong bối cảnh này, niên luận này sẽ tậptrung vào việc xây dựng một hệ thống quản lý đăng tin tuyển dụng để giải quyết cácthách thức trên, cho phép người tuyển dụng dễ dàng đăng tin và quản lý thông tin tuyểndụng, và đồng thời cho phép người tìm việc tìm kiếm và ứng tuyển vào các vị trí côngviệc một cách hiệu quả hơn

Hệ thống sẽ cung cấp giao diện dễ sử dụng cho người tuyển dụng và người tìm việc.Người tuyển dụng có thể đăng tin, quản lý danh sách việc làm, và tương tác với hồ sơngười tìm việc Người tìm việc có thể tìm kiếm việc làm, tạo hồ sơ cá nhân, và ứng tuyểnvào các vị trí việc làm Hệ thống cũng cần đảm bảo tính bảo mật thông tin cá nhân củangười dùng

Trang 6

KHOA 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 : ThS Nguyễn Văn Phát

Sinh viên thực hiện: Nguyễn Minh Danh Mã SV: 2050531200115

1 Tên đề tài:

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

2 Các số liệu, tài liệu ban đầu:

- Tài liệu phân tích thiết kế hệ thống

- Tài liệu về cơ sở dữ liệu và ngôn ngữ lập trình web

3 Nội dung chính của đồ án:

Nội dung chính của đề tài gồm:

Mở đầu

1 Mục tiêu đề tài;

2 Đối tượng nghiên cứu và phạm vi nghiên cứu;

3 Phương pháp nghiên cứu;

4 Giải pháp công nghệ;

5 Cấu trúc của đồ án tốt nghiệp

Chương 1: Cơ sở lý thuyết

Trang 7

1 Sơ đồ Use case

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

Chương 3: Xây dựng chương trình

1 Công cụ xây dựng chương trình;

2 Giao diện chương trình;

Kết luận và hướng phát triển

1 Kết luận;

2 Hướng phát triển

4 Các sản phẩm dự kiến:

- Cơ sở dữ liệu trong hệ quản trị MySQL ;

- Website tìm kiếm việc làm IT;

- Báo cáo đề tài tốt nghiệp

Trang 8

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ngay cả trong gia đình.

Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị.

Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành tự động hóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của website Với những thao tác đơn giản trên máy có nối mạng Internet bạn

sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang web làm theo hướng dẫn và click vào những gì bạn cần Các hoạt động sẽ thực hiện ngay trên hệ thống đó

Ở Việt Nam cũng có rất nhiều trường đại học tự động hóa các quy trình trên hệ thống website nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa phát triển mạnh nên các quy trình vẫn còn rất nhiều sổ sách, giấy tờ thủ công dẫn đến thiếu hiệu quả, mất khá nhiều thời gian

Để tiếp cận và góp phần đẩy mạnh sự phổ biến và tiện ích của website, em/ đã tìm hiểu và cài đặt “Hệ thống website tìm kiếm việc làm IT”.

Với sự hướng dẫn tận tình của thầy ThS.Nguyễn Văn Phát em đã hoàn thành đồ án tốt nghiệp này Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm và góp ý của quí Thầy cô

Chúng em xin chân thành cảm ơn!

Trang 9

CAM ĐOAN

Em xin cam đoan :

1 Những nội dung trong luận văn này do chúng em thực hiện dưới sự hướng dẫncủa thầy ThS Nguyễn Văn Phát

2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên côngtrì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 trá, chúng em xinchịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Nguyễn Minh Danh

ii

Trang 10

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN i

NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ii

TÓM TẮT iii

LỜI NÓI ĐẦU i

CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC BẢNG BIỂU viii

DANH MỤC HÌNH VẼ ix

DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT xi

DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xii

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 1

3. Phương pháp nghiên cứu 1

4. Cấu trúc của đồ án tốt nghiệp 2

Chương 1 CƠ SỞ LÝ THUYẾT 1

1.1 Lập trình website 1

1.1.1 Trang Web 1

1.1.2 Ứng dụng Web 1

1.2 Hệ quản trị cơ sở dữ liệu MySQL 1

1.3 HTML,CSS 2

1.3.1 HTML 2

1.3.2 CSS 2

1.4 JavaScript 3

Trang 11

1.4.1 Khái niệm 3

1.4.2 Đặc điểm 3

1.5 ReacJS 4

1.6 NodeJS 5

1.7 ExpressJS 5

1.8 API 6

Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 7

2.1 Liệt kê Actor và Usecase 7

2.1.1 Các Actor 7

2.1.2 Usecase 7

2.1.2.1 Khách vãng lai 7

2.1.2.2 Người tìm việc 7

2.1.2.3 Nhà Tuyển Dụng 7

2.1.2.4 Quản trị viên 8

2.2 Sơ đồ usecase 8

2.2.1 Sơ đồ tổng quát 8

2.2.2 Đặc tả usecase 9

2.2.2.1 Use case Đăng nhập 9

2.2.2.2 Use case Đăng ký 9

2.2.2.3 Use Case Đăng tin tuyển dụng 10

2.2.2.4 Use case Sửa tin tuyển dụng 10

2.2.2.5 Use case Xóa tin tuyển dụng 11

2.2.2.6 Use case Duyệt tin tuyển dụng 11

2.2.2.7 Use case Xem thông tin tuyển dụng 12

2.2.2.8 Use case Tạo hồ sơ 12

2.2.2.9 Use Case Nộp hồ sơ ứng tuyển 13

2.2.2.10 Use Case Xem công việc đã ứng tuyển 13

2.2.2.11 Use Case Xem hồ sơ ứng viên 14

iv

Trang 12

2.3 Thiết kế ERD 15

2.4 Sơ đồ hoạt động 16

2.4.1 Đăng tin tuyển dụng 16

2.4.2 Duyệt tin tuyển dụng 17

2.4.3 Tạo hồ sơ 18

2.4.4 Xem thông tin tuyển dụng 19

2.4.5 Nộp hồ sơ ứng tuyển 20

2.5 Sơ đồ tuần tự 21

2.5.1 Đăng tin tuyển dụng 21

2.5.2 Duyệt bài đăng 22

2.5.3 Xem thông tin tuyển dụng 23

2.5.4 Nộp hồ sơ ứng tuyển 24

2.5.5 Thanh toán 25

2.6 Sơ đồ trạng thái 26

2.6.1 Đăng tin tuyển dụng 26

2.6.2 Duyệt bài đăng tuyển dụng 27

2.6.3 Xem thông tin tuyển dụng 27

2.6.4 Nộp hồ sơ ứng tuyển 28

2.6.5 Xem hồ sơ ứng viên 28

2.6.6 Thanh toán 29

2.7 Thiết kế cơ sở dữ liệu 30

2.7.1 Bảng Quyền 30

2.7.2 Bảng người dùng 30

2.7.3 Bảng Tin Tuyển Dụng 30

2.7.4 Bảng Nhà tuyển dụng 31

2.7.5 Bảng Người Tìm Việc 31

2.7.6 Bảng Hồ sơ 32

Trang 13

2.7.7 Bảng Kỹ Năng 32

2.7.8 Bảng Ứng tuyển 33

2.7.9 Bảng Cấp bậc 33

2.7.10 Bảng Phản hồi 33

2.7.11 Bảng Lưu công việc 33

2.7.12 Bảng Vị trí tuyển dụng 34

2.7.13 Bảng Kỹ năng tuyển dụng 34

2.7.14 Bảng Lịch sử thanh toán 34

Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 35

3.1 Công cụ xây dựng chương trình 35

3.1.1 Visual Studio Code 35

3.1.2 MySQL Workbech 35

3.1.3 Postman 36

3.1.4 Github 37

3.2 Giao diện chương trình 38

3.2.1 Giao diện trang chủ 38

3.2.2 Giao diện chi tiết tin tuyển dụng 39

3.2.3 Giao diên trang công ty 40

3.2.4 Giao diện đăng nhập 41

3.2.5 Giao diện đăng ký người tìm việc 41

3.2.6 Giao diện đăng ký nhà tuyển dụng 42

3.2.7 Giao diện thông tin cá nhân người tìm việc 42

3.2.8 Giao diện quản lý hồ sơ 43

3.2.9 Giao diện tạo hồ sơ 44

3.2.10 Giao diện xem hồ sơ 45

3.2.11 Giao diện xem công việc đã ứng tuyển 46

3.2.12 Giao diện công việc đã lưu 46

3.2.13 Giao diện thông tin nhà tuyển dụng 47

vi

Trang 14

3.2.15 Giao diện quản lý tin tuyển dụng của nhà tuyển dụng 48

3.2.16 Giao diện xem các hồ sơ đã nộp 48

3.2.17 Giao diện mua số lượt đăng tin 49

3.2.18 Giao diện thanh toán 49

3.2.19 Giao diện thanh toán thành công 50

3.2.20 Giao diện lịch sử thanh toán của nhà tuyển dụng 50

3.2.21 Giao diện admin thống kê 51

3.2.22 Giao diện admin quản lý người dùng 52

3.2.23 Giao diện quản lý tin tuyển dụng 52

3.2.24 Giao diện quản lý nhà tuyển dụng 53

3.2.25 Giao diện duyệt thông tin nhà tuyển dụng 53

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54

1 Kết luận 54

2 Hướng phát triển 54

TÀI LIỆU THAM KHẢO 55

Trang 15

DANH MỤC BẢNG BIỂU

Bảng 2.1: Bảng quyền 30

Bảng 2.2: Bảng người dùng 30

Bảng 2.3: Bảng Tin tuyển dụng 30

Bảng 2.4: Bảng nhà tuyển dụng 31

Bảng 2.5: Bảng người tìm việc 31

Bảng 2.6: Bảng hồ sơ 32

Bảng 2.7: Bảng kỹ năng 32

Bảng 2.8: Bảng Ứng tuyển 33

Bảng 2.9: Bảng Cấp bậc 33

Bảng 2.10: Bảng phản hồi 33

Bảng 2.11: Bảng lưu công việc 33

Bảng 2.12: Bảng vị trí tuyển dụng 34

Bảng 2.13: Bảng Kỹ năng tuyển dụng 34

Bảng 2.14: Bảng lịch sử thanh toán 34

viii

Trang 16

Hình 1.1: Lo go MySQL 2

Hình 1.2: Logo HTML 2

Hình 1.3: Logo CSS 3

Hình 1.4: Logo JavaScript 4

Hình 1.5: Logo ReactJS 5

Hình 1.6: Logo NodeJS 5

Hình 1.7: Logo ExpressJS 6

Hình 2.1: Sơ đồ Use Case 9

Hình 2.2: Sơ đồ ERD 15

Hình 2.3: Sơ đồ hoạt động Đăng tuyển dụng 16

Hình 2.4: Sơ đồ hoạt động Duyệt tin tuyển dụng 17

Hình 2.5: Sơ đồ hoạt động Tạo hồ sơ 18

Hình 2.6: Sơ đồ hoạt động chức năng xem thông tin tuyển dụng 19

Hình 2.7: Sơ đồ hoạt động Nộp hồ sơ ứng tuyển 20

Hình 2.8: Sơ đồ tuần tự Đăng tuyển dụng 21

Hình 2.9: Sơ đồ tuần tự Duyệt bài đăng 22

Hình 2.10: Sơ đồ tuần tự Xem thông tin tuyển dụng 23

Hình 2.11: Sơ đồ tuần tự nộp hồ sơ ứng tuyển 24

Hình 2.12: Sơ đồ tuần tự Thanh toán 25

Hình 2.13: Sơ đồ trạng thái đăng tuyển dụng 26

Hình 2.14: Sơ đồ trạng thái duyệt bài đăng 27

Hình 2.15: Sơ đồ trạng thái Xem thông tin tuyển dụng 27

Hình 2.16: Sơ đồ trạng thái Nộp hồ sơ ứng tuyển 28

Hình 2.17: Sơ đồ trạng thái Xem hồ sơ ứng viên 28

Hình 2.18: Sơ đồ trạng thái thanh toán 29

Hình 3.1: Giao diện trang chủ 38

Hình 3.2: Giao diện chi tiết tin tuyển dụng 39

Hình 3.3: Giao diện trang công ty 40

Trang 17

Hình 3.4: Giao diện đăng nhập 41

Hình 3.5: Giao diện đăng ký người tìm việc 41

Hình 3.6: Giao diện đăng ký nhà tuyển dụng 42

Hình 3.7: Giao diện thông tin cá nhân người tìm việc 42

Hình 3.8: Giao diện quản lý hồ sơ 43

Hình 3.9: Giao diện tạo hồ sơ 44

Hình 3.10: Giao diện xem hồ sơ 45

Hình 3.11: Giao diện công việc đã ứng tuyển 46

Hình 3.12: Giao diện công việc đã lưu 46

Hình 3.13: Giao diện thông tin nhà tuyển dụng 47

Hình 3.14: Giao diện Đăng tuyển dụng 47

Hình 3.15: Giao diện quản lý tin tuyển dụng của nhà tuyển dụng 48

Hình 3.16: Giao diện xem các hồ sơ đã nộp 48

Hình 3.17: Giao diện mua số lượt đăng tin 49

Hình 3.18: Giao diện thanh toán 49

Hình 3.19: Giao diện thanh toán thành công 50

Hình 3.20: Giao diện lịch sử thanh toán nhà tuyển dụng 50

Hình 3.21: Giao diện Admin thống kê 51

Hình 3.22: Giao diện admin quản lý người dùng 52

Hình 3.23: Giao diện quản lý tin tuyển dụng 52

Hình 3.24: Giao diện quản lý nhà tuyển dụng 53

Hình 3.25: Giao diện duyệt thông tin nhà tuyển dụng 53

DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT

1. CNTT Công nghệ thông tin

x

Trang 18

3.

Trang 19

DANH MỤC CHỮ VIẾT TẮT TIẾNG ANHStt 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

Sheets Đính dạng miểu tả cách trình bày

3. ERD Entity Relationship

Diagram Sơ đồ thực thể quan hệ

Language Ngôn ngữ truy vấn có cấu trúc

xii

Trang 20

MỞ ĐẦU

1 Mục tiêu đề tài

Kết nối nhà tuyển dụng với người tìm việc phù hợp: Tạo một Website hiệu quả

để kết nối các nhà tuyển dụng IT với những người tìm việc tiềm năng

Tối ưu hóa quá trình tuyển dụng : Giúp các doanh nghiệp nhanh chóng tìmkiếm và tuyển dụng được nhân tài IT phù hợp

Hỗ trợ người tìm việc: Cung cấp cho người tìm việc một Website hữu ích để tìmkiếm các cơ hội việc làm phù hợp với kỹ năng và kinh nghiệm của mình

2 Đối tượng nghiên cứu và phạm vi nghiên cứu

a Đối tượng nghiên cứu

Website tìm kiếm việc làm IT

b Phạm vi nghiên cứu

Xây dụng Website tìm kiếm việc làm IT

3 Phương pháp nghiên cứu

Phân tích yêu cầu kỹ thuật:

- Phân tích các yêu cầu kỹ thuật cụ thể cho mã nguồn website dựa trên các tínhnăng cần phát triển, như quản lý tài khoản người dùng, đăng tin tuyển dụng, tìmkiếm công việc, quản lý hồ sơ người tìm việc

- Xác định kiến trúc phần mềm phù hợp (ví dụ: MVC – Model-View-Controllerhoặc kiến trúc RESTful) để tổ chức mã nguồn một cách logic, dễ quản lý và mởrộng

Thiết kế cấu trúc mã nguồn:

- Thiết kế các lớp và module của hệ thống Ví dụ, chia mã nguồn thành các lớp xử

lý logic (backend), hiển thị giao diện (frontend) và cơ sở dữ liệu (database)

- Sử dụng UML Class Diagrams để mô tả mối quan hệ giữa các thành phần

Chọn ngôn ngữ lập trình và framework:

- Frontend: HTML, CSS, JavaScript kết hợp với framework React.js

- Backend: Node.js

- Database: MySQL

Trang 21

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

4 Cấu trúc của đồ án tốt nghiệp

Mở đầu

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích thiết kế hệ thống

Chương 3: Xây dựng chương trình

Kết luận và hướng phát triển

SVTH:Nguyễn Minh Danh 2

Trang 22

Chương 1

CƠ SỞ LÝ THUYẾT1.1 Lập trình website

Lập trình trang web, còn được gọi là phát triển web hoặc lập trình web, đề cập đếnquá trình tạo và duy trì trang web Nó liên quan đến việc sử dụng các ngôn ngữ lập trình,khung và công cụ để xây dựng cấu trúc, chức năng và giao diện của các trang web có thểtruy cập và tương tác trên internet Lập trình trang web bao gồm cả khía cạnh phía máychủ và phía máy khách của quá trình phát triển web

1.1.2 Ứng dụng Web

- Ứng dụng web là một chương trình phần mềm hoặc ứng dụng chạy trên trìnhduyệt web Nó được thiết kế để thực hiện các chức năng hoặc nhiệm vụ cụ thể vàthường liên quan đến sự tương tác của người dùng

- Các ứng dụng web rất năng động và có thể thay đổi nội dung cũng như phản hồithông tin đầu vào của người dùng trong thời gian thực Họ thường yêu cầu mộtmáy chủ phụ trợ để xử lý và lưu trữ dữ liệu

- Các ứng dụng web sử dụng kết hợp các công nghệ mặt trước (HTML, CSS,JavaScript) cho giao diện người dùng và các công nghệ mặt sau (ngôn ngữ kịchbản phía máy chủ, cơ sở dữ liệu) để xử lý dữ liệu

1.2 Hệ quản trị cơ sở dữ liệu MySQL

- MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và

được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khảchuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm

Trang 23

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho cácứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQLmiễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khácnhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

Hình 1.1: Lo go MySQL

- 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)

- MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ

khác, là nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHPhay Perl,

1.3 HTML,CSS

1.3.1 HTML

Đây là một ngôn ngữ đánh dấu được sử dụng để xây dựng và cấu trúc nội dung củacác trang web HTML định rõ các phần tử và cấu trúc của một trang web, giúp trìnhduyệt web hiểu cách hiển thị thông tin cho người dùng

Hình 1.1: Logo HTML

SVTH:Nguyễn Minh Danh 2

Trang 24

1.4.2 Đặc điểm

- Ngôn ngữ đa nhiệm (Multi-paradigm):

- JavaScript là một ngôn ngữ đa mô hình, hỗ trợ cả lập trình hàm (functionalprogramming) và lập trình hướng đối tượng (object-oriented programming).Điều này giúp nó thích ứng được với nhiều phong cách lập trình

- Client-Side Scripting:

- Chủ yếu được sử dụng trên trình duyệt web để thực thi mã nguồn JavaScript trựctiếp trên máy khách (client-side), giúp tạo ra trang web động và tương tác

- Kiểu Dữ Liệu Động (Dynamic Typing):

- JavaScript là một ngôn ngữ có kiểu dữ liệu động, nghĩa là kiểu của biến có thểthay đổi trong quá trình thực thi

- Event-Driven Programming(lập trình hướng sự kiện):

Trang 25

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

- JavaScript thường được sử dụng để xử lý sự kiện từ người dùng (như clickchuột, nhấn phím), với khả năng thực hiện các hành động phản ứng khi có sựkiện xảy ra

- DOM Manipulation (Tương Tác với DOM):

- JavaScript có khả năng tương tác với DOM, cho phép thay đổi nội dung và cấutrúc của trang web Điều này làm cho nó có thể thực hiện các thay đổi động màkhông cần tải lại toàn bộ trang

- Asynchronous Programming(lập trình bất đồng bộ):

- Hỗ trợ cơ chế bất đồng bộ thông qua callback, promises, và async/await Điềunày cho phép thực hiện các tác vụ như gửi yêu cầu HTTP và xử lý dữ liệu màkhông làm đơ giao diện người dùng

- Cộng Đồng Phong Phú và Ecosystem Lớn:

- JavaScript có một cộng đồng phát triển lớn và sôi động, với nhiều framework vàthư viện như React, Angular, Vue.js, Node.js, giúp tạo ra nhiều công cụ và tàinguyên phong phú cho các nhà phát triển

- Cross-platform Compatibility(khả năng đa nền tảng):

- JavaScript có khả năng chạy trên nhiều nền tảng khác nhau, không chỉ trong môitrường trình duyệt web mà còn trên máy chủ thông qua

Hình 1.1: Logo JavaScript

1.5 ReacJS

ReactJS là một thư viện JavaScript mã nguồn mở dùng để xây dựng các thành phầngiao diện người dùng có thể tái sử dụng Nó chỉ chịu trách nhiệm về lớp hiển thị hoặcgiao diện người dùng của ứng dụng Một ứng dụng ReactJS được tạo thành từ nhiều

SVTH:Nguyễn Minh Danh 4

Trang 26

thành phần, mỗi thành phần chịu trách nhiệm xuất một đoạn mã HTML nhỏ, có thể tái sửdụng Các thành phần này có thể lồng vào nhau để cho phép xây dựng các ứng dụng phứctạp từ các khối xây dựng đơn giản (Training, 2021)

Hình 1.1: Logo ReactJS

1.6 NodeJS

NodeJS là một môi trường runtime chạy JavaScript đa nền tảng và có mã nguồn mở,được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client Nền tảng nàyđược phát triển bởi Ryan Dahl vào năm 2009, được xem là một giải pháp hoàn hảo chocác ứng dụng sử dụng nhiều dữ liệu nhờ vào mô hình hướng sự kiện (event-driven)không đồng bộ

Ưu điểm của NodeJS:

- IO hướng sự kiện không đồng bộ, cho phép xử lý nhiều yêu cầu đồng thời

- Sử dụng JavaScript – một ngôn ngữ lập trình dễ học

- Chia sẻ cùng code ở cả phía client và server

- NPM (Node Package Manager) và module Node đang ngày càng phát triểnmạnh mẽ

- Cộng đồng hỗ trợ tích cực •

- Cho phép stream các file có kích thước lớn

Hình 1.1: Logo NodeJS

Trang 27

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

1.7 ExpressJS

Expressjs là một framework được xây dựng trên nền tảng của Nodejs Nó cung cấpcác tính năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ các methodHTTP và middleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng

Hình 1.1: Logo ExpressJS

1.8 API

API là viết tắt của "Application Programming Interface" (Giao diện Lập trình Ứngdụng) Nó là một tập hợp các quy tắc và công cụ cho phép các phần mềm khác nhau giaotiếp và tương tác với nhau API là một cách để các ứng dụng và dịch vụ khác nhau chia sẻ

dữ liệu và chức năng mà không cần biết chi tiết cài đặt nội bộ của nhau

RESTful API là một dạng của Web API, sử dụng giao thức HTTP để thực hiện cácthao tác CRUD (Create, Read, Update, Delete) Các tài nguyên được định danh bằng cácURI (Uniform Resource Identifiers), và truy cập thông qua các phương thức HTTP nhưGET, POST, PUT, DELETE

- Authentication: Xác minh danh tính của người gửi yêu cầu

- Authorization: Quyết định xem người gửi yêu cầu có quyền truy cập hay không

SVTH:Nguyễn Minh Danh 6

Trang 28

Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG2.1 Liệt kê Actor và Usecase

- Tìm kiếm công việc

- Xem thông tin tuyển dụng

- Lưu công việc yêu thích

- Xem công việc đã ứng tuyển

Trang 29

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

- Đăng tin tuyển dụng

- Cập nhật thông tin công ty

- Báo cáo thống kê

- Duyệt tin tuyển dụng

- Duyệt thông tin nhà tuyển dụng

- Cập nhật tin tuyển dụng

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát 8

Trang 30

2.2 Sơ đồ usecase

2.2.1 Sơ đồ tổng quát

Hình 2.1: Sơ đồ Use Case

2.2.2 Đặc tả usecase

2.2.2.1 Use case Đăng nhập

Mô tả Người dùng đăng nhập vào hệ thống

Đầu ra Đăng nhập thành công vào hệ thống

Luồng sự kiện chính 1.Người dùng truy cập vào trang chủ

2.Người truy cập chọn Đăng nhập3.Hệ thống hiển thị giao diện đăng nhập4.Người dùng nhập email và mật khẩu5.Người dùng nhấn Đăng nhập

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát

Trang 31

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

2.2.2.2 Use case Đăng ký

Mô tả Người dùng đăng tin tuyển dụng lên hệ thống

Đầu ra Nhà tuyển dụng sẽ nhận được thông báo rằng tin

tuyển dụng đang trong trạng thái "chờ duyệt"

Luồng sự kiện chính 1.Người dùng truy cập vào trang chủ

2.Người chọn Đăng nhập/Đăng ký3.Người dùng chọn Đăng ký3.Hệ thống hiển thị giao diện đăng ký4.Người dùng nhập email,username,mật khẩu5.Người dùng nhấn Đăng ký

2.2.2.3 Use Case Đăng tin tuyển dụng

Mô tả Người dùng đăng tin tuyển dụng lên hệ thống

Đầu ra Nhà tuyển dụng sẽ nhận được thông báo rằng tin

tuyển dụng đang trong trạng thái "chờ duyệt"

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người truy cập vào Quản lý tin tuyển dụng3.Người dùng nhấn vào Tạo tin tuyển dụng4.Hệ thống hiển thị giao diện đăng tuyển dụng5.Người dùng nhập các thông tin cần thiết6.Người dùng nhấn Đăng tin

7.Hệ thống thông báo đang chờ duyệt

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát 10

Trang 32

2.2.2.4 Use case Sửa tin tuyển dụng

Mô tả Người dùng sửa bài đăng tin tuyển dụng trên hệ

thống

Đầu vào Tin tuyển dụng cần sửa

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người truy cập vào Quản lý tin tuyển dụng3.Người dùng chọn Các tin

4.Người dùng chọn Chỉnh sửa ở dòng khóa học cầnsửa

5.Hệ thống hiển thị biểu mẫu thông tin cần sửa6.Nguời dùng sửa thông tin cần sửa

5.Người dùng chọn Sửa

2.2.2.5 Use case Xóa tin tuyển dụng

Mô tả Người dùng xóa tin tuyển dụng trên hệ thống

Đầu ra Xóa tin tuyển dụng thành công

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người truy cập vào Quản lý tin tuyển dụng3.Người dùng chọn Các tin tuyển dụng4.Người dùng chọn Xóa ở dòng tin tuyển dụng cầnxóa

5.Hệ thống thông báo xóa thành công

2.2.2.6 Use case Duyệt tin tuyển dụng

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát

Trang 33

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

Mô tả Người dùng đã đăng nhập và muốn duyệt tin tuyển

dụng

Luồng sự kiện chính 1.Người dùng truy cập trang admin

2.Người dùng chọn Quản lý tin tuyển dụng3.Chọn trạng thái chờ duyệt

4.Chọn duyệt cho tin cần duyệt

5 Hệ thông thông báo duyệt thành công

2.2.2.7 Use case Xem thông tin tuyển dụng

Mô tả Người dùng muốn xem thông tin tuyển dụng

Đầu vào Yêu cầu xem thông tin tuyển dụng

Luồng sự kiện 1.Người dùng truy cập trang chủ

2.Người dùng nhấn vào tin tuyển dụng cần xem3.Hệ thống sẽ hiện thông tin

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát 12

Trang 34

2.2.2.8 Use case Tạo hồ sơ

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người nhấn vào tên người dùng3.Người dùng chọn Hồ sơ

4.Người dùng nhấn Tạo hồ sơ5.Hệ thống hiển thị giao diện tạo hồ sơ6.Người dùng nhập thông tin cần thiết7.Người dùng chọn Lưu

2.2.2.9 Use Case Nộp hồ sơ ứng tuyển

Mô tả Người dùng đã đăng nhập và muốn nộp đơn ứng

tuyển vào một công việc

Đầu vào Thông tin tài khoản ứng viên, thông tin công việc,

hồ sơ ứng viênĐầu ra Đơn ứng tuyển, thông báo cho nhà tuyển dụng, và

cập nhật trạng thái ứng tuyển của ứng viên

Luồng sự kiện 1.Người dùng đăng nhập

2.Người dùng nhấn vào công việc để xem thông tintuyển dụng

3.Hệ thống hiển thị giao diện thông tin tuyển dụng4.Người dùng chọn Nộp hồ sơ

5.Hệ thống gửi thông tin đến nhà tuyển dụng vàthông báo ứng tuyển thành công

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát

Trang 35

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

2.2.2.10 Use Case Xem công việc đã ứng tuyển

Mô tả Người dùng đã đăng nhập và muốn xem các công

việc đã ứng tuyển

Đầu vào Yêu cầu xem công việc đã ứng tuyển

Đầu ra Danh sách các công việc đã ứng tuyển với Trạng

thái hiện tại của từng đơn ứng tuyển

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người dùng nhấn vào tên người dùng3.Người dùng nhấn vào công việc đã ứng tuyển đểxem

4.Hệ thống hiển thị giao diện danh sách công việc

đã ứng tuyển

2.2.2.11 Use Case Xem hồ sơ ứng viên

Mô tả Người dùng đã đăng nhập và muốn xem hồ sơ người

tìm việc đã ứng tuyển

Đầu vào Yêu cầu từ nhà tuyển dụng để xem danh sách và hồ

sơ chi tiết của ứng viên nộp đơn vào một vị trí côngviệc cụ thể

Đầu ra Danh sách các ứng viên đã ứng tuyển vào vị trí công

việc

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người dùng truy cập vào quản lý tin tuyển dụng3.Người dùng nhấn xem hồ sơ

4.Người dùng chọn xem chi tiết5.Hệ thống hiển thị giao diện hồ sơ của người tìmviệc

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát 14

Trang 36

2.2.2.12 Use case Gửi phản hồi ứng tuyển

Mô tả Người dùng đăng tin tuyển dụng lên hệ thống

Đầu ra Nhà tuyển dụng sẽ nhận được thông báo rằng tin

tuyển dụng đang trong trạng thái "chờ duyệt"

Luồng sự kiện chính 1.Người dùng đăng nhập

2.Người truy cập vào Quản lý tin tuyển dụng3.Người dùng chọn Các tin tuyển dụng4.Người dùng nhập Xem hồ sơ vào tin tuyển dụng

có hồ sơ cần phản hồi5.Người dùng chọn Phản hồi ứng tuyển6.Hệ thống hiển thị biểu mẫu phản hồi7.Người dùng nhập thông tin cần thiết8.Người dùng chọn Gửi phản hồi

2.3 Thiết kế ERD

Sơ đồ ERD

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát

Trang 37

Sử dụng công nghệ NodeJS và ReactJS để thiết kế Website tìm kiếm việc làm IT

Hình 2.1: Sơ đồ ERD

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát 16

Trang 38

2.4 Sơ đồ hoạt động

2.4.1 Đăng tin tuyển dụng

Hình 2.1: Sơ đồ hoạt động Đăng tuyển dụng

SVTH:Nguyễn Minh Danh GVHD:Nguyễn Văn Phát

Ngày đăng: 25/04/2025, 14:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] RestfulAPI. [Online]. Available: https://restfulapi.net/ Sách, tạp chí
Tiêu đề: What is REST?: REST API Tutorial
Tác giả: Lokesh Gupta
Nhà XB: RestfulAPI
Năm: 2025
[4] "NodeJS,"[Online].Available:https://nodejs.org/en/learn/getting-started/introduction-to-nodejs Sách, tạp chí
Tiêu đề: NodeJS
[6] HTML. [Online]. Available: https://www.w3schools.com/Html/ Sách, tạp chí
Tiêu đề: HTML
[7] TailWindCSS. [Online]. Available: https://tailwindui.com/?ref=top Sách, tạp chí
Tiêu đề: Official Tailwind UI Components & Templates - Tailwind Plus
Nhà XB: Tailwind Labs Inc.
Năm: 2025
[1] JWT. [Online]. Available: https://jwt.io/ Link
[2] ReatJS,https://react.dev/learn. [Online]. Available: https://react.dev/learn Link
[5] MySQL.[Online].Available:https://www.w3schools.com/MySQL/default.asp Link

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Sơ đồ Use Case - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ Use Case (Trang 30)
Hình 2.1: Sơ đồ ERD - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ ERD (Trang 37)
Hình 2.1: Sơ đồ hoạt động Duyệt tin tuyển dụng - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ hoạt động Duyệt tin tuyển dụng (Trang 39)
Hình 2.1: Sơ đồ hoạt động Tạo hồ sơ - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ hoạt động Tạo hồ sơ (Trang 40)
Hình 2.1: Sơ đồ hoạt động Nộp hồ sơ ứng tuyển - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ hoạt động Nộp hồ sơ ứng tuyển (Trang 42)
Hình 2.1: Sơ đồ tuần tự Đăng tuyển dụng - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ tuần tự Đăng tuyển dụng (Trang 43)
Hình 2.1: Sơ đồ tuần tự nộp hồ sơ ứng tuyển - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ tuần tự nộp hồ sơ ứng tuyển (Trang 46)
Hình 2.1: Sơ đồ tuần tự Thanh toán - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ tuần tự Thanh toán (Trang 47)
Hình 2.1: Sơ đồ trạng thái đăng tuyển dụng - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái đăng tuyển dụng (Trang 48)
Hình 2.1: Sơ đồ trạng thái duyệt bài đăng - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái duyệt bài đăng (Trang 49)
Hình 2.1: Sơ đồ trạng thái Xem thông tin tuyển dụng - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái Xem thông tin tuyển dụng (Trang 49)
Hình 2.1: Sơ đồ trạng thái Xem hồ sơ ứng viên - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái Xem hồ sơ ứng viên (Trang 50)
Hình 2.1: Sơ đồ trạng thái Nộp hồ sơ ứng tuyển - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái Nộp hồ sơ ứng tuyển (Trang 50)
Hình 2.1: Sơ đồ trạng thái thanh toán - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 2.1 Sơ đồ trạng thái thanh toán (Trang 51)
Hình 3.1: Giao diện Admin thống kê Giao diện hiển thị các thống kê tổng của hệ thống - Sử dụng nodejs và reactjs Để thiết kế website tìm kiếm việc làm it
Hình 3.1 Giao diện Admin thống kê Giao diện hiển thị các thống kê tổng của hệ thống (Trang 73)

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

TÀI LIỆU LIÊN QUAN

w