Tải bản đầy đủ (.pdf) (28 trang)

Xây dựng hệ thống phần mềm quản lý sàn giao dịch việc làm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.61 MB, 28 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 1

Xây dựng hệ thống phần mềm quản lý sàn
giao dịch việc làm

Nhóm thực hiện:
Nguyễn Ngọc Thịnh

19522283

Hồ Quang Linh

19521750

GVHD: Th.S Phan Trung Hiếu
TP. Hồ Chí Minh, tháng 6 năm 2022

1



LỜI CẢM ƠN
Trong quá trình học tập, nghiên cứu và phát triền đề tài “Xây dưng hệ
thống phần mềm quản lý sàn giao dịch việc làm” chúng em đã nhận được
sự giúp đỡ, chỉ bảo nhiệt tình của thầy để hoàn thành đồ án này.
Chúng em xin bày tỏ sự biết ơn đặc biệt đến Thầy Phan Trung Hiếu,
người đã trực tiếp hướng dẫn, giúp đỡ về kiến thức, tài liệu và phương pháp


để chúng em hoàn thành đề tài này.
Chúng em xin chân thành cảm ơn vì những thời gian quý báu thầy đã
dành ra để kiểm tra, đưa ra các ý kiến nhận xét và đóng góp rất nhiều vào
những tính năng, hướng phát triển mới hơn cho đề tài.
Hi vọng với sự chỉ bảo và góp ý từ thầy, nhóm đề tài có thể tiếp túc phát
triển để ứng dụng ngày càng được mở rộng và phục vụ được tốt hơn cho
người dùng.
Mặc dù đã có nhiều cố gắng trong suốt quá trình thực hiện đề tài, song
có thể cịn có những mặt hạn chế, thiếu sót. Chúng em rất mong nhận được
ý kiến đóng góp và sự chỉ dẫn của thầy và các bạn để đề tài của chúng em
được hoàn thiện hơn.
Chúng em xin trân trọng cảm ơn!
TP. Hồ Chí Minh, ngày 12 tháng 6 năm 2022

1


LỜI MỞ ĐẦU
Các công nghệ hiện tại để phát triển nên một ứng dụng web đang
trong quá trình lớn mạnh với những nhu cầu khác nhau.
Trong thời đại công nghệ số 4.0, cùng với sự phát triển như vũ bão
của Internet, ở lĩnh vực việc làm, việc có một trang web có thể kết nối người
lao động và doanh nghiệp sẽ giúp cho người lao động dễ dàng lựa chọn
việc làm phù hợp, doanh nghiệp cũng dễ tuyển chọn người làm việc tốt.
Nắm bắt nhu cầu đó, Website Find Job được chúng em thực hiện
nhằm giải quyết nhu cầu giữa người lao động và doanh nghiệp giúp người
tìm việc có được công việc phù hợp, thu nhập ổn định cũng như góp phần
làm giảm tỉ lệ thất nghiệp, giúp cho danh nghiệp tuyển dụng được nhiều
ứng viên phù hợp
Các công việc chính của website là: quản lý phê duyệt, loại bỏ các bài

đăng tuyển dụng, có trang giới thiệu cho nhà tuyển dụng, quản lý tình
trạng hoạt động của phiên giao dịch việc làm.

2


MỤC LỤC
LỜI CẢM ƠN............................................................................................................................................ 1
LỜI MỞ ĐẦU ........................................................................................................................................... 2
1. Thông tin chung ........................................................................................................................... 4
1.1. Tên đề tài .................................................................................................................................... 4
1.2. Nền tảng ứng dụng ............................................................................................................... 4
1.3. Mô tả đề tài ............................................................................................................................... 4
1.4. Lý do chọn đề tài .................................................................................................................... 4
1.4. Công nghệ ................................................................................................................................ 4
1.5. Môi trường và công cụ hỗ trợ: ............................................................................................ 5
1.4 Nhân sự....................................................................................................................................... 5
II. Chương 2: Cơ sở lý thuyết ........................................................................................................... 5
1.

Front end .................................................................................................................................... 5

2.

Back end..................................................................................................................................... 5

3.

Database .................................................................................................................................... 6


III. Chương 3: Phân tích và thiết kế hệ thống .......................................................................... 6
1.

Danh sách tính năng ............................................................................................................. 6

2.

Sơ đồ Use Case......................................................................................................................... 7

3.

Cơ sở dữ liệu ........................................................................................................................... 16

4.

Kiến trúc hệ thống ............................................................................................................... 19

5.

Giao diện................................................................................................................................... 22

IV. Chương 4: Tổng kết.................................................................................................................... 23
1.

Kết quả đạt được .................................................................................................................. 23

2.

Hạn chế ..................................................................................................................................... 24


3.

Hướng phát triển .................................................................................................................. 24

4.

Cách cài đặt............................................................................................................................. 24

5.

Bảng phân công công việc ............................................................................................... 25

3


I. Chương 1: Tổng Quan
1. Thông tin chung
1.1. Tên đề tài
Website quản lý sàn giao dịch việc làm Find Job
1.2. Nền tảng ứng dụng
Web
1.3. Mô tả đề tài
Sàn giao dịch việc làm sẽ giúp cho việc kết nối giữa doanh nghiệp và
người tìm việc một cách dễ dàng, nhanh gọn, tiết kiệm chi phí.
Một số tính năng nổi bật của sàn giao dịch việc làm như người tuyển
dụng dễ dàng đăng tin tuyển dụng, mỗi nhà tuyển dụng sẽ có 1 trang giới
thiệu về cơng ty, ngươi tìm việc thì có thể dễ dàng tìm việc phù hợp với
mình và nộp đơn một các nhanh chóng.
Phần quản lý sàn sẽ có tính năng quản lý tin tuyển dụng, phê duyệty
hoặc loại bỏ, theo dõi tình trạng hoạt động của phiên giao dịch việc làm,

daonh nghiệp đăng ký tham gia một cách dễ dàng.
1.4. Lý do chọn đề tài
Trong thời đại công nghệ số 4.0, cùng với sự phát triển như vũ bão
của Internet, ở lĩnh vực việc làm, việc có một trang web có thể kết nối người
lao động và doanh nghiệp sẽ giúp cho người lao động dễ dàng lựa chọn
việc làm phù hợp, doanh nghiệp cũng dễ tuyển chọn người làm việc tốt.
Nắm bắt nhu cầu đó, Website Find Job được chúng em thực hiện
nhằm giải quyết nhu cầu giữa người lao động và doanh nghiệp giúp người
tìm việc có được cơng việc phù hợp, thu nhập ổn định cũng như góp phần
làm giảm tỉ lệ thất nghiệp, giúp cho danh nghiệp tuyển dụng được nhiều
ứng viên phù hợp
1.4. Công nghệ
Front-end: ReactJS
Back-end: NodeJS & ExpressJS
Database: MongoDB
4


Source control: Github
1.5. Môi trường và công cụ hỗ trợ:
Visual Studio Code, Google Chrome Browse.
1.4 Nhân sự
STT Họ và tên
1
Nguyễn Ngọc Thịnh
2
Hồ Quang Linh

MSSV
19522283

19521750

II. Chương 2: Cơ sở lý thuyết
1. Front end
• ReactJS:
ReactJS là một thư viện javascript mã nguồn mở được phát triển bởi
Facebook, ra mắt vào 2013. ReactJS hỗ trợ việc xây dựng những thành phần
trên website 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 nổi bật nhất của ReactJS đó là việc render dữ liệu
khơng chỉ thực hiện được trên tầng server mà còn ở dưới client. React so
sá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 ít thay đổi nhất trên DOM (Document Object Model).

2. Back end
• 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 xây dựng để chạy trên server.
NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ
Window cho tới Linux, OS X nên đó cũng là một lợi thế. NodeJS cung cấp
các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản
hóa việc lập trình và giảm thời gian ở mức thấp nhất.
Javascript là một ngôn ngữ hướng sự kiện, do đó bất cứ điều gì xảy ra trên
server đều tạo ra một sự kiện non-blocking, do vậy nên 1 website sử dụng
NodeJS có thể đáp ứng được việc truy cập cùng lúc một lượng user cực kì lớn.

• ExpressJS

5



Expressjs hay còn được viết là Express js, Express.js. Đây là một framework mã
nguồn mở miễn phí cho Node.js. Express.js được sử dụng trong thiết kế và
xây dựng các ứng dụng web một cách đơn giản và nhanh chóng.
Vì Express js chỉ u cầu ngơn ngữ lập trình Javascript nên việc xây dựng các
ứng dụng web và API trở nên đơn giản hơn với các lập trình viên và nhà phát
triển. Expressjs cũng là một khuôn khổ của Node.js do đó hầu hết các mã
code đã được viết sẵn cho các lập trình viên có thể làm việc.
Nhờ có Expressjs mà các nhà lập trình có thể dễ dàng tạo các ứng dụng 1
web, nhiều web hoặc kết hợp. Do có dung lượng khá nhẹ, Expressjs giúp cho
việc tổ chức các ứng dụng web thành một kiến trúc MVC có tổ chức hơn. Để
có thể sử dụng được mã nguồn này, chúng ta cần phải biết về Javascript và
HTML.
Expressjs cũng là một phần của công nghệ giúp quản lý các ứng dụng web
một cách dễ dàng hơn hay còn được gọi là ngăn xếp phần mềm MEAN. Nhờ
có thư viện Javascript của Express js đã giúp cho các nhà lập trình xây dựng
nên các ứng dụng web hiệu quả và nhanh chóng hơn. Expressjs cũng được
sử dụng để nâng cao các chức năng của Node.js.

3. Database
MongoDB: là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa
nền tảng viết bằng C++. Bản ghi trong MongoDB được lưu trữ dạng
một dữ liệu văn bản (Document), là một cấu trúc dữ liệu bao gồm
các cặp giá trị và trường tương tự như các đối tượng JSON.
III. Chương 3: Phân tích và thiết kế hệ thống
1. Danh sách tính năng
Stt Tên tính năng
1

Đăng nhập


2

Đổi mật khẩu

3

Qn mật khẩu

4

Quản lý thơng tin cá nhân

Use case
Xác thực người dùng

6


5

Đăng xuất

6

Quản lý bài đăng

7

Quản lý người tìm việc


8

Quản lý nhà tuyển dụng

9

Quản lý ngành nghề

10

Quản lý gói đăng ký

11

Quản lý doanh thu

Quản trị viên

2. Sơ đồ Use Case
2.1

Usecase xác thực người dung
2.1.1 Usecase đăng nhập

Tên yêu cầu

Đăng nhập

Mô tả


Đăng nhập tài khoản để sử dụng

Tác nhân

Quản trị viên

Điều kiện trước

Chưa đăng nhập

Điều kiện sau

Đăng nhập thành cơng

Ngoại lệ

Khơng có

Luồng

xử



chính

1. Truy cập vào đường dẫn /login
2. Người dùng điền các thơng tin: email, mật
khẩu
3. Hệ thống xác nhận có trường dữ liệu hợp

lệ
4. Thông báo đăng nhập thành công, chuyển
đến trang chủ

Luồng xử lý phụ

1. Hệ thống thông báo nếu có lỗi

2.1.2 Usecase quên mật khẩu
Tên yêu cầu

Quên mật khẩu

7


Mô tả

Quên mật khẩu để lấy lại mật khẩu bằng cách xác
nhận mã bí mật được gửi tới email đăng ký tài
khoản ban đầu

Tác nhân

Người dùng, Quản trị viên

Điều kiện trước

Chưa đăng nhập


Điều kiện sau

Đặt lại mật khẩu người dùng

Ngoại lệ

Khơng có

Luồng

xử



1. Truy cập vào đường dẫn /quen-mat-khau

chính

2. Người dùng nhập email
3. Nhấn nút gửi mã
4. Hệ thống gửi email chứa mã xác nhận đến
cho người dùng
5. Người dùng xác nhận mã trong màn hình
tiếp theo
6. Hệ thống xác nhận mật mã
7. Người dùng nhập mật khẩu và xác nhận
mật khẩu mới

Luồng xử lý phụ


I.

Mã bí mật khơng chính xác quá 3 lần
1.

Hệ thống từ chối
việc đặt lại mật
khẩu

2.1.3 Đổi mật khẩu
Tên yêu cầu

Đổi mật khẩu

Mô tả

Người dùng đổi mật khẩu theo nhu cầu sử dụng

Tác nhân

Quản trị viên

Điều kiện trước

Đã đăng nhập

Điều kiện sau

Thông tin mật khẩu trong database được thay đổi


8


Ngoại lệ
Luồng

Khơng có
xử



chính

1. Người dùng đã đăng nhập vào hệ thống
2. Chọn vào ảnh đại diện trên thanh header
3. Chọn đổi mật khẩu
4. Điền mật khẩu hiện tại, mật khẩu mới, xác
nhận mật khẩu mới
5. Ấn xác nhận
6. Ứng dụng thông báo đổi mật khẩu thành
công

Luồng xử lý phụ Hệ thống thơng báo nếu có lỗi

2.1.4 Usecase quản lý thơng tin cá nhân
Tên yêu cầu

Quản lý thông tin cá nhân

Mô tả


Người dùng quản lý thông cá nhân, xem, sửa thông
tin cá nhân, lịch sử mua hàng, chi tiết đơn hàng

Tác nhân

Người dùng, Quản trị viên

Điều kiện trước

Đã đăng nhập

Điều kiện sau

Thực hiện thành cơng hành động

Ngoại lệ

Khơng có

Luồng

xử



I.

chính


Xem thơng tin cá nhân, lịch sử mua hàng
1. Chọn vào ảnh đại diện trên thanh
header
2. Chọn xem thông tin tài khoản
3. Hệ thống trả về dữ liệu thông tin tài
khoản

II.

Chỉnh sửa thông tin cá nhân
1. Chọn vào ảnh đại diện trên thanh

9


header
2. Chọn xem thông tin tài khoản
3. Hệ thống trả về dữ liệu thông tin tài
khoản
4. Người dùng thay đổi thông tin ở trong
các khung input
5. Người dùng ấn cập nhật
6. Hệ thống kiểm tra dữ liệu, thực hiện
thay đổi csdl nếu dữ liệu hợp lệ
III.

Xem chi tiết đơn hàng
1. Chọn vào ảnh đại diện trên thanh
header
2. Chọn xem thông tin tài khoản

3. Hệ thống trả về dữ liệu thông tin tài
khoản
4. Người dùng ấn vào 1 dòng trong bảng
lịch sử mua hàng
5. Hệ thống trả về dữ liệu chi tiết của đơn
hàng vừa chọn

Luồng xử lý phụ

Hệ thống thông báo nếu có lỗi

2.1.5 Usecase đăng xuất
Tên u cầu
Mơ tả

Đăng xuất
Người dùng đăng xuất khi không muốn sử dụng
nữa

Tác nhân

Quản trị viên

Điều kiện trước

Cần phải đăng nhập từ trước

10



Điều kiện sau

Đăng xuất thành cơng

Ngoại lệ

Khơng có

Luồng

xử



1. Vào giao diện chính của ứng dụng

chính

2. Bấm vào nút đăng xuất ở trên cùng góc
phải màn hình
3. Hệ thống đăng xuất thành cơng và
chuyển về màn hình đăng nhập

Luồng xử lý phụ Hệ thống thông báo nếu xảy ra lỗi
2.2

Usecase Quản trị viên

2.2.1 Usecase quản lý bài đăng
Tên yêu cầu


Quản lý bài đăng

Mô tả

Quản lý bao gồm phê duyệt, từ chối bài đăng tuyển
dụng

Tác nhân

Quản trị viên

Điều kiện trước

Đã đăng nhập

Điều kiện sau

Thực hiện thành cơng hành động

Ngoại lệ

Khơng có

Luồng

xử

chính




1. Truy cập tab nhà tuyển dụng
2. Chọn nhà tuyển dụng cần duyệt
3. Phê duyệt/ từ chối bài đăng

Luồng xử lý phụ Hệ thống thơng báo nếu có lỗi
2.2.2 Usecase quản lý người tìm việc
Tên u cầu

Quản lý người tìm việc

Mơ tả

Quản lý sửa, xố, thêm thơng tin người tìm việc

Tác nhân

Quản trị viên

11


Điều kiện trước

Cần phải đăng nhập từ trước

Điều kiện sau

Thực hiện thành cơng hoạt động


Ngoại lệ

Khơng có

Luồng

xử



1. Vào giao diện chính của ứng dụng

chính

2. Bấm vào tab đăng người tìm việc
3. Chọn một người dùng
4. Thực hiện thao tác sửa/ xố thơng tin
người dùng.
5. Hệ thống thơng báo thao tác thành
công.

Luồng xử lý phụ Hệ thống thông báo nếu xảy ra lỗi
2.2.3 Usecase quản lý nhà tuyển dụng
Tên yêu cầu

Quản lý nhà tuyển dụng

Mô tả


Quản trị viên xem , thêm, xố, sửa đổi thơng tin cơng
ty.
Quản trị viên thêm một cơng ty mới hoặc xố.

Tác nhân

Quản trị viên

Điều kiện trước

Đăng nhập thành cơng

Điều kiện sau

Thao tác thành cơng

Ngoại lệ

Khơng có

Luồng

xử



I.

chính


Xem thông tin nhà tuyển dụng:
1. Truy cập tab Nhà tuyển dụng
2. Chọn một nhà tuyển dụng mà bạn
muốn thao tác
3. Hệ thống hiện thị thông tin về nhà
tuyển dụng

II.

Sửa thông tin nhà tuyển dụng:

12


1. Truy cập tab Nhà tuyển dụng
2. Chọn một nhà tuyển dụng mà bạn
muốn thao tác
3. Bấm nút sửa
4. Sửa các thông tin cần thay đổi
5. Bấm lưu
6. Hệ thống thơng báo cập nhập thơng
tin thành cơng.
III.

Xố nhà tuyển dụng:
1. Truy cập tab Nhà tuyển dụng
2. Chọn một nhà tuyển dụng mà bạn
muốn thao tác
3. Bấm nút xoá
4. Xác nhận chắc chắn sẽ xố nhà tuyển

dụng
5. Hệ thống thơng báo xố thành cơng.

IV.

Thêm nhà tuyển dụng:
1. Truy cập tab Nhà tuyển dụng
2. Bấm thêm công ty
3. Trang web hiện ra một modal để
nhập thông tin của công ty mới.
4. Sau nhập thông tin của công ty
xong bấm lưu.
5. Hệ thống thông báo thêm công ty
mới thành công.

Luồng xử lý phụ Hệ thống thông báo nếu xảy ra lỗi
2.2.4 Usecase quản lý ngành nghề

13


Tên u cầu

Quản lý ngành nghề

Mơ tả

Thêm, xố, sửa ngành nghề

Tác nhân


Quản trị viên

Điều kiện trước

Đã đăng nhập

Điều kiện sau

Thực hiện thành cơng hành động

Ngoại lệ

Khơng có

Luồng

xử



I.

chính

Xem các ngành nghề:
1. Truy cập tab Ngành nghề
2. Hệ thống hiện thị các ngành nghề
trong tab.


II.

Sửa thông tin Ngành nghề:
1. Truy cập tab Ngành nghề
2. Chọn một ngành nghềtrong danh
sách
3. Bấm nút sửa
4. Sửa các thông tin cần thay đổi
5. Bấm lưu
6. Hệ thống thơng báo cập nhập thơng
tin thành cơng.

III.

Xố ngành nghề:
1. Truy cập tab Ngành nghề
2. Chọn một ngành nghề mà bạn
muốn thao tác
3. Bấm nút xoá
4. Xác nhận xoá.
5. Hệ thống thơng báo xố thành cơng.

IV.

Thêm ngành nghề:

14


1. Truy cập tab Ngàng nghề

2. Bấm thêm.
3. Trang web hiện ra một modal để
nhập thông tin của ngành nghề mới.
4. Bấm lưu
5. Hệ thống thông báo thêm mới thành
công.
Luồng xử lý phụ

Hệ thống thơng báo nếu có lỗi

2.2.5 Usecase quản lý gói đăng ký
Tên yêu cầu

Quản lý gói đăng ký

Mô tả

Quản lý giá và lượng bài đăng dành cho nhà tuyển
dụng ở các gói đăng ký.

Tác nhân

Quản trị viên

Điều kiện trước

Đã đăng nhập.

Điều kiện sau


Thực hiện thành công hành động

Ngoại lệ

Khơng có

Luồng

xử



chính

1. Truy cập đến tab gói đăng ký
2. Sửa gói đăng ký
3. Bấm lưu

Luồng xử lý phụ Hệ thống thơng báo nếu có lỗi
2.2.6 Usecase doanh thu
Tên u cầu

Quản lý doanh thu

Mô tả

Quản lý doanh thu từ việc bán các gói đăng ký

Tác nhân


Quản trị viên

Điều kiện trước

Đã đăng nhập

15


Điều kiện sau

Thực hiện thành cơng hành động

Ngoại lệ

Khơng có

Luồng

xử



chính

1.

Truy cập tab Doanh thu

2.


Hệ thống trả về thống kê doanh thu

Luồng xử lý phụ Hệ thống thơng báo nếu có lỗi
3. Cơ sở dữ liệu
• Thiết kế cơ sở dữ liệu:

16


• Danh sách các collections:

STT
1

Tên collections dữ liệu
users

Mô tả
Danh sách tài khoản người dùng và tài khoản
admin

2

NguoiUngTuyen

Danh sách các người ứng tuyển

3


DanhMucNghe

Danh sách các nghề nghiệp kèm hình ảnh

4

BaiDang

Danh sách các bài đăng

5

NhaTuyenDung

Danh sách các nhà tuyển dụng

6

NguoiUngTuyen_DanhMucNghe Liên kết giữa 2 collections người ứng tuyển và
danh mục nghề

7

NguoiUngTuyen_BaiDang

Liên kết giữa 2 collections người ứng tuyển và
bài đăng

3.1


Chi tiết collections users

STT

Tên trường

Kiểu dữ liệu

Ràng buộc

Ý nghĩa

1

name

String

Bắt buộc

Họ và tên

2

password

String

Bắt buộc


Mật khẩu người dùng

3

phone

String

Bắt buộc

Số điện thoại người dùng

4

gender

String

Bắt buộc

Giới tính, 1: Nam, 2: Nữ, 3:
Khác

5

role

String

Bắt buộc


Vai trò của người dùng,
‘user’ và ‘admin’

6

email

String

Bắt buộc

Email người dùng

7

address

String

Địa chỉ người dùng

8

avatar

String

Đường dẫn lưu trữ ảnh
giao diện của người dùng


9

birthday
3.2

Date

Ngày sinh của người dùng

Chi tiết collections NguoiUngTuyen

17


STT

Tên trường

Kiểu dữ liệu

Ràng buộc

Ý nghĩa

1

ngheNghiep

String


Bắt buộc

Tên nghề nghiệp

2

viTriUngTuy

String

Bắt buộc

Vị trí ứng tuyển

en
3

noiLamViec

String

Bắt buộc

Nơi làm việc

5

cvUrl


String

Bắt buộc

Đường dẫn liên kết CV

6

userID

String

Bắt buộc

Id người dùng của người
ứng tuyển

3.3

Chi tiết collections DanhMucNghe

STT

Tên trường

Kiểu dữ liệu

1

tenDanhMu


String

Ràng buộc

Tên danh mục nghề

cNghe
2

hinhAnh

Ý nghĩa
nghiệp

String

Hình ảnh của danh mục
nghệ

3.4

Chi tiết collection NhaTuyenDung

STT

Tên trường

Kiểu dữ liệu


Ràng buộc

Ý nghĩa

1

tenCongTy

String

Bắt buộc

Tên cơng ty, doanh nghiệp
tuyển dụng

2

hinhAnhCo

String

Bắt buộc

ngTy

Đường dẫn hình ảnh công
ty, doanh nghiệp ứng
tuyển

3


thongTinCo

String

Bắt buộc

ngTy
5

userID

Mô tả về công ty tuyển
dụng

String

Bắt buộc

Tên tài khoản công ty,
doanh nghiệp tuyển dụng

18


3.5

Chi tiết collection BaiDang

STT


Tên trường

Kiểu dữ liệu

Ràng buộc

Ý nghĩa

1

idNhaTuyen

String

Bắt buộc

Tên tài khoản của nhà

Dung

tuyển dụng đồng thời là
chủ bài đăng

2

thongTinBai

String


Bắt buộc

Thông tin bài đăng

String

Bắt buộc

Id của danh mục nghề

Dang
3

idDanhMuc
Nghe
3.6

trong bài đăng tuyển

Chi tiết collection NguoiUngTuyen_DanhMucNghe

STT

Tên trường

Kiểu dữ liệu

Ràng buộc

Ý nghĩa


1

idNguoiUng

String

Bắt buộc

Id của người ứng tuyển

String

Bắt buộc

Id của bài đăng

Tuyen
2

idBaiDang
3.7

Chi tiết collection NguoiUngTuyen_BaiDang

STT

Tên trường

Kiểu dữ liệu


Ràng buộc

Ý nghĩa

1

idNguoiUng

String

Bắt buộc

Id của người ứng tuyển

String

Bắt buộc

Id của danh mục nghề

Tuyen
2

idDanhMuc
Nghe

trong bài đăng tuyển

4. Kiến trúc hệ thống

• Trang web được xây dựng trên nền MERN STACK.
• Sử dụng API để kết nối với MongoDB.

19


4.1

Mơ hình kiến trúc hệ thống

- Kiến trúc hệ thống theo mơ hình Client – Sever.
+ Tầng Client (là một máy tính (Host)): Tầng có khả năng nhận thơng tin
hoặc sử dụng một dịch vụ cụ thể từ các nhà cung cấp dịch vụ (Server).
+ Tầng Sever: Tầng cung cấp các thông tin (dữ liệu) hoặc quyền truy cập
vào các dịch vụ cụ thể.

20


+ Tầng Web (sẽ kết nối với tầng Sever & Client): Thành phần giao diện của
chương trình tương tác với người sử dụng.

4.2


Mơ tả chi tiết các thành phần
Mơ hình client-server là một mơ hình nổi tiếng trong mạng máy tính,
được áp dụng rất rộng rãi và là mơ hình của mọi trang web hiện có. Ý
tưởng của mơ hình này là máy con (đóng vài trị là máy khách) gửi
một u cầu (request) để máy chủ (đóng vai trị người cung ứng dịch

vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách. Trong mơ hình
này, chương trình ứng dụng được chia thành 2 thành phần: Server và
Client. Client hay cịn gọi là máy khách, nó bao gồm máy tính và các
thiết bị điện tử nói chung. Server hay còn gọi là máy chủ, là nơi cài đặt
các chương trình dịch vụ và lưu trữ tài nguyên.

Việc yêu cầu của máy khách, đáp ứng, xử lý, và phản hồi của máy chủ tạo thành
một dịch vụ. Dịch vụ này hoạt động trên nền web nên nó được gọi là dịch vụ
web (hay web service).
Ngoài ra, việc giao tiếp giữa Client với Server phải dựa trên các giao thức chuẩn.
Các giao thức chuẩn được sử dụng phổ biến nhất hiện nay là : giao thức TCP/IP,
giao thức SNA của IBM, OSI, ISDN, X.25 hay giao thức LAN-to-LAN NetBIOS.
• Client
Khi nói đến Client (khách hàng), thì nó có nghĩa là một người hay một tổ chức
sử dụng một dịch vụ cụ thể nào đó. Trong thế giới kỹ thuật số cũng tương tự
như vậy. Client là một máy tính (Host), tức là có khả năng nhận thơng tin hoặc
sử dụng một dịch vụ cụ thể từ các nhà cung cấp dịch vụ (Server).
• Sever

21


Tương tự như vậy, khi nói đến Server thì nó có nghĩa là một máy chủ hay một
phương tiện phục vụ các dịch vụ nào đó. Trong lĩnh vực cơng nghệ thì Server
là một máy tính từ xa. Nó cung cấp các thông tin (dữ liệu) hoặc quyền truy
cập vào các dịch vụ cụ thể. Vì vậy, về cơ bản thì trong mơ hình Client và
Server, Client là đối tượng u cầu một thứ gì đó. Server thì phục vụ nó, miễn
là nó có mặt trong cơ sở dữ liệu.

5. Giao diện


22


IV. Chương 4: Tổng kết
1. Kết quả đạt được
Thông qua đồ án này, nhóm đã hồn tồn vận dụng được ReactJS
trong việc xây dựng ứng dụng web cũng như tận dụng được Reduxthunk cho State Management để tối ưu hiệu suất ứng dụng. Bên

23


×