ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG TÌM KIẾM VIỆC LÀM VỚI REACT NATIVE Giảng viên hướng dẫn: ThS... Còn đối với nhà tu
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG TÌM KIẾM VIỆC
LÀM VỚI REACT NATIVE
Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh Trúc
Sinh viên thực hiện:
20521133 - Lưu Lê Bá Chính
20521401 - Nguyễn Ngọc Quang Huy
Trang 2LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Thanh Trúc - giảng viên
hướng dẫn môn Đồ án 1 đã định hướng và trang bị giúp chúng em những kỹ năng cơ bản
và kiến thức cần thiết để hoàn thành được đồ án này
Tuy nhiên, trong quá trình làm đồ án do kiến thức của chúng em còn hạn chế nên không
thể tránh khỏi một vài thiếu sót khi trình bày và đánh giá vấn đề Rất mong nhận được sự
góp ý, đánh giá của các giảng viên bộ môn để đề tài của chúng em thêm hoàn thiện hơn
Thành phố Hồ Chí Minh, tháng 6 năm 2023
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 57.4 Hạn chế của đồ án 68
Trang 6
Đề cương chi tiết
TÊN ĐỀ TÀI: Xây dựng ứng dụng tìm kiếm việc làm
Cán bộ hướng dẫn : ThS.Nguyễn Thị Thanh Trúc
Thời gian thực hiện: (3/2023-7/2023)
Sinh viên thự hiện:
Lưu Lê Bá Chính - 20521133
Nguyễn Ngọc Quang Huy - 20521401
Nội dung đề tài
1.Lý do chọn đề tài :
Trong thời đại công nghệ phát triển nhiều ngành nhiều nghề ra đời tạo nhiều công
ăn việc làm cho người dân Tuy nhiên dù trong thời đại nào thì bài toán việc làm vẫn luôn là vấn đề khó giải quyết Về phía người tìm việc họ mong muốn có một công việc phù hợp với trình độ chuyên môn, điều kiện kinh tế và nhiều yếu tố ngoại cảnh khác Còn đối với nhà tuyển dụng, họ luôn kì vọng tìm kiếm được những ứng viên thực sự phù hợp với công việc của bản thân Chỉ xét riêng ở Việt Nam, báo cáo chỉ
ra các doanh nghiệp trong những tháng cuối năm 2022 và quý I/2023 có nhu cầu tuyển dụng khoảng gần 400 nghìn người trên tất cả 63 tỉnh, thành phố của cả nước Con số nay quả thật không nhỏ và nó cho thấy vấn đề việc làm luôn nóng như thế nào Hiện nay đã có nhiều nền tảng tìm kiếm việc làm ra đời và đạt được những thành công nhất định Tuy nhiên độ tiện dụng và hiệu quả vẫn còn những tồn tại nhất định Và hơn nữa, người dùng mong muốn nhiều hơn là một công cụ tìm kiếm việc làm đơn thuần Với đầy đủ những tính năng của một ứng dụng tìm kiếm việc
Trang 7làm, hơn thế nữa là những chức năng mới và ưu việt, HiredHero sẽ là giải pháp tối
ưu để giải quyết bài toán việc làm đó
2.Mục tiêu đề tài :
· Xây dụng ứng dụng tìm việc với các tiêu chí:
- Giao diện người dùng thân thiện, dễ dùng, dễ thao tác
+ Quản lý tin tuyển dụng:
++ Tạo bài đăng tin tuyển dụng
++ Chỉnh sửa tin tuyển dụng
++ Xem danh sách ứng viên apply vào tin tuyển dụng
Trang 8++ Xóa bài đăng tuyển dụng
+ Thanh toán:
++ Thanh toán khi đăng tin tuyển dụng
+ Quản lý tài khoản doanh nghiệp:
++ Sửa thông tin doanh nghiệp
++ Sửa thông tin đăng nhập
++ Xem đánh giá công ty
++ Phản hồi đánh giá
+ Quản lý tuyển dụng:
++ Xem danh sách ứng viên apply
++ Phản hồi ( đồng ý / từ chối ) ứng viên
Trang 9++ Tìm kiếm theo nhiều tiêu chí
++ Tìm kiếm theo từ khóa
+ Review doanh nghiệp:
++ Đánh giá doanh nghiệp
+ Quản lý tài khoản:
++ Sửa thông tin giới thiệu của bản thân
++ Sửa thông tin đăng nhập
+ Quản lý tuyển dụng:
++ Nộp đơn tuyển dụng theo tin tuyển dụng
++ Nhận thông báo về kết quả tuyển dụng
- Người dùng tìm kiếm việc làm
- Người dùng tuyển ứng viên
5.Yêu cầu
Trang 10· • Yêu cầu về giao diện:
- Giao diện thân thiện, bố cục hợp lý, dễ sử dụng
- Giao diện thống nhất, đồng bộ, không gây bất ngờ cho người sử dụng
- Màu sắc, vị trí, hiển thị của các component có tính đồng bộ
• Yêu cầu về khả năng phát triển:
- Tổ chức hợp lý dễ dàng nâng cấp
- Dễ dàng mở rộng khi có nhu cầu phát triển
• Yêu cầu về tính hiệu quả:
- Hệ thống quản lý dữ liệu một cách logic
- Hiệu năng ổn định tránh gây khó chịu cho người dùng
6.Phương pháp thực hiện:
· Phương pháp làm việc:
− Làm việc nhóm 2 thành viên thông qua cả 2 phương thức online dưới sự hướng dẫn của giảng viên hướng dẫn
· Phương pháp nghiên cứu:
− Phân tích nhu cầu sử dụng của đối tượng người dùng
− Nghiên cứu các phần mềm tìm kiếm việc làm hiện nay
· Phương pháp công nghệ:
− Xây dựng giao diện trên figma
− Sử dụng facebook, zalo và nói chuyện trực tiếp để trao đổi thông tin giữa
2 thành viên
− IDE được cả 2 thành viên sử dụng là Visual studio code
Trang 11− Quản lý source code thông qua Github
− Sử dụng Google doc,… để quản lý tiến trình và tài liệu
· Đáp ứng đầy đủ yêu cầu
9.Hướng phát triển của đề tài:
· Kết hợp AI giúp hỗ trợ phỏng vấn, viết CV
· Tích hợp Search engine, gợi ý hiệu quả
· Phát triển ứng dụng theo hướng mạng xã hội để thu hút nhiều người dùng
10.Kế hoạch làm việc:
Giai đoạn 1: Tìm hiểu đề tài và công nghệ ( 01/03/2023 - 15/04/2023 )
Giai đoạn 2: Xây dựng các giao diện và chức năng ( 15/04/2023 - 25/06/2023 )
11.Phân chia công việc
Trang 12Công việc chung - Tìm hiểu công nghệ
- Lập kế hoạch
- Phân tích yêu cầu
- Viết báo cáo
- Thông báo kết quả làm việc
Trang 13CHƯƠNG I: GIỚI THIỆU CHUNG
ra đời và đạt được những thành công nhất định Tuy nhiên độ tiện dụng và hiệu quả vẫn còn những tồn tại nhất định Và hơn nữa, người dùng mong muốn nhiều hơn là một công
cụ tìm kiếm việc làm đơn thuần Với đầy đủ những tính năng của một ứng dụng tìm kiếm việc làm, hơn thế nữa là những chức năng mới và ưu việt, HiredHero sẽ là giải pháp tối
ưu để giải quyết bài toán việc làm đó
2 Hiện trạng
· Số lượng người thất nghiệp vẫn cao
· Các doanh nghiệp tốn nhiều thời gian để tìm được người mới lấp đầy vị trí còn thiếu
· Số lượng người nhảy việc lớn
· Số lượng người làm việc trái ngành lớn
3 Xác định đối tượng mục tiêu
Ai sẽ sử dụng sản phẩm/dịch vụ của chúng tôi?
Trang 14● Nhà tuyển dụng: Là các doanh nghiệp muốn tìm kiếm ứng viên cho vị trí của mình
● Người tìm việc: Những người đang tìm kiếm công việc phù hợp với bản thân
4 Đối thủ cạnh tranh
- Glassdoor:
Ưu điểm: Cung cấp danh sách việc làm và đánh giá công ty, vì vậy người dùng có thể hiểu được cảm giác làm việc tại một công ty trước khi nộp đơn xin việc Nó cũng cung cấp thông tin về lương, có thể hữu ích cho việc đàm phán lương Nhược điểm: Glassdoor không có cùng mức độ các tính năng kết nối mạng như LinkedIn và danh sách công việc của nó có xu hướng tập trung hơn vào thị trường Hoa Kỳ
Nhược điểm: Xing ít được biết đến bên ngoài châu Âu, vì vậy nó có thể không phải là lựa chọn tốt nhất nếu bạn đang muốn xây dựng một mạng lưới toàn cầu
- Viadeo:
Trang 15Ưu điểm: Tương tự như Xing, Viadeo là một trang mạng chuyên nghiệp phổ biến ở châu Âu, với cơ sở người dùng mạnh ở Pháp Nó cung cấp nhiều tính năng giống như LinkedIn, bao
Nhược điểm: Giống như Xing, Viadeo ít được biết đến hơn bên ngoài châu Âu, vì vậy nó
có thể không phải là lựa chọn tốt nhất nếu bạn đang muốn xây dựng một mạng lưới toàn cầu
5 Yêu cầu chức năng:
Doanh nghiệp:
+ Đăng kí đăng nhập:
++ Đăng kí tài khoản cho doanh nghiệp
++ Đăng nhập vào ứng dụng
+ Quản lý tin tuyển dụng:
++ Tạo bài đăng tin tuyển dụng
++ Chỉnh sửa tin tuyển dụng
++ Xem danh sách ứng viên apply vào tin tuyển dụng
++ Xóa bài đăng tuyển dụng
Trang 16+ Thanh toán:
++ Thanh toán khi đăng tin tuyển dụng
+ Quản lý tài khoản doanh nghiệp:
++ Sửa thông tin doanh nghiệp
++ Sửa thông tin đăng nhập
++ Xem đánh giá công ty
++ Phản hồi đánh giá
+ Quản lý tuyển dụng:
++ Xem danh sách ứng viên apply
++ Phản hồi ( đồng ý / từ chối ) ứng viên
+ Tìm kiếm tin tuyển dụng:
++ Tìm kiếm theo nhiều tiêu chí
++ Tìm kiếm theo từ khóa
Trang 17+ Review doanh nghiệp:
++ Đánh giá doanh nghiệp
+ Quản lý tài khoản:
++ Sửa thông tin giới thiệu của bản thân
++ Sửa thông tin đăng nhập
+ Quản lý tuyển dụng:
++ Nộp đơn tuyển dụng theo tin tuyển dụng
++ Nhận thông báo về kết quả tuyển dụng
6 Yêu cầu phi chức năng:
• Yêu cầu về giao diện:
- Giao diện thân thiện, bố cục hợp lý, dễ sử dụng
- Giao diện thống nhất, đồng bộ, không gây bất ngờ cho người sử dụng
- Màu sắc, vị trí, hiển thị của các component có tính đồng bộ
• Yêu cầu về khả năng phát triển:
Trang 18- Tổ chức hợp lý dễ dàng nâng cấp
- Dễ dàng mở rộng khi có nhu cầu phát triển
• Yêu cầu về tính hiệu quả:
- Hệ thống quản lý dữ liệu một cách logic
- Hiệu năng ổn định tránh gây khó chịu cho người dùng
Trang 19
CHƯƠNG II: NỀN TẢNG CÔNG NGHỆ
2.1 React Native
React Native là một framework phát triển ứng dụng di động mã nguồn mở cho phép
các nhà phát triển xây dựng các ứng dụng di động đa nền tảng cho iOS và Android bằng một
codebase duy nhất, được viết bằng JavaScript Nó dựa trên thư viện React, ban đầu được
Facebook phát triển để xây dựng giao diện người dùng trên web React Native cung cấp một
tập hợp các thành phần và API dựng sẵn, có thể được sử dụng để tạo các ứng dụng dành cho
thiết bị di động có hiệu suất cao và phản hồi nhanh
Một số ưu điểm mà có thể nhìn thấy ngay được khi mới bắt đầu tìm hiểu về nó như là:
● Khả năng tái sử dụng code và các components đã được phát triển sẵn
● Có một cộng đồng developers hùng hậu
Trang 20● Sự tuyệt vời của Live and Hot reloading (Bạn sẽ tiết kiệm được cả một đống thời gian nhìn xcode build và running app của bạn)
● Tiết kiệm effort khi có thể code 1 mà có thể run cho cả ios và android
Bên cạnh đó cũng có một vài những nhược điểm cần phải kể đến:
● Vẫn đòi hỏi native code
● Hiệu năng sẽ thấp hơn với app thuần native code
● Bảo mật không cao do dựa trên JS
● Quản lý bộ nhớ
● Khả năng tùy biến cũng không thực sự tốt đối với một vài module
2.2 Nodejs
Trang 21· Node.js là một nền tảng (Platform) phát triển độc lập được xây dựng ở trên Javascript Runtime của Chrome mà chúng ta có thể xây dựng được các ứng dụng web một cách nhanh chóng và dễ dàng mở rộng Node.js bao gồm có V8 JavaScript engine của Google, libUV, và vài thư viện khác
· Node.js được xây dựng và phát triển bởi Ryan Dahl từ năm 2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ Mục tiêu ban đầu của Dahl là làm cho trang web có khả năng push như trong một số ứng dụng web như Gmail Sau khi thử với vài ngôn ngữ Dahl chọn Javascript vì API nhập/xuất không đầy
đủ Điều này cho phép ông có thể định nghĩa một quy ước nhập/xuất điểu khiển theo sự kiện, non-blocking
· Node.js có kiến trúc hướng sự kiện có khả năng nhập/xuất không đồng bộ Thiết
kế này nhằm mục đích tối ưu hóa thông lượng và khả năng mở rộng trong các ứng dụng web với nhiều hoạt động đầu vào / đầu ra, cũng như cho các ứng dụng web thời gian thực (ví dụ: chương trình giao tiếp thời gian thực và trò chơi trình duyệt) Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể Nodejs sở hữu khá nhiều đặc điểm cơ bản, nổi trội và ưu việt
● Không đồng bộ: Đặc điểm đầu tiên của Nodejs là tính bất đồng bộ Node.js không cần đợi API trả dữ liệu về, vậy nên mọi APIs nằm trong thư viện Node.js đều không được đồng bộ, hiểu đơn giản là chúng không hề blocking (khóa) Server có cơ chế riêng để gửi thông báo và nhận phản hồi về các hoạt động của Node.js và API đã gọi
● Tốc độ nhanh: Với phần core phía dưới lập trình gần như toàn bộ bằng ngôn ngữ C++, kết hợp với V8 Javascript Engine mà Google Chrome cung cấp, tốc độ vận hành, thực hiện code của thư viện Node.js diễn ra rất nhanh
● Đơn giản - Hiệu quả: Tiến trình vận hành của Node.js đơn giản song lại mang đến hiệu năng cao nhờ ứng dụng mô hình single thread và các sự kiện lặp Một loạt cơ chế sự kiện cho phép server trả về phản hồi bằng cách không block, đồng thời tăng hiệu quả
Trang 22sử dụng Các luồng đơn cung cấp dịch vụ cho nhiều request hơn hẳn Server truyền thống
● Không đệm: Nền tảng Node.js không có vùng đệm, tức không cung cấp khả năng lưu trữ dữ liệu buffer
● Có giấy phép: Đây là nền tảng đã được cấp giấy phép, phát hành dựa trên MIT License
● Có thể xử lý yêu cầu đa nền tảng: Node.js có thể xử lý các yêu cầu từ các nền tảng khác nhau như Windows, Linux, và MacOS
Nhược điểm của Node.js:
● Chưa phù hợp với ứng dụng CPU-intensive: Node.js phù hợp với các ứng dụng intensive nhưng không phù hợp với các ứng dụng CPU-intensive Điều này có nghĩa là nếu ứng dụng của bạn chủ yếu là các tính toán phức tạp, Node.js có thể không phải là lựa chọn tốt nhất
I/O-● Không thích hợp cho các ứng dụng lớn: Node.js có thể gặp vấn đề về quản lý bộ nhớ khi xử lý các ứng dụng lớn Vì Node.js được thiết kế để xử lý các yêu cầu không đồng
bộ, nó không thể xử lý các ứng dụng lớn với lượng dữ liệu lớn cùng lúc
● Callback hell: Khi xử lý các yêu cầu không đồng bộ, Node.js sử dụng callback để xử lý các hoạt động tiếp theo Nếu không được quản lý tốt, điều này có thể dẫn đến callback hell, một tình huống khi có quá nhiều callback được lồng vào nhau, làm cho mã trở nên khó hiểu và khó bảo trì
● Vấn đề bảo mật: Node.js chạy trên một môi trường đơn luồng, điều này có thể gây ra các vấn đề bảo mật khi không được quản lý tốt Node.js cũng không đảm bảo an toàn
và bảo mật cho các ứng dụng của bạn mà bạn phải tự bảo vệ chúng
Trang 232.3 MongoDB
· MongoDB lần đầu ra đời bởi MongoDB Inc., tại thời điểm đó là thế hệ 10, vào
tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Platform as a
Service) tương tự như Windows Azure và Google App Engine Sau đó nó đã
được chuyển thành nguồn mở từ năm 2009
· MongoDB là một database hướng tài liệu (document), một dạng NoSQL
database Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database
để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON
MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một
collection sẽ các các kích cỡ và các document khác nhau Các dữ liệu được lưu
trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh
Trang 24· Ưu điểm:
- Schema linh hoạt: Do MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau Cấu trúc đối tượng rõ ràng: Tuy rằng cấu trúc của dữ liệu là linh hoạt nhưng đối tượng của nó được xác định rất rõ ràng Sử dụng bộ nhớ nội tại, nên truy vấn sẽ rất nhanh
2.4 Render
Ưu điểm của Render.com:
Trang 25● Dễ sử dụng: Render.com cung cấp một giao diện đơn giản và dễ sử dụng, giúp người dùng triển khai ứng dụng một cách nhanh chóng và thuận tiện
● Quản lý tự động: Render.com tự động quản lý và mở rộng cơ sở hạ tầng để đảm bảo hiệu suất và sẵn sàng cao của ứng dụng
● Đa nền tảng: Render.com hỗ trợ triển khai ứng dụng trên nhiều nền tảng, bao gồm Node.js, Python, Ruby, Go, PHP, và cả Docker containers
● Độ tin cậy cao: Render.com sử dụng các công nghệ và cơ sở hạ tầng đáng tin cậy để đảm bảo ứng dụng của bạn hoạt động một cách ổn định và liên tục
● Cung cấp nhiều dịch vụ bổ sung: Render.com cung cấp các dịch vụ bổ sung như cơ sở
dữ liệu, email, bảo mật SSL, và quản lý DNS
Nhược điểm của Render.com:
● Giới hạn về tài nguyên: Render.com có một số giới hạn về tài nguyên như lưu lượng mạng và dung lượng đĩa, tùy thuộc vào gói dịch vụ bạn chọn
● Giá cao: So với một số nền tảng đám mây khác, Render.com có mức giá tương đối cao, đặc biệt đối với các ứng dụng có yêu cầu tài nguyên lớn
● Hạn chế tính linh hoạt: Render.com có một số hạn chế về khả năng tùy chỉnh và mở rộng, đặc biệt là so với các nền tảng đám mây lớn hơn như AWS hoặc Google Cloud
● Tuy nhiên, đánh giá về ưu và nhược điểm cụ thể của Render.com có thể thay đổi theo nhu cầu và yêu cầu của từng dự án và doanh nghiệp cụ thể Việc tìm hiểu kỹ về tính năng và giới hạn của Render.com cùng việc so sánh với các nền tảng khác sẽ giúp bạn đưa ra quyết định phù hợp cho dự án của mình
Trang 262.5 Ngrok
Trang 27Ngrok là một công cụ giúp bạn tạo một kết nối an toàn qua Internet từ máy tính của bạn đến một máy chủ công khai, cho phép bạn truy cập và chia sẻ ứng dụng web hoặc dịch vụ địa phương của mình với người khác
Dưới đây là một số ưu điểm và nhược điểm của Ngrok:
Ưu điểm của Ngrok:
● Dễ sử dụng: Ngrok cung cấp một giao diện đơn giản và dễ sử dụng, cho phép bạn nhanh chóng thiết lập kết nối và chia sẻ ứng dụng của mình
● Kết nối an toàn: Ngrok sử dụng một kết nối mã hóa để bảo vệ thông tin của bạn khi truyền qua Internet, đảm bảo an toàn cho dữ liệu của bạn
● Hỗ trợ nhiều giao thức: Ngrok hỗ trợ nhiều giao thức như HTTP, HTTPS, TCP và UDP, giúp bạn chia sẻ và truy cập các dịch vụ khác nhau
● Hỗ trợ cả máy chủ địa phương: Ngrok cho phép bạn chia sẻ các dịch vụ địa phương của mình trên máy tính để phục vụ phát triển và kiểm thử
● Cấu hình linh hoạt: Ngrok cho phép bạn tùy chỉnh các thiết lập và cấu hình phù hợp với nhu cầu của bạn
Nhược điểm của Ngrok:
● Giới hạn băng thông: Phiên bản miễn phí của Ngrok có giới hạn về băng thông và số lượng kết nối đồng thời Điều này có thể gây hạn chế đối với các ứng dụng có lưu lượng cao hoặc nhiều người dùng
● Phụ thuộc vào dịch vụ bên thứ ba: Ngrok là một dịch vụ bên thứ ba, do đó, bạn phải tin tưởng vào tính sẵn sàng và bảo mật của dịch vụ này
● Không thích hợp cho môi trường sản xuất: Ngrok thường được sử dụng để phát triển
và kiểm thử Tuy nhiên, nó không phù hợp để triển khai trong môi trường sản xuất với yêu cầu cao về độ tin cậy và hiệu suất
Trang 28● Việc sử dụng Ngrok hoặc bất kỳ công cụ nào khác phụ thuộc vào yêu cầu và mục đích
cụ thể của dự án của bạn Hãy xem xét các ưu điểm và nhược điểm trên để đảm bảo rằng Ngrok phù hợp với nhu cầu của bạn
Trang 29CHƯƠNG III :THIẾT KẾ HỆ THỐNG
3.1 Kiến trúc hệ thống: Mô hình Client - Server
Sơ đồ tổng quan và giới thiệu
Client server là mô hình mạng máy tính gồm có 2 thành phần chính đó là máy khách (client)
và máy chủ (server) Server chính là nơi giúp lưu trữ tài nguyên cũng như cài đặt các chương trình dịch vụ theo đúng như yêu cầu của client Ngược lại, Client bao gồm máy tính cũng như các loại thiết bị điện tử nói chung sẽ tiến hành gửi yêu cầu đến server
Client
Client chính là khách hàng sử dụng dịch vụ Nó có thể là một tổ chức hay cá nhân cụ thể nào
đó Và khi khái niệm này được sử dụng trong lĩnh vực kỹ thuật số thì cũng mang ý nghĩa tương
tự như vậy Trong Client Server thì Client chính là một máy tính (Host) Chúng có khả năng nhận thông tin từ nhà cung cấp và sử dụng dịch vụ cụ thể (Server)
Server
Trang 30Server là từ dùng để nói về một máy chủ hoặc một phương tiện được sử dụng để phục vụ các dịch vụ nào đó Khi khái niệm này được sử dụng trong lĩnh vực công nghệ thì Server là một máy tính từ xa Chúng có chức năng là cung cấp các thông tin (dữ liệu) cho một dịch vụ cụ thể nào đó hoặc quyền truy cập đối với dịch vụ
Trang 313.2 Yêu cầu chức năng
3.2.1 Sơ đồ Usecase
Trang 323.2.2 Danh sách tác nhân
STT Tên tác
nhân
Mô tả
1 Job Seeker Người đang tìm kiếm công việc cho mình
3.2.3 Danh sách Use Case
STT Tên chức năng Vai trò Mô tả
1 Đăng ký Job Seeker, HR Người dùng đăng kí tài tài khoản mới
2 Đăng nhập Job Seeker, HR Người dùng hoặc người quản lý đăng
nhập
3 Quên mật khẩu Job Seeker, HR Người dùng đổi mật khẩu
4 Đăng xuất Job Seeker, HR Người dùng tìm kiếm phim phù hợp
5 Tìm kiếm Job Seeker, HR Người dùng tìm kiếm công việc, công
ty,
6 Xem thông tin
công ty
Job Seeker Người tìm việc có thể tra cứu công ty
và các tin tuyển dụng hiện tại của công
ty đó
7 Quản lý tài khoản Job Seeker, HR Người dùng xem thông tin tài khoản
Trang 338 Sửa thông tin tài
10 Nộp đơn xin việc Job Seeker Người dùng gửi CV dưới dạng file
word/pdf cho nhà tuyển dụng
11 Xem thông tin ứng
tuyển
HR Nhà tuyển dụng có thể xem những CV
được gửi đến từ Người tìm việc
12 Đăng tin tuyển
HR Nhà tuyển dụng sẽ ra quyết định đối
với những đơn tuyển dụng
15 Newfeeds Job seeker, HR Trang tin của người tìm việc và nhà
tuyển dụng, tiện trao đổi
16 Hẹn giờ phỏng
vấn
Job seeker Đặt hẹn giờ phỏng vấn, đến thời gian
phỏng vấn sẽ có “notification” hiện lên
3.2.4 Mô tả chi tiết Use Case
3.2.4.1 Đăng ký
Trang 34User Case ID UC_01
Goal Đăng kí thành công
Actors Job seeker, HR
Pre-condition
None
Main flow 1 Nhấp vào biểu tượng đăng ký
2 Hệ thống sẽ chuyển hướng đến trang đăng ký
3 Người dùng nhập thông tin của họ
4 Người dùng nhấp vào nút đăng ký
Hệ thống đã sẵn sàng cho hoạt động tiếp theo
Exception Nếu thông tin nhập vào không có hợp lệ, ứng dụng sẽ phản hồi thông báo
thất bại
3.2.4.2 Đăng nhập