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

Xây dựng website tìm việc IT trên nền tảng mean stack

119 5 0

Đ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

Định dạng
Số trang 119
Dung lượng 5,29 MB

Cấu trúc

  • Page 1

Nội dung

NỘI DUNG

CƠ SỞ LÝ THUYẾT

EXPRESSJS

Trường ĐH Sư Phạm Kỹ Thuật TP HCM

AWS S3

Chương 2: Phân tích và mô hình hóa yêu cầu

Chương 3: Thiết kế ứng dụng

Chương 4: Cài đặt và kiểm thử ứng dụng

STT Thời gian Công việc Ghi chú

1 18/03/2019 – 31/03/2019 Xác định chức năng của ứng dụng và phác thảo ý tưởng

Tham khảo một số ứng dụng cùng đề tài đã có

2 01/04/2019 – 14/04/2019 Tìm hiểu MongoDB, sử dụng mongoose để đơn giản hóa truy vấn Thiết kế cơ sở dữ liệu

3 15/04/2019 – 28/04/2019 Xây dựng server Express để Client có thể gọi REST API Xây dựng front end Angular phần trang web cho admin

4 29/04/2019 – 19/05/2019 Xây dựng front-end Angular phần trang web cho nhà tuyển dụng Tích hợp Elasticsearch vào project

5 20/05/2019 – 02/06/2019 Xây dựng front end Angular phần trang web cho Ứng viên Thay đổi cách lưu file tĩnh (hình ảnh) từ server lên AWS S3

6 03/06/2019 – 09/06/2019 Tổng hợp, viết báo cáo

7 10/06/2019 – 23/06/2019 Trao đổi với GVHD về báo cáo và trang web

TP HCM, ngày 15 tháng 3 năm 2019

Người viết đề cương Ý kiến của giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1

1.2 MỤC ĐÍCH CỦA ĐỀ TÀI 1

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU - ĐỐI TƯỢNG NGHIÊN CỨU - PHẠM VI NGHIÊN CỨU 2

1.4 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC 2

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 TỔNG QUAN VỀ TECHNICAL STACK 3

1.1.2 CÁC THÀNH PHẦN CƠ BẢN CỦA TECHNICAL STACK 3

1.1.3 TẠI SAO TECHNICAL STACK LẠI QUAN TRỌNG 4

1.1.4 CÁCH ĐỂ CHỌN ĐÚNG TECHNICAL STACK 4

1.2 TỔNG QUAN VỀ HỆ THỐNG 5

1.2.1 KHÁI QUÁT VỀ MEAN STACK: 5

1.2.2 CÁC THÀNH PHẦN CỦA MEAN STACK: 6

1.3.2 ĐẶC ĐIỂM GIÚP NODEJS TRỞ NÊN MẠNH MẼ VÀ NỔI BẬT TRÊN THỊ TRƯỜNG GẦN ĐÂY? 7

1.3.3.2 Tại sao lại sử dụng npm? 11

1.4.4 TẠI SAO LẠI SỬ DỤNG EXPRESS TRONG VIỆC QUẢN LÝ REST API 14

1.6.2 TẠI SAO PHẢI SỬ DỤNG ANGULAR TRONG VIỆC PHÁT TRIỂN FRONT-END CỦA WEB APPLICATION 18

1.6.3 NGÔN NGỮ LẬP TRÌNH TYPESCRIPT 19

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU 22

2.2.1 Xác định yêu cầu chức năng hệ thống: 26

2.2.2 Xác định yêu cầu chất lượng: 26

2.2.3 Lược đồ Use case và đặc tả 28

2.2.3.3 Use case Tìm kiếm công việc 33

2.2.3.4 Use case Tìm kiếm công ty 33

2.2.3.5 Use case Cập nhật thông tin cá nhân 34

2.2.3.6 Use case Cập nhật thông tin CV ứng viên 34

2.2.3.7 Use case Xem thông tin công ty 35

2.2.3.8 Use case Xem thông tin mô tả công việc 35

2.2.3.9 Use case Apply công việc: 36

2.2.3.10 Use case Viết review về công ty 37

2.2.3.11 Use case Cập nhật thông tin tài khoản doanh nghiệp 37

2.2.3.12 Use case Thêm bài viết tuyển dụng 38

2.2.3.13 Use case Sửa bài viết tuyển dụng 38

2.2.3.14 Use case Xóa bài viết tuyển dụng 39

2.2.3.15 Use case Xem bài viết tuyển dụng 40

2.2.3.16 Use case Xem thông tin ứng viên apply tin tuyển dụng 41

2.2.3.17 Use case Xem tất cả review về công ty 41

2.2.3.18 Use case Quản lý tất cả nhà tuyển dụng 42

2.2.3.19 Use case Quản lý tất cả ứng viên 42

2.2.3.20 Use case Thống kê xu hướng lập trình viên 43

2.2.3.21 Use case Thống kê xu hướng việc làm 44

CHƯƠNG 3: THIẾT KẾ ỨNG DỤNG 45

3.1.3 Nghiệp vụ: Tìm kiếm công việc, công ty 47

3.1.4 Nghiệp vụ: Cập nhật thông tin cá nhân, tài khoản doanh nghiệp, CV cá nhân 48

3.1.5 Nghiệp vụ: Apply công việc 49

3.1.6 Nghiệp vụ: Viết review về công ty 49

3.1.7 Nghiệp vụ: Thêm bài viết tuyển dụng 50

3.1.8 Nghiệp vụ: Sửa bài viết tuyển dụng 51

3.1.9 Nghiệp vụ: Xóa bài viết tuyển dụng 52

3.1.10 Nghiệp vụ: Xem bài viết tuyển dụng 53

3.1.11 Nghiệp vụ: Quản lý tất cả nhà tuyển dụng, ứng viên 54

3.2.2 Mô tả cơ sở dữ liệu 56

3.3.3 Lược đồ Tìm kiếm công việc, công ty 63

3.3.4 Lược đồ Cập nhật thông tin cá nhân, CV cá nhân 63

3.3.5 Lược đồ Cập nhật thông tin tài khoản doanh nghiệp 64

3.3.6 Lược đồ Apply công việc 64

3.3.7 Lược đồ Viết review về công ty 64

3.3.8 Lược đồ Thêm bài viết tuyển dụng 65

3.3.9 Lược đồ Sửa bài viết tuyển dụng 65

3.3.10 Lược đồ Xóa bài viết tuyển dụng 66

3.3.11 Lược đồ Xem bài viết tuyển dụng, thông tin ứng viên apply tin tuyển dụng 66

3.3.12 Lược đồ Quản lý tất cả nhà tuyển dụng, ứng viên 67

3.3.13 Lược đồ Thống kê xu hướng lập trình viên, công việc 67

3.4.1 Màn hình Đăng ký tài khoản ứng viên 68

3.4.2 Màn hình Đăng ký tài khoản nhà tuyển dụng 69

3.4.5 Màn hình Tìm kiếm công ty 72

3.4.6 Màn hình Chi tiết thông tin nhà tuyển dụng 74

3.4.7 Màn hình Review về nhà tuyển dụng 76

3.4.8 Màn hình Chi tiết bài viết tuyển dụng 77

3.4.9 Màn hình Thống kê bài viết tuyển dụng 78

3.4.10 Màn hình Tạo bài viết tuyển dụng 80

3.4.11 Màn hình Cập nhật CV của ứng viên 80

3.4.12 Màn hình Chỉnh sửa thông tin cá nhân 81

3.4.13 Màn hình Trang cá nhân của ứng viên 82

3.4.14 Màn hình Xem review của công ty 84

3.4.15 Màn hình Xem mô tả về công ty 84

3.4.16 Màn hình Xem nhanh bài viết tuyển dụng 84

3.4.17 Màn hình Xem danh sách ứng viên apply 85

3.4.18 Màn hình Quản lý ứng viên của admin 86

3.4.19 Màn hình Quản lý nhà tuyển dụng của admin 87

3.4.20 Màn hình Thống kê xu hướng lập trình viên 88

3.4.21 Màn hình Thống kê xu hướng việc làm 88

CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 89

Hình 1: Tổng quan về hệ thống 5

Hình 2: Multi thread trên hệ thống cũ 8

Hình 7: Thiết kế REST API 14

Hình 8: Mô hình hoạt động mongoose 17

Hình 14: Lược đồ Use Case 28

Hình 15: Lược đồ DFD của nghiệp vụ Đăng ký 45

Hình 16: Lược đồ DFD của nghiệp vụ Đăng nhập 46

Hình 17: Lược đồ DFD của nghiệp vụ Tìm kiếm công việc, công ty 47

Hình 18: Lược đồ DFD của nghiệp vụ Cập nhật thông tin cá nhân, tài khoản doanh nghiệp, CV cá nhân 48

Hình 19: Lược đồ DFD của nghiệp vụ Apply công việc 49

Hình 20: Lược đồ DFD của nghiệp vụ Viết review về công ty 50

Hình 21: Lược đồ DFD của nghiệp vụ Thêm bài viết tuyển dụng 51

Hình 22: Lược đồ DFD của nghiệp vụ: Sửa bài viết tuyển dụng 52

Hình 23: Lược đồ DFD của nghiệp vụ Xóa bài viết tuyển dụng 53

Hình 24: Lược đồ DFD của nghiệp vụ Xem bài viết tuyển dụng 53

Hình 25: Lược đồ DFD của nghiệp vụ Quản lý tất cả nhà tuyển dụng, ứng viên 54

Hình 26: Ví dụ về dữ liệu noSQL 55

Hình 27: Lược đồ quan hệ của database schema 56

Hình 28: Lược đồ tuần tự Đăng kí 62

Hình 29: Lược đồ tuần tự Đăng nhập 63

Hình 30: Lược đồ tuần tự Tìm kiếm công việc, công ty 63

Hình 31: Lược đồ tuần tự Cập nhật thông tin cá nhân, CV cá nhân 64

Hình 32: Lược đồ tuần tự Cập nhật thông tin tài khoản doanh nghiệp 64

Hình 33: Lược đồ tuần tự Apply công việc 64

Hình 34: Lược đồ tuần tự Viết review về công ty 65

Hình 35: Lược đồ tuần tự Thêm bài viết tuyển dụng 65

Hình 36: Lược đồ tuần tự Sửa bài viết tuyển dụng 66

Hình 37: Lược đồ tuần tự Xóa bài viết tuyển dụng 66

Hình 38: Lược đồ tuần tự Xem bài viết tuyển dụng, thông tin ứng viên apply tin tuyển dụng 67

Hình 39: Lược đồ tuần tự Quản lý tất cả nhà tuyển dụng, ứng viên 67

Hình 40: Lược đồ tuần tự Thống kê xu hướng lập trình viên, công việc 68

Hình 41: Màn hình Đăng ký tài khoản ứng viên 68

Hình 42: Sơ đồ biến cố màn hình Đăng ký tài khoản ứng viên 69

Hình 43: Màn hình Đăng ký tài khoản nhà tuyển dụng 69

Hình 44: Sơ đồ biến cố màn hình Đăng ký tài khoản nhà tuyển dụng 70

Hình 45: Màn hình Đăng nhập 70

Hình 46: Sơ đồ biến cố màn hình Đăng nhập 71

Hình 47: Màn hình Trang chủ 72

Hình 48: Sơ đồ biến cố màn hình Trang chủ 72

Hình 49: Màn hình Tìm kiếm công ty 73

Hình 50: Sơ đồ biến cố màn hình Trang tìm kiếm công ty 74

Hình 51: Màn hình Chi tiết thông tin nhà tuyển dụng 75

Hình 52: Sơ đồ biến cố trong màn hình Chi tiết thông tin nhà tuyển dụng 76

Hình 53: Màn hình review về nhà tuyển dụng 76

Hình 54: Màn hình Chi tiết bài viết tuyển dụng 77

Hình 55: Sơ đồ biến cố màn hình Chi tiết bài viết tuyển dụng 78

Hình 56: Màn hình Thống kê bài viết tuyển dụng 78

Hình 57: Sơ đồ biến cố màn hình Thống kê bài viết tuyển dụng 79

Hình 58: Màn hình Tạo bài viết tuyển dụng 80

Hình 59: Sơ đồ biến cố màn hình Tạo bài viết tuyển dụng 80

Hình 60: Màn hình Cập nhật CV của ứng viên 81

Hình 61: Sơ đồ biến cố màn hình Cập nhật CV của ứng viên 81

Hình 62: Màn hình Chỉnh sửa thông tin cá nhân 82

Hình 63: Sơ đồ biến cố màn hình Chỉnh sửa thông tin cá nhân 82

Hình 64: Màn hình Trang cá nhân của ứng viên 83

Hình 65: Sơ đồ biến cố màn hình Trang cá nhân của ứng viên 84

Hình 66: Màn hình Xem review của công ty 84

Hình 67: Màn hình Xem mô tả về công ty 84

Hình 68: Màn hình Xem nhanh bài viết tuyển dụng 85

Hình 69: Màn hình Xem danh sách ứng viên apply 85

Hình 70: Sơ đồ biến cố màn hình Xem danh sách ứng viên apply 86

Hình 71: Màn hình Quản lý ứng viên của admin 86

Hình 72: Sơ đồ biến cố màn hình Quản lý ứng viên của admin 87

Hình 73: Màn hình Quản lý nhà tuyển dụng của admin 87

Hình 74: Sơ đồ biến cố màn hình Quản lý nhà tuyển dụng của admin 88

Hình 75: Màn hình Thống kê xu hướng lập trình viên 88

Hình 76: Màn hình Thống kê xu hướng việc làm 88

Hình 78: Giao diện Visual Studio Code 90

Hình 79: Màn hình Intergrate Command Line 90

Hình 80: Màn hình CLI chạy ứng dụng Angular 91

Hình 81: Màn hình CLI chạy Express 91

Hình 82: Kết quả chạy thành công Angular và Express 91

Bảng 1: Xác định yêu cầu chức năng hệ thống 26

Bảng 2: Xác định yêu cầu chất lượng 26

Bảng 3: Nhận diện tác nhân và chức năng 28

Bảng 4: Mô tả chức năng website tìm kiếm việc làm IT 29

Bảng 5: Use case Đăng ký 31

Bảng 6: Use case Đăng nhập 32

Bảng 7: Use case Tìm kiếm công việc 33

Bảng 8: Use case Tìm kiếm công ty 33

Bảng 9: Use case Cập nhật thông tin cá nhân ứng viên 34

Bảng 10: Use case Cập nhật thông tin CV ứng viên 34

Bảng 11: Use case Xem thông tin công ty 35

Bảng 12: Use case xem thông tin mô tả công việc 35

Bảng 13: Use case Apply công việc 36

Bảng 14: Use case Viết review về công ty 37

Bảng 15: Use case Cập nhật thông tin tài khoản doanh nghiệp 37

Bảng 16: Use case Thêm bài viết tuyển dụng 38

Bảng 17: Use case Sửa bài viết tuyển dụng 39

Bảng 18: Use case Xóa bài viết tuyển dụng 39

Bảng 19: Use case Xem bài viết tuyển dụng 40

Bảng 20: Use case Xem thông tin ứng viên apply tin tuyển dụng 41

Bảng 21: Use case Xem tất cả review về công ty 41

Bảng 22: Use case Quản lý tất cả nhà tuyển dụng 42

Bảng 23: Use case quản lý tất cả ứng viên 43

Bảng 24: Use case Thống kê xu hướng lập trình viên 43

Bảng 25: Use case Thống kê xu hướng việc làm 44

Bảng 26: Bảng mô tả sơ đồ DFD của nghiệp vụ Đăng ký 45

Bảng 27: Bảng thuật toán của nghiệp vụ Đăng ký 45

Bảng 28: Bảng mô tả sơ đồ DFD nghiệp vụ Đăng nhập 46

Bảng 29: Bảng thuật toán của nghiệp vụ Đăng nhập 46

Bảng 30: Bảng mô tả sơ đồ DFD của nghiệp vụ Tìm kiếm công việc, công ty 47

Bảng 31: Bảng thuật toán của nghiệp vụ Tìm kiếm công việc, công ty 47

Bảng 32: Bảng mô tả sơ đồ DFD của nghiệp vụ Cập nhật thông tin cá nhân, tài khoản doanh nghiệp,

Bảng 33: Bảng thuật toán của nghiệp vụ Cập nhật thông tin cá nhân, tài khoản doanh nghiệp, CV cá nhân 48

Bảng 34: Bảng mô tả sơ đồ DFD của nghiệp vụ Apply công việc 49

Bảng 35: Bảng thuật toán của nghiệp vụ Apply công việc 49

Bảng 36: Bảng mô tả sơ đồ DFD của nghiệp vụ Viết review về công ty 50

Bảng 37: Bảng thuật toán của nghiệp vụ Viết review về công ty 50

Bảng 38: Bảng mô tả sơ đồ DFD của nghiệp vụ Thêm bài viết tuyển dụng 51

Bảng 39: Bảng thuật toán của nghiệp vụ Thêm bài viết tuyển dụng 51

Bảng 40: Bảng mô tả sơ đồ DFD của nghiệp vụ Sửa bài viết tuyển dụng 52

Bảng 41: Bảng thuật toán của nghiệp vụ Sửa bài viết tuyển dụng 52

Bảng 42: Bảng mô tả sơ đồ DFD của nghiệp vụ Xóa bài viết tuyển dụng 53

Bảng 43: Bảng thuật toán của nghiệp vụ Xóa bài viết tuyển dụng 53

Bảng 44: Bảng mô tả sơ đồ DFD của nghiệp vụ Xem bài viết tuyển dụng 54

Bảng 45: Bảng thuật toán của nghiệp vụ Xem bài viết tuyển dụng 54

Bảng 46: Bảng mô tả sơ đồ DFD của nghiệp vụ Quản lý tất cả nhà tuyển dụng, ứng viên 54

Bảng 47: Bảng thuật toán của nghiệp vụ Quản lý tất cả nhà tuyển dụng, ứng viên 55

Bảng 48: Bảng thuộc tính Candidate 56

Bảng 49: Bảng thuộc tính Resume 57

Bảng 50: Bảng thuộc tính Recruiter 58

Bảng 51: Bảng thuộc tính Authencation 59

Bảng 52: Bảng thuộc tính Article 59

Bảng 53: Bảng thuộc tính Review 60

Bảng 54: Bảng thuộc tính Tag 61

Bảng 55: Bảng thuộc tính ReportTag 61

Bảng 56: Đối tượng trong màn hình Đăng ký tài khoản ứng viên 68

Bảng 57: Đối tượng trong màn hình Đăng ký tài khoản nhà tuyển dụng 69

Bảng 58: Đối tượng trong màn hình Đăng nhập 71

Bảng 59: Đối tượng trong màn hình Trang chủ 72

Bảng 60: Đối tượng trong màn hình Trang tìm kiếm công ty 73

Bảng 61: Đối tượng trong màn hình Chi tiết thông tin nhà tuyển dụng 75

Bảng 62: Đối tượng trong màn hình Review về nhà tuyển dụng 77

Bảng 63: Đối tượng trong màn hình Chi tiết bài viết tuyển dụng 78

Bảng 64: Đối tượng trong màn hình Thống kê bài viết tuyển dụng 79

Bảng 65: Đối tượng trong màn hình Tạo bài viết tuyển dụng 80

Bảng 66: Đối tượng trong màn hình Cập nhật CV của ứng viên 81

Bảng 67: Đối tượng trong màn hình Chỉnh sửa thông tin cá nhân 82

Bảng 68: Đối tượng trong màn hình Trang cá nhân của ứng viên 83

Bảng 69: Đối tượng trong màn hình Xem danh sách ứng viên apply 85

Bảng 70: Đối tượng trong màn hình Quản lý ứng viên của admin 86

Bảng 71: Đối tượng trong màn hình Quản lý nhà tuyển dụng của admin 87

Bảng 72: Kiểm thử ứng dụng 92

Phần 1: MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Trong bối cảnh nhiều ngành nghề như kinh tế, tài chính, ngân hàng đã bão hòa và dư thừa lao động, câu hỏi "Học gì để ra trường có việc làm ngay?" trở thành mối quan tâm hàng đầu của phụ huynh và học sinh Theo Bộ Thông tin và Truyền thông, Việt Nam sẽ thiếu hụt hơn 500.000 nhân sự IT vào năm 2020 Sự phát triển của Cách mạng 4.0 và sự bùng nổ của công nghệ đã tạo ra nhu cầu cao về nguồn nhân lực trong lĩnh vực CNTT.

Ông Nguyễn Việt Quang, phó chủ tịch kiêm tổng giám đốc Tập đoàn Vingroup, cho biết Việt Nam sẽ sở hữu thung lũng Silicon tiếp theo của thế giới Điều này cho thấy rằng thế hệ trẻ và sinh viên Việt Nam mang trong mình trọng trách quan trọng trong việc nâng cao vị thế của công nghệ Việt Nam trên trường quốc tế.

Xu hướng phần mềm hiện nay dành cho người dùng cá nhân và doanh nghiệp nhỏ là portable và cross-platform Phần mềm ngày càng được sử dụng linh hoạt, cho phép người dùng truy cập mọi lúc mọi nơi, đồng thời phản hồi nhanh chóng với các thao tác và xử lý luồng dữ liệu lớn Do đó, việc học hỏi các công nghệ mới để lập trình phần mềm trở nên thiết yếu nhằm đáp ứng nhu cầu tuyển dụng trong tương lai.

Ngày nay, lập trình web được chia thành hai mảng chính: Front-end và Back-end Việc học Full-stack, bao gồm cả Front-end và Back-end, giúp sinh viên và người đi làm có nhiều cơ hội việc làm hơn, đồng thời mang lại cái nhìn tổng thể về lĩnh vực lập trình web.

Với các lý do trên, đề tài luận án được chọn là “Xây dựng website tìm việc IT trên nền tảng Mean Stack”

1.2 MỤC ĐÍCH CỦA ĐỀ TÀI

Tìm hiểu về MEAN Stack giúp xây dựng website hoàn chỉnh theo chuẩn Single Page Application, kết hợp với cơ sở dữ liệu không quan hệ (noSQL) Việc áp dụng các công nghệ từ bên thứ ba như Amazon Web Service, Elasticsearch và Google Service sẽ làm phong phú thêm dự án Qua đó, người học có cơ hội rèn luyện kỹ năng tích hợp công nghệ từ bên thứ ba vào ứng dụng.

Xây dựng một trang web tìm kiếm việc làm cần phải đảm bảo giao diện đẹp, thân thiện với người dùng, dễ sử dụng và có tốc độ phản hồi nhanh chóng.

1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU - ĐỐI TƯỢNG NGHIÊN CỨU - PHẠM VI NGHIÊN CỨU

Tiếp cận đề tài bằng cách nghiên cứu kiến thức lý thuyết qua tài liệu trực tuyến, khóa học online và video hướng dẫn Từ đó, tổng hợp kiến thức lý thuyết để xây dựng một ứng dụng thực tiễn, giúp hiểu rõ và sâu sắc hơn về đối tượng nghiên cứu.

MEAN stack là một bộ công nghệ phát triển web mạnh mẽ bao gồm bốn thành phần chính: MongoDB, ExpressJS, Angular và NodeJS MongoDB là cơ sở dữ liệu NoSQL linh hoạt, trong khi ExpressJS là framework cho NodeJS giúp xây dựng ứng dụng web nhanh chóng Angular là framework phía client cho phép phát triển ứng dụng Single Page Application (SPA) mượt mà, và NodeJS là môi trường chạy JavaScript trên server Mỗi thành phần có những đặc điểm, ưu điểm và nhược điểm riêng, như khả năng mở rộng và hiệu suất cao của NodeJS, hay tính năng mạnh mẽ của Angular trong việc xử lý giao diện người dùng TypeScript, một ngôn ngữ lập trình superset của JavaScript, thường được sử dụng để tăng cường tính bảo trì và an toàn cho mã nguồn Để bảo mật web và cơ sở dữ liệu, các biện pháp như mã hóa và xác thực cần được triển khai Cuối cùng, trình duyệt web hoạt động bằng cách gửi yêu cầu đến server và nhận phản hồi để hiển thị nội dung cho người dùng trong các ứng dụng SPA.

Integrating third-party services such as AWS S3 for storage, Elasticsearch for search capabilities, and MongoDB Atlas for cloud database management can significantly enhance your application's performance and scalability By leveraging these powerful tools, developers can streamline data storage, improve search efficiency, and utilize a robust cloud database solution, ensuring a seamless user experience and efficient resource management.

Nghiên cứu này tập trung vào lý thuyết về MEAN stack thông qua việc khai thác tài liệu trực tuyến Mục tiêu là xây dựng một ứng dụng tìm việc dành cho những người học công nghệ thông tin.

1.4 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

 Về lý thuyết hiểu rõ về các thành phần của MEAN Stack và cách sử dụng phát triển từng thành phần riêng biệt

 Xây dựng một cơ sở dữ liệu phong phú, đáp ứng được những nghiệp vụ tuyển dụng và xin việc

 Xây dựng được một ứng dụng giao diện đẹp, dễ sử dụng, tốc độ phản hồi người dùng nhanh và không tốn nhiều tài nguyên khi thực thi

Mã nguồn cần phải rõ ràng, dễ bảo trì và thuận tiện cho việc phát triển sau này Đối với Angular, việc viết theo mô hình MVVM là rất quan trọng, trong khi đó ExpressJS yêu cầu cấu trúc thư mục rõ ràng Các API nên được tổ chức trong từng file riêng biệt để dễ dàng tìm kiếm khi cần thiết.

 Hệ thống quản lý đơn giản, tiện dụng và hiệu quả

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

Phần 2: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 TỔNG QUAN VỀ TECHNICAL STACK

“Technical Stack”, “Technology Stack”, “Solution Stack” hay đơn giản là “Tech Stack” là những thuật ngữ chỉ tập hợp các nền tảng, phần mềm, cơ sở dữ liệu và công nghệ cần thiết cho việc phát triển phần mềm, đặc biệt là phát triển Web.

Technical Stack thường gồm nhiều bộ công nghệ đi chung với nhau, một vài Technical stack thông dụng như:

LAMP Stack (Linux, Apache, mySQL, PHP)

LAM Stack (AWS Lambda, Angular, MongoDB)

MEAN Stack (MongoDB, ExpressJS, Angular, NodeJS)

WISA Stack (Window, IIS, SQL Server, ASP.NET) [1]

1.1.2 CÁC THÀNH PHẦN CƠ BẢN CỦA TECHNICAL STACK

Một Technical Stack thường bao gồm:

 Ngôn ngữ lập trình (hoặc là Framework) Front-end

 Ngôn ngữ lập trình (hoặc là Framework) Back-end

Lấy LAMP Stack làm ví dụ, ta có:

 PHP, python (ngôn ngữ lập trình)

Nhiều technical stack sẽ được điều chỉnh theo nhu cầu cụ thể, không nhất thiết phải bao gồm đầy đủ tất cả các chức năng trong "thành phần của Technical Stack" Ví dụ, MEAN stack và LAMP stack có thể thiếu hệ điều hành, cho thấy sự linh hoạt trong việc lựa chọn công nghệ phù hợp với dự án.

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

4 như là một Stack được phát triển hoàn toàn dựa trên “cloud-services” (ứng dụng đám mây)

1.1.3 TẠI SAO TECHNICAL STACK LẠI QUAN TRỌNG Để làm ra một ứng dụng hoàn chỉnh thì việc chỉ viết code thôi chưa đủ, một chương trình hoàn thiện còn phải kèm theo nền tảng hệ điều hành và những phần mềm đi kèm (database, web server,…)

Mỗi ứng dụng đều cần ngôn ngữ lập trình, cơ sở dữ liệu và hệ điều hành nền tảng, nhưng việc chọn lựa Technical Stack là rất quan trọng Mặc dù bề ngoài các ứng dụng có vẻ giống nhau, công nghệ được sử dụng trong phát triển web ảnh hưởng lớn đến hiệu suất và khả năng mở rộng của trang web trong tương lai Các Technical Stack khác nhau sẽ phù hợp với những dự án đặc thù khác nhau, vì vậy việc hiểu rõ mục đích, điểm mạnh và điểm yếu của từng Technical Stack là cần thiết để áp dụng hiệu quả trong từng trường hợp cụ thể.

PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

KHẢO SÁT HIỆN TRẠNG

Hiện nay, nhu cầu tìm việc trong ngành công nghệ thông tin đang tăng cao, đặc biệt trong bối cảnh cuộc cách mạng 4.0 Các trang tuyển dụng trực tuyến trở thành lựa chọn hàng đầu cho nhân lực trong lĩnh vực này, nhờ vào tỷ lệ thành công cao trong việc tìm kiếm việc làm.

Nhận xét riêng về từng trang:

Hình 10: Timviecnhanh Ưu điểm:

 Có nhiều việc làm để lựa chọn

 Giao diện xấu, có quá nhiều chữ trên giao diện

 Trang web được viết bằng công nghệ cũ nên UX không được tốt lắm

 Không dành cho người lần đầu đi tìm việc

 Không có tích hợp tính năng tạo CV vào trong ứng dụng

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Hình 11: ITviec Ưu điểm:

 Tập trung cho ngành nghề IT

 Giao diện đơn giản dễ sử dụng

 Số lượng doanh nghiệp có mặt ở đây lớn nên cơ hội tìm được việc cao

 Giao diện người dùng chưa được bắt mắt

 Số lượng công việc chỉ tập trung ở Hà Nội và thành phố Hồ Chí Minh

 Không có tích hợp tính năng tạo CV vô trong đó

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

 Có đội ngũ kỹ thuật viên và chăm sóc khách hàng cực kì tốt

 Cơ hội tìm thấy công việc cao hơn những trang khác

 Có nhiều cấp độ công việc, từ công nhân, nhân viên cho đến quản lý.

 Có đề xuất dựa trên địa điểm và ngành nghề

 Có tính năng tạo CV

 Số lượng doanh nghiệp có mặt ở đây lớn nên cơ hội tìm được việc cao

 Giao diện sử dụng phức tạp

Hình 13: TopCV Ưu điểm:

 Tính năng tạo CV rất mạnh, đa dạng nhiều mẫu CV

 Trang web hỗ trợ cho việc tạo CV cho riêng từng ngành nghề.

 Có nhiều template tùy biến cho từng vị trí kinh nghiệm

 Tùy biến real-time trên giao diện preview trước khi người dùng đi đến quyết định in CV.

 Có hỗ trợ nhiều gợi ý giúp cho người mới sử dụng dễ dàng hơn trong việc tạo cv.

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

 Tính năng tìm việc không được tốt cho lắm

 Giao diện khá là phức tạp trong việc bố trí những chức năng.

 Giao diện tạo CV còn phức tạp, hơi khó sử dụng cho người dùng lần đầu đi xin việc

 Có quá nhiều template mà không được đánh giá cao từ phía nhà tuyển dụng. Đánh giá chung:

Hiện nay, có rất nhiều trang web tìm việc giúp người dùng tìm kiếm công việc phù hợp Tuy nhiên, hầu hết các trang này vẫn sử dụng công nghệ cũ, dẫn đến khả năng tùy biến và trải nghiệm người dùng chưa được tối ưu.

XÁC ĐỊNH YÊU CẦU

 Thông tin người dùng (ứng viên, nhà tuyển dụng)

 Lưu trữ thông tin của bài đăng tuyển dụng

 Kĩ năng liên quan đến công việc

 Lưu trữ được hình ảnh đại diện

 Cho phép sửa đổi thông tin của người dùng

 Nhà tuyển dụng có thể tạo bài đăng cho mục đích tuyển dụng

 Thuận tiện, dễ sử dụng

 Đẹp, thân thiện người dùng

 Ứng viên có thể tìm kiếm nhà tuyển dụng theo tên, thành phố

 Ứng viên có thể tìm kiếm bài tuyển dụng theo tên nhà tuyển dụng, theo lĩnh vực tùy vào nhu cầu

 Nhà tuyển dụng có thể tìm kiếm ứng viên theo email, theo lĩnh vực

 Admin có thể tìm kiếm nhà tuyển dụng và ứng viên trong danh sách quản lí theo bất cứ trường thông tin nào

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

 Cho phép admin quản lý người dùng (xóa, thống kê)

 Cho phép admin thống kê các công việc theo biểu đồ Ứng dụng của một Single Page Application:

Trang web này sở hữu những đặc điểm nổi bật của một Single Page Application, cho phép người dùng trải nghiệm mượt mà mà không cần tải lại trang mỗi khi chuyển đổi giữa các trang hoặc khi gửi và nhận yêu cầu từ máy chủ.

2.2.1 Xác định yêu cầu chức năng hệ thống:

Bảng 1: Xác định yêu cầu chức năng hệ thống

STT Nội dung Mô tả chi tiết Ghi chú

Chức năng đăng nhập để phân quyền mỗi người dùng với nhau

2 Sao lưu Có thể lưu trữ dữ liệu sau khi nhập Có thể lưu trữ các text, đối tượng, hình ảnh

3 Bảo mật Chống được các tấn công web cơ bản: XSS, SQL injection, clickjacking

2.2.2 Xác định yêu cầu chất lượng:

Bảng 2: Xác định yêu cầu chất lượng

STT Nội dung Tiêu chuẩn

Mô tả chi tiết Ghi chú

1 Cho phép thay đổi linh động các trường, thuộc tính của CV

Người dùng web có thể thay đổi các trường theo nhu cầu (thay đổi tên, thông tin liên lạc, kinh nghiệm làm việc)

Trong ứng dụng lần này, trường email sẽ được để mặc định không thay đổi để tránh xảy ra lỗi về phân quyền trong tương lai

2 Cho phép thay đổi hình ảnh đại diện

Cả ứng viên và nhà tuyển dụng có thể chọn một ảnh bất kì từ máy tính cá nhân để làm ảnh đại diện

Hình ảnh sẽ được lưu trên AWS S3 và trả về một URL, bất cứ ai có đường link đó đều có

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

3 Nhà tuyển dụng có thể xem trước bài đăng ở trang

Dashboard thông qua chức năng preview

Nhà tuyển dụng chỉ phải bấm vào nút "xem trước" ở list bài đăng để xem nhanh bài đăng trên một dialog

4 Ứng viên và nhà tuyển dụng có thể xem thông tin khái quát về bản thân trên trang Profile

Ứng viên và nhà tuyển dụng có thể tiếp cận thông tin lẫn nhau, do đó, việc cung cấp cho ứng viên và nhà tuyển dụng quyền xem trước nội dung thông tin cá nhân là rất cần thiết.

5 Nhà tuyển dụng có thể xem ai đã nộp đơn theo từng bài viết và có thể xem CV chi tiết của người đó

Mỗi bài đăng xe có số lượng người nộp đơn khác nhau

Nhà tuyển dụng có thể xem được thông tin đó một cách khái quát nhất trên màn hình quản lý bài đăng của mình

Admin làm được các chức năng quản lý và thống kê cơ bản

7 Ứng viên có thể review về cty mình đã làm việc

Việc có đánh giá về công ty giúp ứng viên có cái nhìn tổng quát về những doanh nghiệp chưa quen thuộc, từ đó tăng cường sự tự tin trong quyết định ứng tuyển.

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

2.2.3 Lược đồ Use case và đặc tả

Hình 14: Lược đồ Use Case

Nhận diện tác nhân và chức năng trong sơ đồ Use case:

Bảng 3: Nhận diện tác nhân và chức năng

Tìm kiếm công việc Ứng viên Đăng nhập

Cập nhật thông tin cá nhân ứng viên

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Cập nhật thông tin CV ứng viên Tìm kiếm công việc

Tìm kiếm công ty Xem thông tin công ty Xem thông tin mô tả công việc Apply công việc

Viết review về công ty Nhà tuyển dụng Đăng nhập

Cập nhật thông tin tài khoản doanh nghiệp Xem, thêm, sửa, xóa bài viết tuyển dụng Xem lại bài viết đã đăng

Xem thông tin của người apply tin tuyển dụng Xem tất cả review về công ty

Quản lý tất cả các ứng viên Quản lý tất cả nhà tuyển dụng Thống kê xu hướng lập trình viên

Thống kê xu hướng việc làm

Bảng 4: Mô tả chức năng website tìm kiếm việc làm IT

STT Chức năng Mô tả

1 Đăng ký Cho phép đăng ký tài khoản với các vai trò khác nhau như ứng viên, nhà tuyển dụng, admin để sử dụng các chức năng của web

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

2 Đăng nhập Người dùng đăng nhập vào hệ thống để thực hiện việc quản lý các thông tin ứng với các role

3 Tìm kiếm công việc, công ty

Có thể tìm kiếm công việc theo tên công ty, theo chuyên ngành Có thể tìm kiếm công ty theo tên, theo thành phố

4 Quản lý thông tin cá nhân Ứng viên có thể xem và thay đổi thông tin cá nhân của tài khoản

5 Quản lý thông tin CV Ứng viên có thể thêm, chỉnh sửa thông tin CV của bản thân để apply cho nhà tuyển dụng

6 Xem thông tin công ty

Người dùng có thể xem thông tin các công ty tuyển dụng như tên công ty, địa chỉ, tổng quan về công ty, xem review,

7 Xem thông tin mô tả công việc

Nhà tuyển dụng nên cung cấp mô tả chi tiết về công ty để ứng viên có thể dễ dàng tìm hiểu thông tin cần thiết Việc này giúp ứng viên có cái nhìn rõ ràng hơn về môi trường làm việc và giá trị của công ty mà họ quan tâm.

Ứng viên có thể nộp đơn cho các vị trí mà họ cảm thấy phù hợp mà không bị giới hạn số lần nộp Nhà tuyển dụng có khả năng xem danh sách các ứng viên đã ứng tuyển cho từng bài đăng của mình.

Ứng viên có thể viết đánh giá về công ty, bao gồm các yếu tố như sở thích, điều không hài lòng, phúc lợi và được thể hiện qua mức độ hiển thị với số sao Những đánh giá này giúp người khác hiểu rõ hơn về môi trường làm việc và trải nghiệm tại công ty.

10 Quản lý thông tin tài khoản doanh nghiệp

Nhà tuyển dụng có khả năng chỉnh sửa thông tin cá nhân để ứng viên dễ dàng tìm hiểu Thông tin tài khoản doanh nghiệp bao gồm thông tin liên lạc của công ty, khái quát về công ty và các bài đăng liên quan đến doanh nghiệp đó.

11 Tạo bài viết tuyển dụng

Nhà tuyển dụng có thể tạo bài viết để đăng tin tuyển dụng theo nhu cầu của công ty

12 Sửa bài viết tuyển dụng

Nhà tuyển dụng có thể sửa bài viết để đăng tin tuyển dụng theo nhu cầu của công ty

13 Xóa bài viết tuyển dụng

Nhà tuyển dụng có thể xóa bài viết đã đăng theo nhu cầu của công ty

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

14 Xem lại bài viết đã đăng

Nhà tuyển dụng có thể nhanh chóng xem lại bài đăng của mình thông qua nút preview trên trang cá nhân Tính năng này giúp hiển thị bài đăng trong một cửa sổ dialog, mang lại sự thuận tiện cho việc kiểm tra thông tin của doanh nghiệp.

15 Xem thông tin người apply tin tuyển dụng

Nhà tuyển dụng có khả năng xem danh sách ứng viên cho mỗi bài đăng và chi tiết CV của từng người Dựa trên thông tin này, họ sẽ quyết định có tuyển dụng hay không, sau đó tiến hành liên lạc để bắt đầu quá trình tuyển dụng.

16 Xem tất cả review về công ty

Nhà tuyển dụng có thể xem tất cả những đánh giá của mọi người về công ty của mình

17 Quản lý tất cả nhà tuyển dụng

Admin có thể xem tổng số doanh nghiệp, đình chỉ hoạt động của những doanh nghiệp tùy vào nhu cầu

18 Quản lý tất cả các ứng viên

Admin có thể xem tổng số ứng viên, đình chỉ và tái kích hoạt hoạt động của những ứng viên tùy vào nhu cầu

19 Thống kê xu hướng lập trình viên

Admin có thể xem được thống kê về xu hướng kĩ năng của người ứng tuyển ở thời điểm hiện tại

20 Thống kê xu hướng việc làm

Admin có khả năng theo dõi thống kê về xu hướng nhu cầu việc làm mà các nhà tuyển dụng đang tìm kiếm trong thời gian hiện tại.

Bảng 5: Use case Đăng ký

Mô tả Cho phép người dùng đăng ký tài khoản để sử dụng hệ thống

Tác nhân kích hoạt Người dùng (khách)

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Tiền điều kiện Người dùng phải có ý muốn sử dụng hệ thống

1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nếu là doanh nghiệp thì chọn nút “Create Employer Account” để tạo một tài khoản doanh nghiệp Nếu là ứng viên muốn tìm việc thì chọn nút “Create Basic Account” để tạo một tài khoản ứng viên tìm việc

3 Chuyển sang màn hình “Sign up” và nhập các thông tin được yêu cầu:

Nhà tuyển dụng cần cung cấp thông tin như tên công ty, website, thành phố, số điện thoại, email, mật khẩu và xác minh mật khẩu Trong khi đó, ứng viên sẽ điền tên người dùng, số điện thoại, email, mật khẩu và xác minh mật khẩu.

4 Nhấn “Sign up” hoặc Enter

5 Nếu email tồn tại thì sẽ hiện lên “Email đã có người sử dụng”

6 Nếu đăng ký thành công hệ thống sẽ redirect sang trang đăng nhập

Bảng 6: Use case Đăng nhập

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

Tác nhân kích hoạt Người dùng

Tiền điều kiện Người dùng đã có tài khoản đăng kí trước với hệ thống

1 Người dùng truy cập vào trang chủ: http://localhost:4200

3 Chuyển hướng sang màn hình login http://localhost:4200/login và nhập các thông tin yêu cầu: Email, Password

5 Nếu sai mật khẩu thì sẽ hiện lên thông báo “Sai mật khẩu và yêu cầu nhập lại”

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

6 Nếu đăng nhập thành công hệ thống sẽ chuyển hướng sang trang sang trang cá nhân tùy theo role là Ứng viên, Nhà truyển dụng hoặc Admin

2.2.3.3 Use case Tìm kiếm công việc

Bảng 7: Use case Tìm kiếm công việc

Use case Tìm kiếm công việc

Mô tả Cho phép người dùng thay đổi ảnh đại diện theo nhu cầu

Tác nhân kích hoạt Người dùng

Tiền điều kiện Người dùng phải có ý muốn sử dụng hệ thống

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nhấn vào nút “All jobs” trên thanh topbar

3 Chuyển hướng qua màn hình All jobs: http://localhost:4200/all-job

4 Nhập các thông tin người dùng muốn tìm kiếm như: công việc

6 Trang web đã điều hướng sang trang tìm kiếm bài viết và hiển thị danh sách những bài đăng đã được hệ thống tìm thấy

2.2.3.4 Use case Tìm kiếm công ty

Bảng 8: Use case Tìm kiếm công ty

Use case Tìm kiếm công ty

Mô tả Cho phép người dùng thay đổi ảnh đại diện theo nhu cầu

Tác nhân kích hoạt Người dùng

Tiền điều kiện Người dùng phải có ý muốn sử dụng hệ thống

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nhấn vào nút “Companies” trên thanh topbar

3 Chuyển hướng qua màn hình Companies: http://localhost:4200/companies

4 Nhập các thông tin người dùng muốn tìm kiếm như: tên công ty

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

6 Trang web tìm kiếm bài viết và hiển thị danh sách những bài đăng đã được hệ thống tìm thấy

2.2.3.5 Use case Cập nhật thông tin cá nhân

Bảng 9: Use case Cập nhật thông tin cá nhân ứng viên

Use case Cập nhật thông tin cá nhân ứng viên

Mô tả Cho phép ứng viên thay đổi thông tin của CV

Tác nhân kích hoạt Người dùng (ứng viên tìm việc)

Tiền điều kiện Người dùng phải đăng nhập thành công với vai trò là ứng viên tìm việc

Các bước thực hiện 1 Người dùng sau khi đăng nhập thành công với vai trò là ứng viên hệ thống sẽ chuyển hướng sang trang profile: http://localhost:4200/profile/

2 Ở trang profile người dùng click chọn vào button “Edit Profile” sẽ xuất hiện một modal

3 Thay đổi các thông tin cá nhân: Tên, Số điện thoại, Github URL,…

4 Sau khi chỉnh sửa thông tin hoàn tất, nhấn vào nút “Save Changes” để lưu thông tin

2.2.3.6 Use case Cập nhật thông tin CV ứng viên

Bảng 10: Use case Cập nhật thông tin CV ứng viên

Use case Cập nhật thông tin CV ứng viên

Mô tả Cho phép ứng viên cập nhật thông tin CV cá nhân

Tác nhân kích hoạt Người dùng (Ứng viên tìm việc)

Tiền điều kiện Người dùng phải đăng nhập thành công với vai trò ứng viên tìm việc

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Tiến hành đăng nhập theo yêu cầu

3 Đăng nhập thành công trang Profile sẽ hiện ra:

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

4 Người dùng bấm vào nút “Update CV” chuyển hướng đến trang: http://localhost:4200/profile/ @gmail.com/create-cv?edit=true

5 Nhập các thông tin cần thiết cho một CV như: thông tin cá nhân, Experience, Project, Education,

6 Sau khi chỉnh sửa thông tin hoàn tất, nhấn vào nút “Save” để lưu thông tin CV

2.2.3.7 Use case Xem thông tin công ty

Bảng 11: Use case Xem thông tin công ty

Use case Xem thông tin công ty

Người dùng có thể tải xuống thông tin CV dưới dạng PDF và xem thông tin chi tiết về các công ty tuyển dụng, bao gồm tên công ty, địa chỉ, tổng quan về công ty và các đánh giá từ người dùng.

Tác nhân kích hoạt Người dùng (Ứng viên tìm việc, khách, nhà tuyển dụng)

Tiền điều kiện Người dùng phải có ý muốn sử dụng hệ thống

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nhấn vào nút “Companies” chuyển hướng trực tiếp đến trang xem công ty đang tuyển dụng: http://localhost:4200/companies

3 Trên màn hình xuất hiện các công ty đang tuyển dụng, nhấn “Go to” sẽ chuyển hướng đến trang xem thông tin chi tiết công ty đó: http://localhost:4200/company/slack@gmail.com

4 Xem các thông tin của công ty như: tên công ty, địa chỉ, tổng quan về công ty, xem review…

2.2.3.8 Use case Xem thông tin mô tả công việc

Bảng 12: Use case xem thông tin mô tả công việc

Use case Xem thông tin mô tả công việc

Mô tả Cho phép người xem thông tin bài viết tuyển dụng mà các công ty đã đăng

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Tác nhân kích hoạt Người dùng (Ứng viên tìm việc, khách, nhà tuyển dụng)

Tiền điều kiện Người dùng phải có ý muốn sử dụng hệ thống

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Di chuyển màn hình đến phần “Các công ty hàng đầu”

3 Sau khi click chọn bài viết tuyển dụng, sẽ chuyển hướng trực tiếp đến trang: http://localhost:4200/job-description/slack@gmail.com/5cf3364

4 Trên màn hình xuất hiện các thông tin công ty đăng tuyển dụng: vị trí, lương, địa chỉ, tên công ty, mô tả về công việc,

2.2.3.9 Use case Apply công việc:

Bảng 13: Use case Apply công việc

Use case Apply công việc

Mô tả Cho phép ứng viên sau khi tìm kiếm có thể apply công việc để nhà tuyển dụng liên hệ

Tác nhân kích hoạt Người dùng (Ứng viên tìm việc)

Tiền điều kiện Người dùng phải đăng nhập thành công với vai trò là ứng viên tìm việc

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nhấn vào nút login để đăng nhập với vai trò là ứng viên tìm việc

3 Nhấn vào nút “All Jobs” sẽ chuyển hướng trực tiếp đến trang: http://localhost:4200/all-job

4 Di chuyển màn hình đến phần “Các công ty hàng đầu”

5 Sau khi click chọn bài viết tuyển dụng, sẽ chuyển hướng trực tiếp đến trang: http://localhost:4200/job- description/slack@gmail.com/5cf33644ffd5982430b4aeb4

6 Trên màn hình xuất hiện các thông tin công ty đăng tuyển dụng: vị trí, lương, địa chỉ, tên công ty, mô tả về công việc, và nút

“Apply Now” ở góc bên phải

7 Click chọn vào “Apply Now” thông tin của ứng viên sẽ được

CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

37 apply cho nhà tuyển dụng

2.2.3.10 Use case Viết review về công ty

Bảng 14: Use case Viết review về công ty

Use case Viết review về công ty

Mô tả Cho phép ứng viên có thể viết review đánh giá về công ty

Tác nhân kích hoạt Người dùng (Ứng viên tìm việc)

Tiền điều kiện Người dùng phải đăng nhập thành công với vai trò là ứng viên tìm việc

Các bước thực hiện 1 Người dùng truy cập vào trang chủ: http://localhost:4200

2 Nhấn vào nút login để đăng nhập với vai trò là ứng viên tìm việc

3 Nhấn vào nút “Companies” xem công ty đang tuyển dụng

4 Trên màn hình xuất hiện các công ty đang tuyển dụng, nhấn “Go to” sẽ chuyển hướng đến trang xem thông tin chi tiết công ty đó, ví dụ: http://localhost:4200/company/slack@gmail.com

5 Xem các thông tin của công ty như: tên công ty, địa chỉ, tổng quan về công ty, xem review, và nút “Add a review”

6 Nhấn vào nút “Add a review” sẽ chuyển hướng trực tiếp đến trang, ví dụ: http://localhost:4200/review/slack@gmail.com

THIẾT KẾ ỨNG DỤNG

CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG

Ngày đăng: 28/11/2021, 16:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Dave Nevogt - https://blog.hubstaff.com/technology-stack/ Tổng quan về MEAN Stack Sách, tạp chí
Tiêu đề: https://blog.hubstaff.com/technology-stack/
[4] Simmon Holmes, Getting MEAN with Mongo, Express, Angular, and Node Căn bản và bên trong NodeJS Sách, tạp chí
Tiêu đề: Getting MEAN with Mongo, Express, Angular, and Node
[5] Flavio Copes - https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6eSimmon Holmes, Getting MEAN with Mongo, Express, Angular, and Node [6] Priyesh Patel - https://medium.freecodecamp.org/what-exactly-is-node-js-ae36e97449f5 Sách, tạp chí
Tiêu đề: https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e "Simmon Holmes, "Getting MEAN with Mongo, Express, Angular, and Node
[1] Phạm Huy Hoàng - blog toidicodedao - https://toidicodedao.com/2017/05/23/giai-thich-technical-stack-la-gi/ Link
[8] Danstan Onyango, Event-Driven Programming with NodeJS Net and Events, https://blog.cloudboost.io/event-driven-programming-with-nodejs-net-and-events-9e4e14f561f3 Link

HÌNH ẢNH LIÊN QUAN

Bảng 1: Xác định yêu cầu chức năng hệ thống - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 1 Xác định yêu cầu chức năng hệ thống (Trang 42)
CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU - Xây dựng website tìm việc IT trên nền tảng mean stack
2 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU (Trang 44)
3. Chuyển sang màn hình “Sign up” và nhập các thông tin được yêu cầu:  - Xây dựng website tìm việc IT trên nền tảng mean stack
3. Chuyển sang màn hình “Sign up” và nhập các thông tin được yêu cầu: (Trang 48)
Bảng 7: Use case Tìm kiếm công việc Use case Tìm kiếm công việc  - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 7 Use case Tìm kiếm công việc Use case Tìm kiếm công việc (Trang 49)
Bảng 10: Use case Cập nhật thông tin CV ứng viên Use case Cập nhật thông tin CV ứng viên - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 10 Use case Cập nhật thông tin CV ứng viên Use case Cập nhật thông tin CV ứng viên (Trang 50)
Bảng 12: Use case xem thông tin mô tả công việc Use case Xem thông tin mô tả công việc - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 12 Use case xem thông tin mô tả công việc Use case Xem thông tin mô tả công việc (Trang 51)
Bảng 13: Use case Apply công việc Use case Apply công việc - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 13 Use case Apply công việc Use case Apply công việc (Trang 52)
Bảng 14: Use case Viết review về công ty Use case Viết review về công ty - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 14 Use case Viết review về công ty Use case Viết review về công ty (Trang 53)
Bảng 16: Use case Thêm bài viết tuyển dụng Use case Thêm bài viết tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 16 Use case Thêm bài viết tuyển dụng Use case Thêm bài viết tuyển dụng (Trang 54)
4. Nhấn vào “Edit profile” trên màn hình Dashboard 5.Cập nhật thông tin doanh nghiệp  - Xây dựng website tìm việc IT trên nền tảng mean stack
4. Nhấn vào “Edit profile” trên màn hình Dashboard 5.Cập nhật thông tin doanh nghiệp (Trang 54)
Bảng 19: Use case Xem bài viết tuyển dụng Use case Xem bài viết tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 19 Use case Xem bài viết tuyển dụng Use case Xem bài viết tuyển dụng (Trang 56)
CHƯƠNG 2: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU - Xây dựng website tìm việc IT trên nền tảng mean stack
2 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU (Trang 58)
Bảng 27: Bảng thuật toán của nghiệp vụ Đăng ký - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 27 Bảng thuật toán của nghiệp vụ Đăng ký (Trang 61)
B5 Thông báo đăng nhập thành công và vô màn hình chính B6 Thông báo đăng nhập thất bại  - Xây dựng website tìm việc IT trên nền tảng mean stack
5 Thông báo đăng nhập thành công và vô màn hình chính B6 Thông báo đăng nhập thất bại (Trang 63)
CHƯƠNG 3: THIẾT KẾ ỨNG DỤNG - Xây dựng website tìm việc IT trên nền tảng mean stack
3 THIẾT KẾ ỨNG DỤNG (Trang 69)
Bảng 44: Bảng mô tả sơ đồ DFD của nghiệp vụ Xem bài viết tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 44 Bảng mô tả sơ đồ DFD của nghiệp vụ Xem bài viết tuyển dụng (Trang 70)
Bảng 51: Bảng thuộc tính Authencation - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 51 Bảng thuộc tính Authencation (Trang 75)
Bảng 53: Bảng thuộc tính Review - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 53 Bảng thuộc tính Review (Trang 76)
Bảng 54: Bảng thuộc tính Tag - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 54 Bảng thuộc tính Tag (Trang 77)
Hình 41: Màn hình Đăng ký tài khoản ứng viên Các đối tượng trong màn hình: - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 41: Màn hình Đăng ký tài khoản ứng viên Các đối tượng trong màn hình: (Trang 84)
Hình 47: Màn hình Trang chủ Các đối tượng trong màn hình: - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 47: Màn hình Trang chủ Các đối tượng trong màn hình: (Trang 88)
Bảng 61: Đối tượng trong màn hình Chi tiết thông tin nhà tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 61 Đối tượng trong màn hình Chi tiết thông tin nhà tuyển dụng (Trang 91)
Hình 51: Màn hình Chi tiết thông tin nhà tuyển dụng Các đối tượng trong màn hình  - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 51: Màn hình Chi tiết thông tin nhà tuyển dụng Các đối tượng trong màn hình (Trang 91)
Bảng 62: Đối tượng trong màn hình Review về nhà tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
Bảng 62 Đối tượng trong màn hình Review về nhà tuyển dụng (Trang 93)
Hình 58: Màn hình Tạo bài viết tuyển dụng - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 58: Màn hình Tạo bài viết tuyển dụng (Trang 96)
Hình 60: Màn hình Cập nhật CV của ứng viên - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 60: Màn hình Cập nhật CV của ứng viên (Trang 97)
3.4.18. Màn hình Quản lý ứng viên của admin - Xây dựng website tìm việc IT trên nền tảng mean stack
3.4.18. Màn hình Quản lý ứng viên của admin (Trang 102)
3.4.20. Màn hình Thống kê xu hướng lập trình viên - Xây dựng website tìm việc IT trên nền tảng mean stack
3.4.20. Màn hình Thống kê xu hướng lập trình viên (Trang 104)
Hình 79: Màn hình Intergrate Command Line - Xây dựng website tìm việc IT trên nền tảng mean stack
i ̀nh 79: Màn hình Intergrate Command Line (Trang 106)
CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG - Xây dựng website tìm việc IT trên nền tảng mean stack
4 CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG (Trang 106)

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

TÀI LIỆU LIÊN QUAN

w