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

Xây dựng website tuyển dụng nhân sự trong ngành công nghệ thông tin

163 4 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

Tiêu đề Xây Dựng Website Tuyển Dụng Nhân Sự Trong Ngành Công Nghệ Thông Tin
Tác giả Đặng Nguyễn Hoài Thư, Nguyễn Hữu Tường
Người hướng dẫn ThS. Nguyễn Thanh Phước
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 163
Dung lượng 9,33 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ỨNG DỤNG (24)
    • 1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (0)
    • 1.2. MỤC ĐÍCH CỦA ĐỀ TÀI (24)
    • 1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (25)
      • 1.3.1. Đối tượng nghiên cứu (25)
      • 1.3.2. Phạm vi nghiên cứu (25)
    • 1.4. PHƯƠNG PHÁP NGHIÊN CỨU (25)
    • 1.5. KẾT QUẢ DỰ KIẾN (0)
      • 1.5.1. Phía người tìm việc (26)
      • 1.5.2. Phía nhà tuyển dụng (26)
      • 1.5.3. Phía quản lý hệ thống (27)
      • 1.5.4. Phía quản trị hệ thống (27)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (28)
    • 2.1. MÔ HÌNH KIẾN TRÚC MERN STACK (0)
      • 2.1.1. Tổng quan về ứng dụng (28)
      • 2.1.2. MongoDB (30)
        • 2.1.2.1. Tổng quan (30)
        • 2.1.2.2. Lợi thế của MongoDB (31)
      • 2.1.3. Express (31)
        • 2.1.3.1. Định nghĩa về express (31)
      • 2.1.4. ReactJS (33)
        • 2.1.4.1. Định nghĩa về ReactJS (33)
        • 2.1.4.2. Những tính năng của ReactJS (33)
      • 2.1.5. NodeJS (34)
        • 2.1.5.1. Định nghĩa về NodeJS (34)
        • 2.1.5.2. Đặc tính của NodeJS (35)
        • 2.1.5.3. Hoạt động của NodeJs (35)
        • 2.1.5.4. Ưu và nhược điểm của NodeJS (36)
    • 2.2. HEROKU (36)
      • 2.2.1. Tổng quan về Heroku (36)
      • 2.2.2. Các bước thực hiện (37)
    • 2.3. FIREBASE (38)
      • 2.3.1. Tìm hiểu về Firebase (38)
      • 2.3.2. Các bước thực hiện (39)
  • CHƯƠNG 3. XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU (40)
    • 3.1. KHẢO SÁT HIỆN TRẠNG (40)
      • 3.1.1. Itviec (40)
        • 3.1.1.2. Ưu điểm (40)
        • 3.1.1.3. Nhược điểm (41)
        • 3.1.2.2. Ưu điểm (41)
        • 3.1.2.3. Nhược điểm (42)
      • 3.1.3. Kết luận (42)
    • 3.2. LƯỢC ĐỒ USECASE (45)
    • 3.3. DANH SÁCH USECASE (45)
    • 3.4. ĐẶC TẢ USECASE (48)
      • 3.4.1. Usecase Đăng ký tài khoản (48)
      • 3.4.2. Usecase Xem trang chủ (Guest, Người tìm việc) (49)
      • 3.4.3. Usecase Tìm kiếm việc làm (50)
      • 3.4.4. Usecase Xem danh sách tin tuyển dụng (52)
      • 3.4.5. Usecase Xem chi tiết tin tuyển dụng (53)
      • 3.4.6. Usecase Xem chi tiết công ty (53)
      • 3.4.7. Usecase Xem danh sách sự kiện (54)
      • 3.4.8. Usecase Tìm kiếm sự kiện (55)
      • 3.4.9. Usecase Xem chi tiết sự kiện (55)
      • 3.4.10. Usecase Ứng tuyển công việc (56)
      • 3.4.11. Usecase Lưu công việc (57)
      • 3.4.12. Usecase Điềm form thông tin tham gia sự kiện (58)
      • 3.4.13. Usecase Xuất phiếu tham gia sự kiện (60)
      • 3.4.14. Usecase Review công ty (60)
      • 3.4.15. Usecase Tham gia và xem entry test (61)
      • 3.4.16. Usecase Điền form tham gia sự kiện (62)
      • 3.4.17. Usecase Quản lý tin tuyển dụng (64)
      • 3.4.19. Usecase Quản lý CV ứng viên (70)
      • 3.4.20. Usecase Quản lý entry test (72)
      • 3.4.21. Usecase Đăng ký gói dịch vụ (74)
      • 3.4.22. Usecase Thông báo trúng tuyển (75)
      • 3.4.23. Usecase Xem thống kê (Nhà tuyển dụng) (75)
      • 3.4.24. Usecase Cấp tài khoản cho doanh nghiệp (76)
      • 3.4.25. Usecase Phê duyệt tài khoản nhà tuyển dụng (77)
      • 3.4.26. Usecase Quản lý tin tuyển dụng (Quản lý hệ thống) (78)
      • 3.4.27. Usecase Quản lý gói dịch vụ (80)
      • 3.4.28. Usecase Xem thống kê (Quản lý hệ thống) (82)
      • 3.4.29. Usecase Cấp tài khoản quản lý hệ thống (83)
      • 3.4.30. Usecase Cấp tài khoản quản trị hệ thống (84)
      • 3.4.31. Usecase Xem thống kê (Quản trị hệ thống) (85)
      • 3.4.32. Usecase Quản lý tài khoản (86)
    • 3.5. LƯỢC ĐỒ TUẦN TỰ (88)
      • 3.5.1. Lược đồ tuần tự Ứng tuyển công việc (0)
      • 3.5.2. Lược đồ tuần tự Lưu công việc (0)
      • 3.5.3. Lược đồ tuần tự Điền form tham gia sự kiện (0)
      • 3.5.4. Lược đồ tuần tự Review công ty (0)
      • 3.5.5. Lược đồ tuần tự Điền form thông tin nhà tuyển dụng (0)
      • 3.5.6. Lược đồ tuần tự Đăng tin tuyển dụng (0)
      • 3.5.7. Lược đồ tuần tự Tạo sự kiện (0)
      • 3.5.8. Lược đồ tuần tự Xuất excel người tham gia sự kiện (0)
      • 3.5.10. Lược đồ tuần tự Lưu CV ứng viên (0)
      • 3.5.11. Lược đồ tuần tự Thông báo trúng tuyển (0)
      • 3.5.12. Lược đồ tuần tự Phê duyệt tài khoản Nhà tuyển dụng (0)
      • 3.5.13. Lược đồ tuần tự Phê duyệt tin tuyển dụng (0)
      • 3.5.14. Lược đồ tuần tự Đăng ký gói dịch vụ (0)
  • CHƯƠNG 4. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (0)
    • 4.1. THIẾT KẾ TỔNG QUAN (0)
      • 4.1.1. Các thành phần của ứng dụng (0)
      • 4.1.2. Backend (97)
        • 4.1.2.1. Cách tổ chức thư mục/package trong backend (97)
        • 4.1.2.2. Thư viện sử dụng trong backend (98)
      • 4.1.3. Frontend (100)
        • 4.1.3.1. Cách tổ chức thư mục/package trong frontend (100)
        • 4.1.3.2. Thư viện sử dụng trong frontend (103)
    • 4.2. THIẾT KẾ API (0)
    • 4.3. THIẾT KẾ CƠ SỞ DỮ LIỆU (0)
      • 4.3.1. Sơ đồ thiết kế cơ sở dữ liệu (108)
      • 4.3.2. Mô tả sơ đồ thiết kế cơ sở dữ liệu (109)
        • 4.3.2.1. Bảng Employer (Nhà tuyển dụng) (109)
        • 4.3.2.2. Bảng Jobseeker (Người tìm việc) (110)
        • 4.3.2.3. Bảng System Manager ( Quản lý hệ thống) (111)
        • 4.3.2.4. Bảng System Admin (Quản trị hệ thống) (111)
        • 4.3.2.5. Bảng Job ( Tin tuyển dụng) (112)
        • 4.3.2.7. Bảng Review (Đánh giá về công ty) (113)
        • 4.3.2.8. Bảng Event (Sự kiện của công ty) (113)
        • 4.3.2.9. Bảng Participant (Người tham gia sự kiện) (114)
        • 4.3.2.10. Bảng Service (Dịch vụ) (115)
        • 4.3.2.11. Bảng Service Package (Gói dịch vụ) (115)
        • 4.3.2.12. Bảng Order (Thông tin giao dịch) (115)
        • 4.3.2.13. Bảng Cart (Giỏ hàng) (116)
        • 4.3.2.14. Bảng Question (Câu hỏi) (116)
        • 4.3.2.15. Bảng Entry test (Bộ đề thi) (117)
        • 4.3.2.16. Bảng Answersheet (Phiếu trả lời) (117)
    • 4.4. THIẾT KẾ GIAO DIỆN (0)
      • 4.4.1. Màn hình của role Guest (118)
        • 4.4.1.2. SC_001: Màn hình trang chủ của role Guest (120)
        • 4.4.1.3. SC_002: Màn hình tìm kiếm công việc (121)
        • 4.4.1.4. SC_003: Màn hình chi tiết công việc (123)
        • 4.4.1.5. SC_004: Màn hình chi tiết nhà tuyển dụng (125)
        • 4.4.1.6. SC_005: Màn hình tìm kiếm sự kiện (126)
        • 4.4.1.7. SC_006: Màn hình chi tiết sự kiện (129)
      • 4.4.2. Màn hình role Người tìm việc (130)
        • 4.4.2.2. SC_016: Màn hình ứng tuyển công việc (131)
        • 4.4.2.3. SC_017: Màn hình đánh giá nhà tuyển dụng (132)
        • 4.4.2.4. SC_018: Màn hình đăng ký tham gia sự kiện (133)
        • 4.4.2.5. SC_019: Màn hình quản lý tài khoản (135)
        • 4.4.2.7. SC_022: Màn hình danh sách sự kiện đã đăng ký (138)
      • 4.4.3. Màn hình role Nhà tuyển dụng (138)
        • 4.4.3.2. SC_024: Màn hình thống kê số liệu (140)
        • 4.4.3.3. SC_025: Màn hình đăng tin tuyển dụng (142)
        • 4.4.3.4. SC_026: Màn hình quản lý tin tuyển dụng đã tạo (143)
        • 4.4.3.5. SC_029: Màn hình tạo sự kiện (143)
        • 4.4.3.6. SC_031: Màn hình xem danh sách thành viên đăng ký tham sự kiện (145)
        • 4.4.3.7. SC_034: Màn hình quản lý hồ sơ ứng viên (146)
      • 4.4.4. Màn hình role Quản lý hệ thống (147)
        • 4.4.4.2. SC_037: Màn hình thống kê số liệu (148)
        • 4.4.4.3. SC_038: Màn hình quản lý nhà tuyển dụng (150)
        • 4.4.4.4. SC_039: Màn hình chi tiết nhà tuyển dụng (151)
        • 4.4.4.5. SC_040: Màn hình tạo tài khoản nhà tuyển dụng (151)
        • 4.4.4.6. SC_041: Màn hình quản lý tin tuyển dụng đã tạo (152)
      • 4.4.5. Màn hình role Quản trị hệ thống (153)
        • 4.4.5.2. SC_045: Màn hình thống kê số liệu (154)
        • 4.4.5.3. SC_046: Màn hình Cấp tài khoản (156)
  • CHƯƠNG 5. KẾT LUẬN (0)
    • 5.1. TỔNG KẾT (0)
    • 5.2. KẾT QUẢ ĐẠT ĐƯỢC (0)
    • 5.3. PHÂN CÔNG CÔNG VIỆC (158)
      • 5.3.1. Phân công công việc (158)
      • 5.3.2. Tỷ lệ đóng góp (159)
      • 5.4.1. Ưu điểm (159)
      • 5.4.2. Nhược điểm (159)
    • 5.5. KHÓ KHĂN (159)
      • 5.5.1. Khó khăn về công nghệ (159)
      • 5.5.2. Khó khăn về quy trình thực hiện (160)
    • 5.6. BÀI HỌC KINH NGHIỆM (160)
    • 5.7. HƯỚNG PHÁT TRIỂN (160)
  • TÀI LIỆU THAM KHẢO (162)

Nội dung

Nội dung thực hiện đề tài: − Xây dựng trang web cho phép người dùng tìm việc làm, ứng tuyển công việc phù hợp, tham gia các sự kiện mà nhà tuyển dụng tổ chức − Xây dựng trang web cho phé

TỔNG QUAN VỀ ỨNG DỤNG

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

Xây dựng website tuyển dụng nhân sự trong ngành công nghệ thông tin là một đề tài quan trọng, đặt ra các vấn đề trọng tâm về mục tiêu mà sinh viên nghiên cứu cần thực hiện Để hoàn thành đề tài này, sinh viên cần phải xác định rõ mục tiêu chính của website, bao gồm việc kết nối giữa nhà tuyển dụng và ứng viên, cung cấp thông tin tuyển dụng chính xác và kịp thời, cũng như tạo ra một nền tảng thuận tiện cho quá trình tìm kiếm và ứng tuyển.

Khi thực hiện dự án, sinh viên cần nghiên cứu chuyên môn về công nghệ MERN Stack, bao gồm cả tổng quan và khả năng ứng dụng của nó Đồng thời, việc tìm hiểu thêm về các thư viện, mã nguồn module và template cũng là điều cần thiết để hỗ trợ quá trình xây dựng website và mang lại trải nghiệm tốt cho người dùng Ngoài ra, nhóm sinh viên cũng cần tìm hiểu về quá trình hosting để có thể triển khai sản phẩm của mình lên internet một cách hiệu quả.

Ứng dụng các kiến thức đã tìm hiểu vào xây dựng một sản phẩm cụ thể là một trong những vấn đề quan trọng mà đề tài đặt ra Sản phẩm này là một Website tuyển dụng nhân sự trong ngành công nghệ thông tin, đáp ứng các yêu cầu cơ bản như phục vụ cho nhà tuyển dụng và ứng viên tìm việc làm Sản phẩm hoàn thành phải là một ứng dụng web có khả năng nâng cấp để tiếp tục phát triển nhiều tính năng hơn nữa trong tương lai, đáp ứng nhu cầu ngày càng tăng của thị trường.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Cùng với sự phát triển của nền kinh tế xã hội, cuộc sống hiện đại ngày càng đòi hỏi sự ứng dụng của công nghệ trong từng lĩnh vực đời sống Do đó, nhu cầu tìm hiểu và phát triển trong lĩnh vực công nghệ thông tin ngày càng tăng cao Nhiều công ty đang có nhu cầu tuyển dụng nhân lực chất lượng cao trong ngành này, đồng thời, cũng có ngày càng nhiều người tìm việc mong muốn xây dựng sự nghiệp trong lĩnh vực công nghệ thông tin đầy tiềm năng.

Các trang web tuyển dụng nhân sự trong lĩnh vực công nghệ thông tin ra đời như một giải pháp kết nối hiệu quả giữa ứng viên và nhà tuyển dụng, giúp họ tìm thấy cơ hội và tài năng phù hợp trong ngành công nghệ thông tin đang phát triển mạnh mẽ.

Trang web này hướng đến đối tượng là những người đang tìm kiếm cơ hội việc làm mới, bao gồm cả sinh viên mới ra trường và những người muốn chuyển đổi công việc Ngoài ra, trang web cũng phục vụ nhu cầu của các công ty đang tìm kiếm ứng viên tài năng, cung cấp thông tin cần thiết để hỗ trợ quá trình tuyển dụng hiệu quả.

PHƯƠNG PHÁP NGHIÊN CỨU

- Học hỏi và tìm hiểu về lý thuyết, công nghệ React, Express, NodeJs, MongoDB thông qua tài liệu trên mạng, các khóa học trên internet

- Tham khảo nghiệp vụ làm việc ở các trang tuyển dụng như itviec, vietnamwork,…

KẾT QUẢ DỰ KIẾN

Chúng tôi đã xây dựng thành công một Website tuyển dụng nhân sự chuyên nghiệp trong lĩnh vực công nghệ thông tin bằng cách tận dụng sức mạnh của công nghệ MERN stack Sản phẩm Frontend của chúng tôi được triển khai trên nền tảng Firebase, đảm bảo tốc độ và độ ổn định cao, trong khi đó Backend được triển khai trên Heroku, giúp tối ưu hóa hiệu suất và khả năng mở rộng.

- Tìm kiếm công việc phù hợp

- Tham gia và xem kết quả entry test

- Điền, gửi form thông tin của nhà tuyển dụng

- Tạo công việc, điền thông tin tuyển dụng

+ Xem lịch sự kiện đã tạo

- Quản lý CV ứng viên

- Đăng ký gói dịch vụ của hệ thống

+ Xem kết quả entry test của ứng viên + Xóa entry test

1.5.3 Phía quản lý hệ thống

- Cấp tài khoản doanh nghiệp

- Phê duyệt tài khoản nhà tuyển dụng

- Quản lý tin tuyển dụng

+ Phê duyệt tin tuyển dụng

- Quản lý gói dịch vụ

+ Chỉnh sửa gói dịch vụ

1.5.4 Phía quản trị hệ thống

+ Xem danh sách người dùng

+ Cấp tài khoản cho quản lý hệ thống

CƠ SỞ LÝ THUYẾT

HEROKU

Heroku là nền tảng đám mây cho phép các lập trình viên xây dựng, triển khai, quản lý và mở rộng ứng dụng (PaaS – Platform as a service)

Heroku Runtime cung cấp các container thông minh để chạy ứng dụng của bạn, tự động xử lý các tác vụ như cấu hình, điều phối, cân bằng tải, sao lưu, nhật ký và bảo mật, giúp bạn tập trung vào việc phát triển ứng dụng.

- Heroku Teams: Đây là một công cụ quản lý nhóm, kết hợp nhiều lập trình viên lại với nhau để xây dựng phần mềm tốt hơn

Elevate your application management with integrated add-ons, including New Relic, MongoDB, SendGrid, Searchify, Fastly, Papertrail, ClearDB MySQL, and Treasure Data, designed to extend, enhance, and streamline your workflow.

- Code/data rollback: Heroku cho phép bạn khôi phục mã nguồn hoặc cơ sở dữ liệu của mình về trạng thái trước đó ngay lập tức

Với tính năng giám sát tích hợp, bạn có thể theo dõi các chỉ số quan trọng của ứng dụng như lưu lượng, thời gian phản hồi, bộ nhớ, tải CPU và lỗi, giúp bạn luôn cập nhật tình hình hoạt động của ứng dụng và đưa ra quyết định cải thiện kịp thời.

Heroku Flow leverages Heroku Pipeline, Review Apps, and GitHub integration to establish a seamless CI/CD workflow, encompassing build, test, and deployment processes By integrating with GitHub, users can effortlessly manage pull requests, push, and commit actions, streamlining their development pipeline and enhancing overall productivity.

2.2.2 Các bước thực hiện Điều kiện tiên quyết: Cài đặt Git và Heroku CLI

Bước 1: Cài đặt CLI ở link bên dưới https://devcenter.heroku.com/articles/heroku-cli#download-and-install

Để tạo dự án trên Heroku, bạn cần tạo một tài khoản miễn phí và kích hoạt, sau đó đăng nhập vào địa chỉ https://dashboard.heroku.com/ Trên trang dashboard, bạn sẽ thấy biểu tượng dấu cộng để tạo dự án mới, hãy click vào đó và chọn "Create new app" để bắt đầu tạo ứng dụng của mình.

Khi tạo ứng dụng trên Heroku, bạn cần chọn tên cho ứng dụng của mình trong mục "App name", nếu bỏ trống, Heroku sẽ tự động gán một tên ngẫu nhiên Tiếp theo, bạn sẽ phải lựa chọn vùng máy chủ để Heroku host ứng dụng, với hai lựa chọn là Mỹ và Châu Âu.

Bước 3: Đăng nhập vào heroku

Để thực hiện đăng nhập vào Heroku, bạn nhập dòng lệnh "heroku login" vào cmd và nhấn bất kì phím nào sau vài giây Sau đó, trình sẽ tự động chuyển đến một trang đăng nhập nơi bạn có thể nhập thông tin của mình để hoàn tất quá trình đăng nhập.

Sau khi đăng nhập thành công, người dùng sẽ được trở về giao diện dòng lệnh (cmd) để tiếp tục thực hiện các công việc tiếp theo Nếu người dùng nhập 'q', chương trình sẽ tự động thoát khỏi hệ thống.

Bước 4: Tạo local git respository

Trước khi có thể deloy website lên Heroku, bạn cần phải khởi ngồn một local git repository và thực hiện commit tất cả các code lên trên đó

To create a Heroku remote, follow this step for an existing Heroku website: if you already have an app on Heroku, you can easily add a local Git repository using the command "heroku git:remote -a appname", such as "heroku git:remote -a edosecompany-server".

To deploy your website to Heroku, utilize the command "git push heroku main" to push your code from the local Git repository to the Heroku remote Once deployed, use the "heroku open" command to view your newly deployed website on Heroku.

FIREBASE

Firebase là nền tảng phát triển ứng dụng di động và web toàn diện, cung cấp nhiều công cụ và dịch vụ giúp các nhà phát triển tạo ra ứng dụng chất lượng cao, mở rộng cơ sở người dùng và tăng doanh thu Các dịch vụ của Firebase được chia thành hai nhóm chính, hỗ trợ các nhà phát triển trong quá trình xây dựng và phát triển ứng dụng hiệu quả.

- Phát triển và thử nghiệm ứng dụng của bạn:

- Phát triển và thu hút user của bạn

Bước 1: Cài đặt Firebase bằng lệnh “npm i -g firebase-tools

Bước 2: Đăng nhập Firebase bằng lệnh “firebase login”

Bước 3.1: Chạy lệnh “firebase init” và chọn “hosting: Configure and deloy

Bước 3.2: Lựa chọn tạo mới hoặc sử dụng project có sẵn

Bước 3.3: Chọn project để deloy

Bước 3.4: Trả lời lần lượt 4 câu hỏi

- Câu 1: Directory mà bạn muốn deploy?

- Câu 2: Bạn có sử dụng rewrite khi dùng Single-Page App hay ko?

- Câu 3: Bạn có muốn xây dựng và triển khai với GitHub không?

- Câu 4: Bạn có muốn override file index.html không?

Bước 3.5: Chạy câu lệnh “firebase deloy only hosting”

XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU

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

Itviec nổi bật với đặc điểm chỉ dành riêng cho cộng đồng IT, trở thành một trong những trang web đáng tin cậy hàng đầu cho các nhà tuyển dụng muốn đăng tải các vị trí làm việc trong lĩnh vực công nghệ thông tin.

Hình 3.1: Trang chủ của Itviec

- Giao diện thiết kế đơn giản, dễ nhìn, thân thiện với người dùng

- Hỗ trợ hai ngôn ngữ: tiếng việt và tiếng anh

- Bố cục rõ ràng, thể hiện đầy đủ các thông tin cơ bản của công ty, thông tin chi tiết của vị trí tuyển dụng

- Trang giới thiệu cung cấp thông tin rõ ràng về các chức năng mà người sử dụng có thể thực hiện

- Chức năng tìm kiếm nâng cao giúp người dùng có thể tìm kiếm công việc phù hợp một cách dễ dàng

Ứng dụng còn tích hợp chức năng blog, giúp người dùng dễ dàng cập nhật thông tin, kiến thức về sự nghiệp và các kỹ năng cần thiết trong lĩnh vực công nghệ thông tin, từ đó hỗ trợ họ phát triển sự nghiệp một cách hiệu quả hơn.

Một hạn chế của thanh tìm kiếm là thiếu các tiêu chí tìm kiếm đa dạng, khiến người dùng chỉ có thể lựa chọn tìm kiếm dựa trên khu vực, mà không thể tìm kiếm theo sở thích cá nhân của mình Điều này có thể gây bất tiện và hạn chế trải nghiệm người dùng.

- Hỗ trợ đa ngôn ngữ có lúc hỗ trợ, có lúc không trợ

- Không xem được tất cả review của công ty, chỉ xem được tất cả review của công ty khi đã review cho công ty đó

Vietnamwork là một trong những trang web tìm việc làm hàng đầu hiện nay, phù hợp với đa dạng đối tượng và cung cấp nhiều ngành nghề khác nhau Trang web này đã trở thành sự lựa chọn tin cậy của các công ty và tập đoàn lớn khi tìm kiếm nhân sự chất lượng cao.

Hình 3.2: Trang chủ của trang Vietnamwork

- Hỗ trợ hai ngôn ngữ: tiếng việt và tiếng anh

- Bố cục rõ ràng, thể hiện đầy đủ các thông tin cơ bản của công ty, thông tin chi tiết của vị trí tuyển dụng

- Trang giới thiệu cung cấp thông tin rõ ràng về các chức năng mà người sử dụng có thể thực hiện

Chức năng tìm kiếm nâng cao cho phép người dùng tìm kiếm công việc phù hợp một cách dễ dàng và nhanh chóng, đồng thời hỗ trợ tìm kiếm nhiều tiêu chí khác nhau để người dùng có thể lựa chọn công việc phù hợp với nhu cầu và sở thích của mình.

- Có thể tạo CV trực tuyến trên website

Trang HR Insider là nguồn thông tin đa dạng và phong phú, cung cấp các bài blog hữu ích giúp bạn làm quen với văn hóa công việc và cải thiện các kỹ năng làm việc cần thiết.

- Có bộ câu hỏi phỏng vấn của nhiều ngành nghề khác nhau

- Hỗ trợ nhà tuyển dụng tìm kiếm hồ sơ ứng viên một cách dễ dàng

Bên cạnh việc tìm kiếm ứng viên tiềm năng, nhà tuyển dụng cũng có thể đánh giá kiến thức, tính cách và sự nhanh nhạy của ứng viên thông qua bài kiểm tra 3E-IP, giúp họ đưa ra quyết định tuyển dụng chính xác hơn.

- Quá nhiều thông tin hiển thị trên một trang web khiến người sử dụng cảm thấy rối mắt, dày đặc

- Kích thước chữ hiển thị hơi nhỏ

- Không có chức năng review công ty để người tìm việc có cái nhìn tổng quan hơn về công ty đó

Từ việc tham khảo về các chức năng trên các trang tuyển dụng trên nhóm đã đưa ra những chức năng cần có để xây dựng cho dự án:

- Xây dựng trang web cho phép người dùng tìm việc làm, ứng tuyển công việc phù hợp, tham gia các sự kiện mà nhà tuyển dụng tổ chức

Việc xây dựng trang web cho phép nhà tuyển dụng thực hiện đăng ký với hệ thống, từ đó có thể đăng tin tuyển dụng, quản lý sự kiện và tìm kiếm những ứng viên phù hợp cho vị trí đang tuyển dụng một cách dễ dàng và hiệu quả Trang web này đóng vai trò quan trọng trong việc kết nối nhà tuyển dụng với ứng viên tiềm năng, giúp họ tìm được người phù hợp cho công việc một cách nhanh chóng và tiết kiệm thời gian.

- Xây dựng trang web cho phép quản lý hệ thống có thể quản lý nhà tuyển dụng, tin tuyển dụng

- Xây dựng trang web cho phép quản trị hệ thống quản lý user trong hệ thống

Các actor và chức năng có trong dự án

+ Xem danh sách tin tuyển dụng

+ Xem chi tiết tin tuyển dụng

+ Xem chi tiết công ty

+ Xem danh sách sự kiện

+ Xem chi tiết sự kiện

+ Tìm kiếm công việc phù hợp

+ Tham gia và xem kết quả entry test

Để tối ưu hóa quy trình tuyển dụng, các nhà tuyển dụng cần thực hiện một số bước quan trọng Đầu tiên, họ cần điền và gửi form thông tin của mình để cung cấp thông tin cần thiết Tiếp theo, họ cần tạo công việc và điền thông tin tuyển dụng cụ thể để thu hút ứng viên phù hợp Ngoài ra, việc quản lý sự kiện cũng đóng vai trò quan trọng trong quá trình tuyển dụng, giúp nhà tuyển dụng theo dõi và quản lý các ứng viên một cách hiệu quả.

• Xem lịch sự kiện đã tạo + Quản lý CV ứng viên

• Loại CV ứng viên + Thông báo trúng tuyển

+ Đăng ký gói dịch vụ của hệ thống

• Xem kết quả entry test của ứng viên

• Gửi entry test cho ứng viên

+ Cấp tài khoản doanh nghiệp

+ Phê duyệt tài khoản nhà tuyển dụng + Quản lý tin tuyển dụng

• Phê duyệt tin tuyển dụng

• Xóa tin tuyển dụng + Quản lý gói dịch vụ

• Chỉnh sửa gói dịch vụ

• Xóa gói dịch vụ + Xem thống kê

• Xem danh sách người dùng

• Cấp tài khoản cho quản lý hệ thống + Quản lý tài khoản

LƯỢC ĐỒ USECASE

Hình 3.3: Lược đồ usecase tổng quát

DANH SÁCH USECASE

Bảng 3.1: Bảng liệt kê usecase

STT Tên usecase Usecase ID Actor uc Ov erv iew Usecase

Xem danh sach tin tuyen dung

Xem chi tiet tin tuyen dung

Xem chi tiet cong ty

Xem danh sach su kien

Xem chi tiet su kien

Dien form tham gia su kien

Xuat phieu tham gia su kien

Dien form thong tin nha tuyen dung

Quan ly tin tuyen dung

Xem lich su su kien da tao

Quan ly CV ung v ien

Xem thong ke Quan ly tai khoan

Xem thong tin tai khoan

Chinh sua tai khoan Doi mat khau

Cap tai khoan doanh nghiep

Phe duyet tai khoan nha tuyen dung

Xem thong ke Quan ly tin tuyen dung

Phe duyet tin tuyen dung

Tu choi phe duyet tin tuyen dung

Cap tai khoan quan ly he thong Xem thong ke

Chinh sua tin tuyen dung

Xuat excel danh sach nguoi tham gia

Tim kiem CV ung v ien

Cap tai khoan quan tri he thong

Tham gia v a xem ket qua entry test

Xem ket qua Entrytest Xoa Entrytest Dang ky goi dich v u

Xoa dich v u Tao goi dich v u

Tôi không thể giúp bạn với nội dung bài viết đó vì nó không có thông tin cụ thể Vui lòng cung cấp nội dung bài viết thực tế để tôi có thể giúp bạn viết lại nó thành một đoạn văn mạch lạc và tuân thủ các quy tắc SEO.

1 Đăng ký tài khoản UC_001 Guest

3 Quên mật khẩu UC_003 Guest

4 Xem trang chủ UC_004 Guest, Người tìm việc

5 Tìm kiếm việc làm UC_005 Guest, Người tìm việc

6 Xem danh sách tin tuyển dụng UC_006 Guest, Người tìm việc

7 Xem chi tiết tin tuyển dụng UC_007 Guest, Người tìm việc

8 Xem chi tiết công ty UC_008 Guest, Người tìm việc

9 Xem danh sách sự kiện UC_009 Guest, Người tìm việc

10 Tìm kiếm sự kiện UC_010 Guest, Người tìm việc

11 Xem chi tiết sự kiện UC_011 Guest, Người tìm việc

12 Ứng tuyển công việc UC_012 Người tìm việc

13 Lưu công việc UC_013 Người tìm việc

14 Điền form tham gia sự kiện UC_014 Người tìm việc

15 Xuất phiếu tham gia sự kiện UC_015 Người tìm việc

16 Review công ty UC_016 Người tìm việc

17 Tham gia và xem entry test UC_031 Người tìm việc

18 Điền form thông tin nhà tuyển dụng UC_017 Nhà tuyển dụng

19 Quản lý tin tuyển dụng UC_018 Nhà tuyển dụng

19.1 Đăng tin tuyển dụng UC_018.1 Nhà tuyển dụng 19.2 Chỉnh sửa tin tuyển dụng UC_018.2 Nhà tuyển dụng 19.3 Xóa tin tuyển dụng UC_018.3 Nhà tuyển dụng

20 Quản lý sự kiện UC_019 Nhà tuyển dụng

20.1 Tạo sự kiện UC_019.1 Nhà tuyển dụng

20.2 Chỉnh sửa sự kiện UC_019.2 Nhà tuyển dụng

20.3 Xóa sự kiện UC_019.3 Nhà tuyển dụng

20.4 Xem lịch sử sự kiện đã tạo UC_019.4 Nhà tuyển dụng 20.5 Xuất excel danh sách người tham gia

21 Quản lý CV ứng viên UC_020 Nhà tuyển dụng

21.1 Lưu CV ứng viên UC_020.1 Nhà tuyển dụng

21.2 Tìm kiếm CV ứng viên UC_020.2 Nhà tuyển dụng

21.3 Xem CV ứng viên UC_020.3 Nhà tuyển dụng

21.4 Loại CV ứng viên UC_020.4 Nhà tuyển dụng

22 Quản lý entry test UC_032 Nhà tuyển dụng

22.1 Tạo entry test UC_032.1 Nhà tuyển dụng

22.2 Chỉnh sửa entry test UC_032.2 Nhà tuyển dụng

22.3 Xem kết quả entry test UC_032.3 Nhà tuyển dụng

22.4 Xóa entrytest UC_032.4 Nhà tuyển dụng

22.5 Gửi entry test đến cho ứng viên UC_032.5 Nhà tuyển dụng

23 Đăng ký gói dịch vụ UC_033 Nhà tuyển dụng

24 Thông báo trúng tuyển UC_021 Nhà tuyển dụng

25 Xem thống kê UC_022 Nhà tuyển dụng

26 Cấp tài khoản doanh nghiệp UC_023 Quản lý hệ thống

27 Phê duyệt tài khoản nhà tuyển dụng UC_024 Quản lý hệ thống

28 Quản lý tin tuyển dụng UC_025 Quản lý hệ thống

28.1 Phê duyệt tin tuyển dụng UC_025.1 Quản lý hệ thống 28.2 Xem tin tuyển dụng UC_025.2 Quản lý hệ thống 28.3 Từ chối phê duyệt tin tuyển dụng UC_025.3 Quản lý hệ thống

29 Quản lý gói dịch vụ UC_034 Quản lý hệ thống

29.1 Tạo dịch vụ UC_034.1 Quản lý hệ thống

29.2 Chỉnh sửa dịch vụ UC_034.2 Quản lý hệ thống

29.3 Xóa dịch vụ UC_034.3 Quản lý hệ thống

29.4 Tạo gói dịch vụ UC_034.4 Quản lý hệ thống

29.5 Chỉnh sửa gói dịch vụ UC_034.5 Quản lý hệ thống

29.6 Xóa gói dịch vụ UC_034.6 Quản lý hệ thống

30 Xem thống kê UC_026 Quản lý hệ thống

31 Cấp tài khoản quản lý hệ thống UC_027 Quản trị hệ thống

32 Cấp tài khoản quản trị hệ thống UC_028 Quản trị hệ thống

33 Xem thống kê UC_029 Quản trị hệ thống

34 Quản lý tài khoản UC_030 Người tìm việc, nhà tuyển dụng, quản lý hệ thống, quản trị hệ thống

34.1 Xem thông tin tài khoản UC_030.1 Người tìm việc, nhà tuyển dụng, quản lý hệ

25 thống, quản trị hệ thống

34.2 Đổi mật khẩu UC_030.2 Người tìm việc, nhà tuyển dụng, quản lý hệ thống, quản trị hệ thống

34.3 Chỉnh sửa tài khoản UC_030.3 Người tìm việc, nhà tuyển dụng, quản lý hệ thống, quản trị hệ thống

34.4 Đăng xuất UC_030.4 Người tìm việc, nhà tuyển dụng, quản lý hệ thống, quản trị hệ thống

ĐẶC TẢ USECASE

3.4.1 Usecase Đăng ký tài khoản

Bảng 3.2: Đặc tả usecase đăng ký tài khoản

Name Đăng ký tài khoản

Người dùng thực hiện đăng ký tài khoản trong hệ thống để thực hiện các chức năng đặc quyền của thành viên trong hệ thống Actor(s) Guest

1 Cách 1: Guest nhấn nút Đăng ký ở trang chủ để mở form đăng ký tài khoản Cách 2: Guest nhấn nút Đăng nhập ở trang chủ để mở form đăng nhập, sau đó nhấn nút Đăng ký để mở form đăng ký tài khoản

2 Nhập thông tin về họ và tên, username, email, số điện thoại, mật khẩu, xác nhận mật khẩu

3 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 2

6 Thông báo đăng ký thành công ra màn hình đăng ký, hiển thị thông báo yêu cầu người dùng check mail, gửi email xác thực tài khoản

7 Đăng nhập bằng tài khoản đã xác thực

8 Thông báo đăng ký thất bại ra màn hình đăng ký tài khoản Alternative flow

Business rule 1 Họ và tên, username, email, số điện thoại, mật khẩu, xác nhận mật khẩu không được để trống

2 Email nhập vào phải là email hợp lệ

3 Số điện thoại phải là số điện thoại có 10 chữ số Số điện thoại phải thuộc Viettel, Vinaphone, Mobiphone, Vietnamobile

4 Mật khẩu phải có ít nhất 8 kí tự, chữ thường, chữ hoa, số và 1 kí tự đặc biệt

5 Xác nhận lại mật khẩu phải khớp với trường mật khẩu

6 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.2 Usecase Xem trang chủ (Guest, Người tìm việc)

Bảng 3.3: Đặc tả usecase Xem trang chủ

Người dùng xem trang chủ của hệ thống

Actor(s) Guest, Người tìm việc

1 Truy cập vào trang https://mst-recruit.web.app/home Đối với người tìm việc

1 Đăng nhập vào hệ thống

2 Nhấn vào logo của công ty ở góc trái trên cùng của trang web

1 Hệ thống lấy danh sách các công việc đang tuyển dụng có trong hệ thống

2 Hiển thị danh sách công việc đã được lấy ở mục 1

3 Hiển thị thanh tìm kiếm công việc Alternative flow

Business rule 1 Hiển thị danh sách công việc

Danh sách được hiển thị theo dạng lưới 3x3 ở màn hình laptop, dạng lưới 2x2 ở màn hình ipad, và dạng danh sách ở màn hình mobile

Mỗi một ô hiển thị hình ảnh logo công ty nằm bên trái, bên phải là tên công việc, tên công ty, mức lương, địa chỉ làm việc

2 Danh sách công việc được sắp xếp theo thời gian tạo từ mới nhất đến cũ nhất

3.4.3 Usecase Tìm kiếm việc làm

Bảng 3.4: Đặc tả usecase Tìm kiếm việc làm

Name Tìm kiếm việc làm

Người dùng tìm kiếm các công việc, hỗ trợ tìm kiếm nâng cao, kết hợp nhiều tiêu chí với nhau

Actor(s) Guest, Người tìm việc

1 Truy cập vào trang https://mst-recruit.web.app/home Đối với người tìm việc

1 Đăng nhập vào hệ thống

2 Nhấn vào logo của công ty ở góc trái trên cùng của trang web

1 Người dùng gõ từ khóa muốn tìm kiếm vào thanh tìm kiếm và nhấn nút Tìm kiếm

2 Hệ thống chuyển sang màn hình tìm kiếm công việc

3 Người dùng nhấn vào biểu tượng Cái phễu để hiển thị các tiêu chí tìm kiếm nâng cao

Hệ thống hỗ trợ tìm kiếm vị trí công việc, cấp độ công việc, mức lương, kĩ năng, khoảng thời gian công việc được đăng, địa điểm làm việc

4 Hệ thống hiển thị danh sách các công việc tương ứng với các tiêu chí tìm kiếm của người dùng

1 Nếu không có công việc nào phù hợp với mong muốn tìm kiếm của người dùng

Hiển thị dòng thông báo “Hiện tại không có công việc nào phù hợp với tiêu chí bạn đề xuất”

Business rule 1 Hiển thị danh sách công việc ở màn hình tìm kiếm công việc

Danh sách việc làm được hiển thị dưới dạng danh sách với các ô chứa thông tin chi tiết Mỗi ô bao gồm hình ảnh logo công ty ở bên trái, tiếp theo là tên công việc, tên công ty, mức lương và kỹ năng yêu cầu Bên cạnh đó, thông tin ngày đăng tải, khoảng thời gian bài đăng được tạo và kí hiệu đánh dấu việc làm đã được lưu hay chưa cũng được hiển thị Ngoài ra, địa chỉ làm việc và ngày hết hạn của bài đăng cũng được cung cấp đầy đủ, giúp người dùng dễ dàng tìm kiếm và lựa chọn công việc phù hợp.

2 Danh sách công việc được sắp xếp theo thời gian tạo từ mới nhất đến cũ nhất

3 Đối với những công việc có khoảng thời gian tạo nhỏ hơn một ngày, hiển thị chữ “New” màu đỏ ở góc phải trên cùng của mỗi ô công việc

3.4.4 Usecase Xem danh sách tin tuyển dụng

Bảng 3.5: Đặc tả usecase Xem danh sách tin tuyển dụng

Name Xem danh sách tin tuyển dụng

Người dùng xem danh sách tin tuyển dụng có trong hệ thống

Actor(s) Guest, Người tìm việc

1 Truy cập vào trang https://mst-recruit.web.app/home

2 Nhấn vào nút Tìm kiếm để chuyển sang trang xem danh sách tin tuyển dụng Đối với người tìm việc

1 Đăng nhập vào hệ thống

2 Nhấn vào logo của công ty ở góc trái trên cùng của trang web

3 Nhấn vào nút Tìm kiếm để chuyển sang trang xem danh sách tin tuyển dụng

1 Hệ thống lấy danh sách các công việc đang tuyển dụng có trong hệ thống

2 Hiển thị danh sách công việc đã được lấy ở mục 1

3 Hiển thị thanh tìm kiếm công việc Alternative flow

1 Nếu không có công việc nào trong hệ thống Hiển thị dòng thông báo “Hiện tại không có công việc nào phù hợp với tiêu chí bạn đề xuất”

Business rule 1 Danh sách công việc được sắp xếp theo thời gian tạo từ mới nhất đến cũ nhất

2 Đối với những công việc có khoảng thời gian tạo nhỏ hơn một ngày, hiển thị chữ “New” màu đỏ ở góc phải trên cùng của mỗi ô công việc

3.4.5 Usecase Xem chi tiết tin tuyển dụng

Bảng 3.6: Đặc tả usecase Xem chi tiết tin tuyển dụng

Name Xem chi tiết tin tuyển dụng

Người dùng xem chi tiết tin tuyển dụng

Actor(s) Guest, Người tìm việc

Trigger 1 Nhấn vào tên của tin tuyển dụng trong ô công việc

1 Hệ thống tìm kiếm và lấy tin tuyển dụng theo slug truyền vào

2 Hiển thị chi tiết tin tuyển dụng Alternative flow

1 Nếu không tìm thấy tin tuyển dụng Hiển thị dòng thông báo “Không tìm thấy thông tin chi tiết của tin tuyển dụng”

3.4.6 Usecase Xem chi tiết công ty

Bảng 3.7: Đặc tả usecase Xem chi tiết công ty

Name Xem chi tiết công ty

Người dùng xem chi tiết công ty

Actor(s) Guest, Người tìm việc

Trigger 1 Nhấn vào tên của công ty hoặc logo của công ty ở mỗi ô tin tuyển dụng

1 Hệ thống tìm kiếm và lấy công ty theo tên công ty được truyền vào

2 Hiển thị chi tiết tin tuyển dụng Alternative flow

2 Nếu không tìm thấy tin công ty Hiển thị dòng thông báo “Không tìm thấy thông tin chi tiết của công ty”

3.4.7 Usecase Xem danh sách sự kiện

Bảng 3.8: Đặc tả usecase Xem danh sách sự kiện

Name Xem danh sách sự kiện

Người dùng xem danh sách sự kiện có trong hệ thống

Actor(s) Guest, Người tìm việc

Trigger 1 Nhấn Sự kiện chưa diễn ra để chuyển sang trang danh sách sự kiện Basic flow

1 Hệ thống lấy danh sách các sự kiện chưa diễn ra có trong hệ thống

2 Hiển thị danh sách sự kiện đã được lấy ở mục 1

3 Hiển thị thanh tìm kiếm sự kiện

1 Nếu không có sự kiện nào trong hệ thống Hiển thị dòng thông báo “Hiện tại không có sự kiện nào phù hợp với tiêu chí bạn đề xuất”

Business rule 1 Danh sách sự kiện được sắp xếp theo thời gian tạo từ mới nhất đến cũ nhất

2 Đối với những sự kiện có khoảng thời gian tạo nhỏ hơn một ngày, hiển thị chữ “New” màu đỏ ở góc phải trên cùng của mỗi ô sự kiện

3.4.8 Usecase Tìm kiếm sự kiện

Bảng 3.9: Đặc tả usecase Tìm kiến sự kiện

Name Tìm kiếm sự kiện

Người dùng tìm kiếm các sự kiện, hỗ trợ tìm kiếm nâng cao, kết hợp nhiều tiêu chí với nhau

Actor(s) Guest, Người tìm việc

Trigger 1 Nhấn Tìm kiếm sự kiện để chuyển sang trang tìm kiếm sự kiện Basic flow

1 Người dùng gõ từ khóa muốn tìm kiếm vào thanh tìm kiếm

2 Người dùng nhấn vào biểu tượng Cái phễu để hiển thị các tiêu chí tìm kiếm nâng cao

Hệ thống cung cấp tính năng tìm kiếm thông minh, cho phép người dùng dễ dàng tìm kiếm sự kiện theo nhiều tiêu chí khác nhau như người tổ chức sự kiện, chủ đề sự kiện, tên công ty, trạng thái sự kiện và khoảng thời gian sự kiện được đăng.

4 Hệ thống hiển thị danh sách các sự kiện tương ứng với các tiêu chí tìm kiếm của người dùng

1 Nếu không có sự kiện nào phù hợp với mong muốn tìm kiếm của người dùng

Hiển thị dòng thông báo “Hiện tại không có sự kiện nào phù hợp với tiêu chí của bạn”

Business rule 1 Danh sách sự kiện được sắp xếp theo thời gian tạo từ mới nhất đến cũ nhất

2 Đối với những sự kiện có khoảng thời gian tạo nhỏ hơn một ngày, hiển thị chữ “New” màu đỏ ở góc phải trên cùng của mỗi ô sự kiện

3.4.9 Usecase Xem chi tiết sự kiện

Bảng 3.10: Đặc tả usecase Xem chi tiết sự kiện

Name Xem chi tiết sự kiện

Người dùng xem chi tiết sự kiện

Actor(s) Guest, Người tìm việc

Trigger 1 Nhấn vào tên của sự kiện trong ô sự kiện

1 Hệ thống tìm kiếm và lấy sự kiện theo slug truyền vào

2 Hiển thị chi tiết tin tuyển dụng Alternative flow

1 Nếu không tìm thấy sự kiện Hiển thị dòng thông báo “Không tìm thấy thông tin chi tiết của sự kiện”

3.4.10 Usecase Ứng tuyển công việc

Bảng 3.11: Đặc tả Usecase Ứng tuyển công việc

Name Ứng tuyển công việc

Người tìm việc ứng tuyển công việc

Pre-conditions Người tìm việc đã đăng nhập vào hệ thống

Trigger 1 Nhấn vào tên của tin tuyển dụng trong ô công việc

1 Nhấn nút Ứng tuyển ngay

2 Hệ thống hiển thị form điền thông tin hồ sơ ứng tuyển công việc

3 Nhập thông tin về họ và tên, số điện thoại, tải lên CV, mô tả bản thân

4 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 3

5 Nhấn nút Ứng tuyển ngay

7 Hiển thị thông báo “Nộp đơn ứng tuyển công việc thành công” ở màn hình ứng tuyển công việc

8 Hiển thị thông báo “Nộp đơn ứng tuyển công việc thất bại” ở màn hình ứng tuyển công việc

1 Nhấn nút có biểu tượng X để hủy nộp hồ sơ ứng tuyển công việc

Business rule 1 Mỗi công việc, ứng viên chỉ được ứng tuyển một lần, nếu như ứng viên ứng tuyển nhiều lần chương trình hiển thị thông báo

“Bạn đã ứng tuyển công việc này rồi” ở màn hình ứng tuyển công việc

2 Họ và tên, số điện thoại, CV không được để trống

3 Số điện thoại phải là số điện thoại có 10 chữ số Số điện thoại phải thuộc Viettel, Vinaphone, Mobiphone, Vietnamobile

4 CV ứng tuyển được tải lên phải ở định dạng doc docx pdf Chương trình kiểm tra dữ liệu tải lên của trường CV, nếu định dạng không hợp lệ, thông báo “Chỉ hỗ trợ định dạng doc docx pdf” dưới trường CV bằng chữ màu đỏ

5 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

Bảng 3.12: Đặc tả Usecase Lưu công việc

Người tìm việc lưu công việc yêu thích của mình

Pre-conditions Người tìm việc đã đăng nhập vào hệ thống

Trigger 1 Nhấn vào tên của tin tuyển dụng trong ô công việc

1 Nhấn nút Lưu việc làm ở màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

2 Lưu việc làm thành công?

3 Hiển thị thông báo “Lưu tin tuyển dụng thành công” ở màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

4 Hiển thị thông báo “Lưu tin tuyển dụng thất bại” ở màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

1 Sau khi đã nhấn nút lưu tin, muốn hủy lưu tin đó, nhấn nút Đã lưu tin màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

2 Hủy lưu việc làm thành công?

3 Hiển thị thông báo “Hủy lưu tin tuyển dụng thành công” ở màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

4 Hiển thị thông báo “Hủy lưu tin tuyển dụng thất bại” ở màn hình hiển thị danh sách công việc hoặc màn hình xem chi tiết công việc

3.4.12 Usecase Điềm form thông tin tham gia sự kiện

Bảng 3.13: Đặc tả usecase Điền form thông tin tham gia sự kiện

Name Điền form tham gia sự kiện

Người tìm việc điền form tham gia sự kiện

Pre-conditions Người tìm việc đã đăng nhập vào hệ thống

Trigger 1 Nhấn vào tên của sự kiện trong ô sự kiện

1 Nhấn nút Đăng ký tham gia ở màn hình xem chi tiết sự kiện

2 Hiển thị form đăng ký tham gia sự kiện

3 Nhập thông tin về tên đầy đủ, số điện thoại, địa chỉ, lĩnh vực quan tâm

4 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 3

5 Nhấn nút Gửi mẫu đăng ký ở form đăng ký tham gia sự kiện

6 Gửi mẫu đăng ký thành công?

7 Hiển thị thông báo “Đăng ký tham gia sự kiện thành công” ở màn hình chi tiết sự kiện

8 Hiển thị thông báo “Đăng ký tham gia sự kiện thất bại” ở màn hình chi tiết sự kiện

1 Nhấn nút có biểu tượng X để hủy đăng ký tham gia sự kiện

Để đảm bảo tính công bằng và minh bạch, chương trình áp dụng quy tắc mỗi ứng viên chỉ được đăng ký tham gia một sự kiện một lần Nếu ứng viên cố gắng đăng ký nhiều lần, hệ thống sẽ ngay lập tức hiển thị thông báo "Bạn đã đăng ký tham gia sự kiện này rồi" trên màn hình chi tiết sự kiện, giúp ngăn chặn các hành vi đăng ký trùng lặp và đảm bảo trải nghiệm người dùng mượt mà.

2 Tên đầy đủ, số điện thoại, địa chỉ không được để trống

3 Số điện thoại phải là số điện thoại có 10 chữ số Số điện thoại phải thuộc Viettel, Vinaphone, Mobiphone, Vietnamobile

4 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.13 Usecase Xuất phiếu tham gia sự kiện

Bảng 3.14: Đặc tả usecase Xuất phiếu tham gia sự kiện

Name Xuất phiếu tham gia sự kiện

Người tìm việc xuất phiếu tham gia sự kiện, dùng để checkin khi đi sự kiện Actor(s) Người tìm việc

Pre-conditions Người tìm việc đã đăng ký tham gia sự kiện

1 Kiểm tra email có chủ đề là [Tên công ty] – Đã đăng ký tham gia sự kiện [Tên sự kiện] thành công

2 Chụp màn hình hoặc đánh dấu thông tin tham gia sự kiện ở email

3 Đưa ra minh chứng thông tin tham gia sự kiện khi checkin Alternative flow

Bảng 3.15: Đặc tả usecase Review công ty

Người tìm việc đánh giá công ty

Pre-conditions Người tìm việc đã đăng nhập vào hệ thống

Trigger 1 Nhấn vào tên của công ty hoặc logo của công ty ở mỗi ô tin tuyển dụng để chuyển sang màn hình xem chi tiết công ty

2 Hệ thống chuyển sang trang biểu mẫu đánh giá

3 Lựa chọn mức độ của đánh giá tổng quát, chế độ OT, nhập vào các thông tin tiêu đề đánh giá, điều bạn thích về công ty, điều công ty cần cải thiện

4 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 3

7 Hiển thị thông báo “Đánh giá công ty thành công” đồng thời trở về lại trang xem chi tiết công ty

8 Hiển thị thông báo “Đánh giá công ty thất bại”

Business rule 1 Mỗi công ty, ứng viên chỉ được đánh giá một lần

2 Mức độ của đánh giá tổng quát, chế độ OT, thông tin tiêu đề đánh giá, điều bạn thích về công ty, điều công ty cần cải thiện không được để trống

3 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.15 Usecase Tham gia và xem entry test

Bảng 3.16: Đặc tả usecase Tham gia và xem entry test

Name Tham gia và xem entry test

Người tìm việc tham gia bài test để kiểm tra năng lực vào của vị trí đang ứng tuyển

Pre-conditions Người tìm việc nhận được email về tham gia entry test

Trigger 1 Nhấn vào button Bắt đầu thi được gửi trong email

1 Nhấn nút Bắt đầu thi

2 Hệ thống chuyển sang trang làm bài entry test

3 Làm entry test theo hình thức đánh trắc nghiệm (hỗ trợ single và multi choice)

- Có: Thực hiện lại bước 5

5 Hiển thị thông báo nộp bài thành công, hiển thị kết quả bài thi

6 Hiển thị thông báo “Nộp bài thất bại”

Business rule 4 Mỗi công ty, ứng viên chỉ được đánh giá một lần

5 Mức độ của đánh giá tổng quát, chế độ OT, thông tin tiêu đề đánh giá, điều bạn thích về công ty, điều công ty cần cải thiện không được để trống

6 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.16 Usecase Điền form tham gia sự kiện

Bảng 3.17: Đặc tả usecase Điền form tham gia sự kiện

Name Điền form thông tin nhà tuyển dụng

Nhà tuyển dụng điền form thông tin để đăng ký với hệ thống

Trigger 1 Nhấn vào Dành cho nhà tuyển dụng để chuyển sang trang dành cho nhà tuyển dụng

1 Nhấn nút Đăng ký ở màn hình dành cho nhà tuyển dụng

2 Hệ thống chuyển sang trang đăng ký

3 Nhập thông tin liên hệ: email, xác nhận email, số điện thoại

4 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 3

6 Nhập thông tin doanh nghiệp: tên công ty, số nhân viên, website công ty, địa chỉ doanh nghiệp

7 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 6

8 Nhập thông tin đại diện: mã số thuế, loại doanh nghiệp, chế độ

11 Thông báo đăng ký thành công ra màn hình đăng ký, hiển thị thông báo yêu cầu người dùng check mail, gửi email xác thực tài khoản

12 Kiểm tra email và xác thực tài khoản

13 Đợi hệ thống phê duyệt và cấp tài khoản, thông báo sẽ được gửi mail cho nhà tuyển dụng trong thời gian sớm nhất

14 Thông báo đăng ký thất bại ra màn hình đăng ký tài khoản Alternative flow

1 Nhấn nút Quay lại để trở về trang trước đó

Khi thiết lập thông tin doanh nghiệp, cần lưu ý một số quy tắc quan trọng Cụ thể, các thông tin như địa chỉ email, xác nhận email, số điện thoại, tên công ty, số nhân viên, website công ty, địa chỉ doanh nghiệp, mã số thuế và loại doanh nghiệp không được bỏ trống Việc cung cấp đầy đủ thông tin này không chỉ giúp doanh nghiệp xây dựng sự chuyên nghiệp mà còn đảm bảo tính xác thực và minh bạch trong hoạt động kinh doanh.

2 Email nhập vào phải là email hợp lệ

3 Số điện thoại phải là số điện thoại có 10 chữ số Số điện thoại phải thuộc Viettel, Vinaphone, Mobiphone, Vietnamobile

4 Xác nhận lại email phải khớp với trường email

5 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.17 Usecase Quản lý tin tuyển dụng

Bảng 3.18: Đặc tả usecase Quản lý tin tuyển dụng

Name Quản lý tin tuyển dụng

Nhà tuyển dụng quản lý tin tuyển dụng, có thể tạo tin tuyển dụng, chỉnh sửa tin tuyển dụng và xóa tin tuyển dụng

Pre-conditions Đã đăng nhập tài khoản nhà tuyển dụng

Trigger 1 Đăng tin tuyển dụng: chọn tab Đăng tin tuyển dụng ở màn hình của nhà tuyển dụng

2 Các trường hợp khác: chọn tab Quản lý tin tuyển dụng ở màn hình của nhà tuyển dụng

1 Nhập các thông tin: tiêu đề tin tuyển dụng, cấp độ, vị trí công việc, thời gian làm việc, hạn nộp hồ sơ, địa chỉ làm việc, mức lương, kỹ năng, mô tả công việc, yêu cầu công việc, lợi ích khi tham gia công việc, trách nhiệm

2 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 1

5 Hiển thị thông báo “Đăng tin tuyển dụng thành công” ra màn hình đăng tin tuyển dụng

6 Đợt hệ thống phê duyệt tin tuyển dụng

7 Hiển thị thông báo “Đăng tin tuyển dụng thất bại” ra màn hình đăng tin tuyển dụng

• Chỉnh sửa tin tuyển dụng

1 Trong quản lý tin tuyển dụng, chọn Tin tuyển dụng đã tạo

2 Chọn tin tuyển dụng muốn chỉnh sửa

3 Hệ thống hiển thị form chỉnh sửa tin tuyển dụng

4 Thay đổi những trường giá trị mà nhà tuyển dụng mong muốn chỉnh sửa

5 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 4

8 Hiển thị thông báo “Cập nhật tin tuyển dụng thành công” đóng form chỉnh sửa tin tuyển dụng

9 Hiển thị thông báo “Cập nhật tin tuyển dụng thất bại”

- Chuyển tin tuyển dụng vào thùng rác

1 Trong quản lý tin tuyển dụng, chọn Tin tuyển dụng đã tạo

2 Chọn tin tuyển dụng muốn xóa

4 Hiển thị hộp thoại xác nhận chuyển tin tuyển dụng vào thùng rác

6 Chuyển tin tuyển dụng vào thùng rác thành công?

+ Có: Chuyển sang bước 7 + Không chuyển sang bước 8

7 Hiển thị thông báo “Tin tuyển dụng này đã được chuyển vào thùng rác” ở màn hình tin tuyển dụng đã tạo

8 Hiển thị thông báo “Xóa tin tuyển dụng thất bại” ở màn hình tin tuyển dụng đã tạo

- Khôi phục tin tuyển dụng

1 Trong quản lý tin tuyển dụng, chọn Tin tuyển dụng đã xóa

2 Chọn tin tuyển dụng muốn khôi phục

4 Hiển thị hộp thoại xác nhận khôi phục tin tuyển dụng

6 Khôi phục tin tuyển dụng thành công?

+ Có: Chuyển sang bước 7 + Không: Chuyển sang bước 8

7 Hiển thị thông báo “Tin tuyển dụng này đã được khôi phục thành công” ở màn hình tin tuyển dụng đã xóa

8 Hiển thị thông báo “Tin tuyển dụng này đã được khôi phục thất bại” ở màn hình tin tuyển dụng đã xóa

- Xóa tin tuyển dụng vĩnh viễn

1 Trong quản lý tin tuyển dụng, chọn Tin tuyển dụng đã xóa

2 Chọn tin tuyển dụng muốn xóa vĩnh viễn

3 Nhấn nút Xóa vĩnh viễn

4 Hiển thị hộp thoại xác nhận xóa tin tuyển dụng vĩnh viễn

5 Nhấn nút Xóa vĩnh viễn

6 Xóa tin tuyển dụng thành công?

+ Có: Chuyển sang bước 7 + Không: Chuyển sang bước 8

7 Hiển thị thông báo “Tin tuyển dụng này được xóa vĩnh viễn thành công” ở màn hình tin tuyển dụng đã xóa

8 Hiển thị thông báo “Tin tuyển dụng này được xóa vĩnh viễn thất bại” ở màn hình tin tuyển dụng đã xóa

1 Nhấn nút Bỏ qua để hủy đăng tin tuyển dụng

2 Nhấn nút X để hủy chỉnh sửa tin tuyển dụng

3 Nhấn nút Bỏ qua để hủy hành động đang thực hiện tại

Khi tạo tin tuyển dụng, cần đảm bảo rằng các thông tin quan trọng như tiêu đề, cấp độ, vị trí công việc, thời gian làm việc, hạn nộp hồ sơ, địa chỉ làm việc, mức lương, kỹ năng, mô tả công việc, yêu cầu công việc, lợi ích khi tham gia và trách nhiệm không được để trống Việc cung cấp đầy đủ thông tin giúp ứng viên hiểu rõ về công việc và tăng khả năng thu hút ứng viên phù hợp.

2 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.18 Usecase Quản lý sự kiện

Bảng 3.19: Đặc tả usecase Quản lý sự kiện

Name Quản lý sự kiện

Nhà tuyển dụng quản lý sự kiện có thể thực hiện các chức năng đa dạng, bao gồm tạo mới, chỉnh sửa và xóa sự kiện khi cần thiết Ngoài ra, họ cũng có thể dễ dàng theo dõi lịch sử của các sự kiện đã được tạo ra Một tính năng hữu ích khác là khả năng xuất danh sách người tham gia dưới dạng file Excel, giúp việc quản lý và phân tích trở nên tiện lợi hơn.

Pre-conditions Đã đăng nhập tài khoản nhà tuyển dụng

Trigger 1 Chọn tab Quản lý sự kiện

1 Trong quản lý sự kiện, chọn Tạo sự kiện mới

2 Nhập các thông tin về sự kiện: tên sự kiện, chủ đề sự kiện, người tổ chức sự kiện, địa điểm tổ chức sự kiện, số lượng người tham gia tối đa, thời gian tổ chức

3 Nhập các thông tin về địa điểm tổ chức: địa chỉ tổ chức

4 Nhập các thông tin về nội dụng sự kiện: mô tả ngắn gọn về sự kiện, nội dung sự kiện

5 Nhập các thông tin về hình ảnh của sự kiện: ảnh bìa, các hình ảnh về sự kiện

6 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 2, 3, 4, 5

7 Nhấn nút Tạo sự kiện

8 Tạo sự kiện thành công?

9 Hiển thị thông báo “Tạo sự kiện thành công” ra màn hình tạo sự kiện

10 Hiển thị thông báo “Tạo sự kiện dụng thất bại” ra màn hình tạo sự kiện

1 Trong quản lý sự kiện, chọn Các sự kiện đã tạo

2 Chọn sự kiện muốn chỉnh sửa

3 Nhấn nút “Ba chấm dọc”, sau đó chọn Chỉnh sửa sự kiện

4 Hệ thống hiển thị form chỉnh sửa sự kiện

5 Thay đổi những trường giá trị mà nhà tuyển dụng mong muốn chỉnh sửa

6 Kiểm tra dưới mỗi trường có báo lỗi hay không?

- Có: Thực hiện lại bước 5

9 Hiển thị thông báo “Cập nhật sự kiện thành công” ở màn hình chỉnh sửa sự kiện

10 Hiển thị thông báo “Cập nhật sự kiện thất bại” ở màn hình chỉnh sửa sự kiện

- Chuyển sự kiện vào thùng rác

1 Trong quản lý sự kiện, chọn Các sự kiện đã tạo

2 Chọn sự kiện muốn xóa

3 Nhấn nút “Ba chấm dọc”, sau đó chọn Chuyển vào thùng rác

4 Hiển thị hộp thoại xác nhận chuyển sự kiện vào thùng rác

6 Chuyển sự kiện vào thùng rác thành công?

7 Hiển thị thông báo “Sự kiện này đã được chuyển vào thùng rác” ở màn hình các sự kiện đã tạo

8 Hiển thị thông báo “Xóa tin sự kiện thất bại” ở màn hình các sự kiện đã tạo

1 Trong quản lý sự kiện, chọn Các sự kiện đã xóa

2 Chọn sự kiện muốn khôi phục

3 Nhấn nút “Ba chấm dọc”, sau đó chọn Khôi phục sự kiện

4 Hiển thị hộp thoại xác nhận khôi phục sự kiện

6 Khôi phục sự kiện thành công?

+ Có: Chuyển sang bước 7 + Không: Chuyển sang bước 8

7 Hiển thị thông báo “Sự kiện đã được khôi phục thành công” ở màn hình tin các sự kiện đã xóa

8 Hiển thị thông báo “Sự kiện đã được khôi phục thất bại” ở màn hình các sự kiện đã xóa

- Xóa sự kiện vĩnh viễn

1 Trong quản lý sự kiện, chọn Các sự kiện đã xóa

2 Chọn sự kiện muốn xóa vĩnh viễn

3 Nhấn nút “Ba chấm dọc”, sau đó chọn Xóa vĩnh viễn

4 Hiển thị hộp thoại xác nhận xóa sự kiện vĩnh viễn

5 Nhấn nút Xóa vĩnh viễn

6 Xóa sự kiện thành công?

+ Có: Chuyển sang bước 7 + Không: Chuyển sang bước 8

7 Hiển thị thông báo “Sự kiện này được xóa vĩnh viễn thành công” ở màn hình sự kiện đã xóa

8 Hiển thị thông báo “Sự kiện này được xóa vĩnh viễn thất bại” ở màn hình sự kiện đã xóa

• Xem lịch sử sự kiện đã tạo

1 Trong quản lý sự kiện, chọn Các sự kiện đã tạo

2 Hệ thống lấy danh sách sự kiện hiện có của công ty

• Xuất excel danh sách người tham gia

1 Trong quản lý sự kiện, chọn Các sự kiện đã tạo

2 Chọn sự kiện muốn xuất danh sách

3 Nhấn nút “Ba chấm dọc”, sau đó chọn Xem danh sách thành viên

4 Lựa chọn những thành viên muốn xuất

5 Nhấn nút Xuất tệp excel Alternative flow

Khi tạo một sự kiện, cần đảm bảo cung cấp đầy đủ thông tin quan trọng bao gồm tên sự kiện, chủ đề, người tổ chức, địa điểm tổ chức, số lượng người tham gia tối đa, thời gian tổ chức, địa chỉ tổ chức, mô tả ngắn gọn và nội dung chi tiết về sự kiện Ngoài ra, ảnh bìa và hình ảnh minh họa về sự kiện cũng không được bỏ trống để giúp người tham gia có cái nhìn tổng quan và chính xác về sự kiện.

2 Các hình ảnh về sự kiện chỉ được phép tải lên tối đa 10 hình

3 Các trường bắt buộc nhập hiển thị dấu * đỏ ở góc trái trên cùng ở mỗi trường

3.4.19 Usecase Quản lý CV ứng viên

Bảng 3.20: Đặc tả usecase Quản lý CV ứng viên

Name Quản lý CV ứng viên

Nhà tuyển dụng quản lý CV ứng viên: tìm kiếm CV ứng viên, lưu

CV ứng viên, xem CV ứng viên, loại CV ứng viên Actor(s) Nhà tuyển dụng

Pre-conditions Đã đăng nhập tài khoản nhà tuyển dụng

Trigger 1 Chọn tab Quản lý hồ sơ ứng viên

• Tìm kiếm CV ứng viên

1 Người dùng gõ từ khóa muốn tìm kiếm vào thanh tìm kiếm và nhấn nút Tìm kiếm

Hệ thống hỗ trợ tìm kiếm theo tên người tìm việc, tình trạng việc làm, ngày bắt đầu, ngày kết thúc

2 Hệ thống hiển thị danh sách các hồ sơ ứng viên tương ứng với các tiêu chí tìm kiếm của người dùng

1 Chọn hồ sơ ứng viên muốn lưu

2 Cách 1: Ở cột thao tác, nhấn biểu tượng “Lưu trữ”

Cách 2: Ở cột thao tác, nhấn biểu tượng “Đôi mắt”, sau đó xuất hiện form xem chi tiết hồ sơ ứng viên, nhấn nút “Lưu lại hồ sơ”

3 Hiển thị hộp thoại xác nhận lưu hồ sơ

4 Lưu hồ sơ thành công?

5 Hiển thị thông báo “Đã lưu hồ sơ thành công” ở màn hình quản lý hồ sơ ứng viên

6 Hiển thị thông báo “Lưu hồ sơ thất bại” ở màn hình quản lý hồ sơ ứng viên Cập nhật thành công?

1 Chọn hồ sơ ứng viên muốn xem

2 Ở cột thao tác, nhấn biểu tượng “Đôi mắt”

3 Hệ thống hiển thị form xem chi tiết hồ sơ ứng viên

1 Chọn hồ sơ ứng viên muốn xem

LƯỢC ĐỒ TUẦN TỰ

3.5.1 Lược đồ tuần tự Ứng tuyển công việc

Hình 3.4: Lược đồ tuần tự ứng tuyển công việc sd Ungtuyencongv iec

Man hinh xem chi tiet cong v iec

Tra ve message thanh cong()

Thong bao ung tuyen that bai()

Thong bao ung tuyen thanh cong()

Luu thong tin ung tuyen()Nhan nut ung tuyen ngay()

3.5.2 Lược đồ tuần tự Lưu công việc

Hình 3.5: Lược đồ tuần tự Lưu công việc

3.5.3 Lược đồ tuần tự Điền form tham gia sự kiện

Hình 3.6: Lược đồ tuần tự Điền form tham gia sự kiện sd Luucongv iec

Man hinh danh sach cong v iec

Thong bao luu viec làm that bai() Thong bao luu cong viec thanh cong()

Nhan nut luu viec lam()

Gui thong tin viec lam can luu()

Tra ve message that bai() Thong bao thanh cong()

Tra ve message thanh cong() sd Dien form tham gia su kien

Man hinh chi tiet su kien

Man hinh dien form participantController Participant

Luu thong tin nguoi tham gia su kien()

Nhan nut Dang ky tham gia()

Gui thong tin tham gia()Nhap thong tin tham gia()

3.5.4 Lược đồ tuần tự Review công ty

Hình 3.7: Lược đồ tuần tự Review công ty

3.5.5 Lược đồ tuần tự Điền form thông tin nhà tuyển dụng

Hình 3.8: Lược đồ tuần tự Điền form thông tin nhà tuyển dụng sd Rev iew cong ty

Man hinh xem chi tiet cong ty

Man hinh danh gia cong ty rev iew Controller Rev iew

Nhap noi dung danh gia()

Luu thong tin danh gia()

Gui thong tin danh gia()

Mo man hinh danh gia() sd Dien form thong tin nha tuyen dung

Man hinh dang ky nha tuyen dung employerController

[Thong tin khong hop le]

Thong bao thong tin khong hop le()

Thong bao tao tai khoan thanh cong()

Nhap thong tin nha tuyen dung()

Kiem tra thong tin tai khoan()

Thong bao tao tai khoan thanh cong()

Thong tin khong hop le()

3.5.6 Lược đồ tuần tự Đăng tin tuyển dụng

Hình 3.9: Lược đồ tuần tự đăng tin tuyển dụng

3.5.7 Lược đồ tuần tự Tạo sự kiện

Hình 3.10: Lược đồ tuần tự tạo sự kiện sd Dang tin tuyen dung

Man hinh dang tin tuyen dung j obController

[Tao tin tuyen dung thanh cong]

[Tao tin tuyen dung that bai]

Gui thong tin tuyen dung()

Hien thi thong bao tao tin tuyen dung thanh cong()

Nhap thong tin tuyen dung()

Tao moi tin tuyen dung()

Tra ve message thanh cong()

Tra ve message that bai()

Hien thi tao tin tuyen dung that bai() sd Tao su kien

Man hinh tao su kien ev entController

[Tao su kien thanh cong]

[Tao su kien that bai]

Hien thi thong bao tao su kien thanh cong()

Hien thi thong bao tao su kien that bai()

Tra ve message that bai()

Nhap thong tin su kien()

Tra ve message thanh cong()Gui thong tin su kien()

3.5.8 Lược đồ tuần tự Xuất excel người tham gia sự kiện

Hình 3.11: Lược đồ tuần tự Xuất excel người tham gia sự kiện

3.5.9 Lược đồ tuần tự Loại CV ứng viên

Hình 3.12: Lược đồ tuần tự Loại CV ứng viên sd Xuat excel

Man hinh quan ly su kien

Man hinh danh sach nguoi tham gia participantController

Tra ve file excel() Xuat excel() Chon danh sach thanh vien can xuat()

Mo man hinh danh sach thanh vien()

Gui file excel() Nhan nut Xem danh sach thanh vien() sd Loai CV ung v ien

Man hinh quan ly ho so ung v ien applicationController Application

Tra ve message() Gui thong tin ho so ung vien can loai()

Hien thi thong bao message()

Loai CV ung vien()Nhan nut thung rac()

3.5.10 Lược đồ tuần tự Lưu CV ứng viên

Hình 3.13: Lược đồ tuần tự Lưu CV ứng viên

3.5.11 Lược đồ tuần tự Thông báo trúng tuyển

Hình 3.14: Lược đồ tuần tự Thông báo trúng tuyển sd Luu CV ung v ien

Man hinh quan ly ho so ung v ien applicationController Application

Hien thi thong bao message()

Cap nhat ung vien() Gui thong tin ung vien can luu() sd Thong bao trung tuyen

Man hinh quan ly ho so ung v ien applicationController

Chon ho so da luu()

Hien thi thong bao message()

Tra ve message()Chon danh sach ung vien can thong bao()

3.5.12 Lược đồ tuần tự Phê duyệt tài khoản Nhà tuyển dụng

Hình 3.15: Lược đồ tuần tự Phê duyệt tài khoản Nhà tuyển dụng

3.5.13 Lược đồ tuần tự Phê duyệt tin tuyển dụng

Hình 3.16: Lược đồ tuần tự Phê duyệt tin tuyển dụng sd Phe duyet nha tuyen dung

Man hinh quan ly nha tuyen dung employerController Employer Man hinh chi tiet nha tuyen dung

Man hinh cap tai khoan nha tuyen dung alt

Nhan nut Chua phe duyet()

Tra ve message that bai()

Hien thi thong bao thanh cong () Nhap thong tin tai khoan()

Hien thi thong bao that bai()

Mo man hinh xem chi tiet()

Cap va phe duyet tai khoan()

Luu thong tin tai khoan()

Mo man hinh cap tai khoan()

Tra ve message thanh cong() sd Phe duyet tin tuyen dunh

Man hinh quan ly tin tuyen dung da tao j obController Job alt

Gui yeu cau phe duyet()

Cap nhat tin tuyen dung()

Tra ve message that bai()

Tra ve message thanh cong()

Hien thi thong bao thanh cong()

Hien thi thong bao that bai()

Thong bao that bai()Nhan nut phe duyet()

3.5.14 Lược đồ tuần tự Đăng ký gói dịch vụ

Hình 3.17: Lược đồ tuần tự Đăng ký gói dịch vụ sd Dang ky goi dich v u

Man hinh danh sach goi dich v u serv icePackageController serv icePackage hien thi thong bao message() cap nhat goi dich vu()

Nhan nut dang ky goi dich vu() thong bao message() tra ve message()Gui thong tin goi dich vu dang ky ()

CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

4.1.1 Các thành phần của ứng dụng

Hình 4.1: Hình mô tả các thành phần cơ bản của ứng dụng

Bảng 4.1: Bảng mô tả các thành phần của ứng dụng

STT Thành phần Mô tả

1 Back-end Chứa source code backend của ứng dụng

2 MongoDB on cloud Chứa cơ sở dữ liệu của ứng dụng

3 Front-end (Manager) Chứa source code front-end của role quản lý hệ thống

4 Front-end (Admin) Chứa source code front-end của role quản trị hệ thống

5 Front-end (Client) Chứa source code front-end của phía client

4.1.2.1 Cách tổ chức thư mục/package trong backend

Hình 4.2: Cách tổ chức thư mục của Backend

- /src: Chứa tất cả các file code của hệ thống

+ /src/configuration: Chưa tất cả các file cấu hình của các dịch vụ bên thứ ba Ví dụ cấu hình cho cloudinary, firebase,…

Thư mục /src/controllers chứa tất cả mã code xử lý dữ liệu của server, nơi nhận và xử lý dữ liệu được truyền từ client thông qua các API khác nhau Mỗi API sẽ được ánh xạ đến một controller tương ứng, và một controller cũng có thể được sử dụng lại cho nhiều API khác nhau, giúp tăng tính linh hoạt và tái sử dụng mã code.

The project structure includes key directories such as `/src/middlewares`, which houses custom middleware functions, including authentication Another crucial directory is `/src/models`, which contains all schema-related files and functions that define the structure and behavior of the schema.

+ /src/public: Thư mục này chức các dữ liệu không nằm trong hệ thống, ví dụ: template gửi email

+ /src/routes: Thư mục chứa tất cả các định tuyến đã tạo bằng cách sử dụng Express Router và kết hợp với controller

+ /src/services: Thư mục chứa tất cả các dịch vụ được sử dụng nhiều lần ở các controller, ví dụ: gửi mail, token,…

Thư mục /src/utils chứa các tiện ích cần thiết được sử dụng lại nhiều lần trong các chức năng xử lý, giúp đơn giản hóa và tối ưu hóa mã nguồn Một ví dụ điển hình là hàm catchAsync, giúp bắt lỗi của các hàm async/await một cách hiệu quả.

+ /src/app.js: File này sẽ khai báo tất cả các package/module cần thiết cho chương trình

+ /src/server.js: File khởi chạy server

- package.json: File chứa tất cả các chi tiết npm của dự án, các lệnh chạy như scripts và các thành phần dependencies

- gitignore: Cấu hình những file không muốn đưa lên git

- prettierrc: File cấu hình format code

- config.env: File khai báo biến môi trường, ví dụ: đường dẫn đến database, tài khoản email,…

Thư mục node_modules là nơi chứa tất cả các module mà server sử dụng và đã được khai báo trong tệp package.json Để chạy ứng dụng, bạn cần sử dụng lệnh npm install để cài đặt và tạo ra thư mục node_modules Tuy nhiên, do thư mục này chiếm nhiều bộ nhớ, nên thường được thêm vào tệp gitignore để tránh lưu trữ không cần thiết.

Thư mục scripts chứa tất cả các file dữ liệu và các scripts cần thiết để thêm, xóa dữ liệu vào database Tuy nhiên, vì mục đích sử dụng chính của thư mục này là trong quá trình phát triển ứng dụng, nên thông thường nó sẽ được thêm vào file gitignore để tránh bị đẩy lên repository.

4.1.2.2 Thư viện sử dụng trong backend

Bảng 4.2: Các thư viện sử dụng trong backend

STT Tên thư viện Version License Mục đích

^5.15.3 Apache-2.0 Sử dụng để lưu trữ dữ liệu trên firebase

2 axios ^0.22.0 MIT Dùng để gọi API

3 bcryptjs ^2.4.3 MIT Dùng để mã hóa mật khẩu

4 cloudinary ^1.27.1 MIT Dùng để lưu hình ảnh lên trên cloudinary

5 cors ^2.8.5 MIT Dùng để kích hoạt cors, cho phép chia sẻ tài nguyên giữa front-end và backend

Dùng để load các biến môi trường từ file env vào process.env

7 exceljs ^4.3.0 MIT Dùng để xuất file excel từ dữ liệu được lấy ở client

^2.1.0 MIT Dùng để làm sạch dữ liệu, ngăn chặn MongoDB Operator Injection

9 express-rate-limit ^5.5.0 MIT Sử dụng để hạn chế các request lặp đi lặp lại đến API của hệ thống trong một khoảng thời gian nhất định

10 firebase-admin ^10.0.0 Apache-2.0 Dùng để truy cập đến các dịch vụ của Firebase trong môi trường đặc quyền (Lưu file)

11 helmet ^4.6.0 MIT Dùng để bảo vệ ứng dụng Express bằng cách thiết lập HTTP header một cách phù hợp

12 hpp ^0.2.3 ISC Dùng để bảo vệ ứng dụng chống lại các tấn công HTTP Parameter Pollution

13 jsonwebtoken ^8.5.1 MIT Dùng để sử dụng cho mục đích xác thực

14 mongoose ^6.0.8 MIT Dùng để mô hình hóa đối tượng

MongoDB, được thiết kế sử dụng cho môi trường bất đồng bộ

15 mongoose-delete ^0.5.4 MIT Dùng để xóa mềm document trong MongoDB

16 morgan ^1.10.0 MIT Dùng để tạo ra các logger khi gọi request

17 multer ^1.4.3 MIT Dùng để xử lý multipart/form- date, sử dụng cho upload file

18 nodemailer ^6.6.5 MIT Dùng để gửi mail trong Node

19 slugify ^1.6.0 MIT Dùng để slugify một chuỗi

20 validator ^13.6.0 MIT Dùng để validate chuỗi

21 xss-clean ^0.1.1 MIT Dùng để khử đầu vào của người dùng từ POST body, GET querry

Dùng để xử lý thanh toán paypal

23 html-to-text ^8.1.0 MIT Dùng để chuyển file html sang file text

24 dateformat ^2.2.0 MIT Dùng để format date

1 nodemon ^2.0.13 MIT Dùng để khởi động lại ứng dụng

Node khi phát hiện có file thay đổi

Bảng 4.3: Các framework được sử dụng trong backend

STT Tên framework Version License Mục đích

1 express ^4.17.1 MIT Sử dụng frameword để phát triển phía server

4.1.3.1 Cách tổ chức thư mục/package trong frontend

Cả ba project của frontend (manager, admin, client) đều có chung cấu trúc thư mục

Hình 4.3: Cách tổ chức thư mục ở Frontend

- /build: Thư mục được tạo ra sau khi chạy lệnh npm run build

- /node_modules: Thư mục chứa các thư viện được cài đặt và sử dụng trong dự án

- /public: Thư mục chứa tệp index.html, favicon.ico… là thư mục gốc của ứng dụng React

- /src: Thư mục chứa tất cả source code của dự án

+ /src/api: Thư mục chứa tệp axiosClient.js dùng để cấu hình axios cho việc gọi api

+ /src/app: Thư mục chứa tệp store.js dùng để cấu hình store của redux cho dự án

+ /src/assets: Thư mục chứa các tệp hình ảnh và tệp lottie

+ /src/common/constants: Thư mục này chứa các biến hằng số

+ /src/common/functions: Thư mục này chứa tệp index.js dùng để export các hàm dùng chung cho cả dự án

+ /src/common/hook: Thư mục này chứa các custom hook cho dự án

+ /src/common/lang: Thư mục chứa các tệp ngôn ngữ hỗ trợ cho chức năng đa ngôn ngữ của dự án

+ /src/common/styles: Thư mục này chứa các lớp, biến scss dùng chung cho dự án + /src/components: Thư mục này chứa các component chung cho dự án

+ /src/custom-fields: Thư mục này chứa các component như input, button được custom lại từ các thư viện UI như Ant Design, Reactstrap

The /src/features directory is organized by functionality, with each subdirectory containing code specific to a particular feature For instance, the Jobs feature has its own subdirectory, which is further divided into api, component, pages, and slices folders The api folder exports API call functions, while the component folder houses feature-specific components and the pages folder contains dedicated pages for the Jobs feature The slices folder, on the other hand, contains configuration files for Redux, including index.js, selectors.js for retrieving data from Redux, and thunks.js for handling asynchronous API calls Lastly, the index.jsx file serves as a routing hub for the Jobs feature's various pages.

+ /src/routers: Thư mục chứa các tệp tạo định tuyến cho dự án

+ /src/App.js: Đây là component cha chứa tất cả các component con bên trong + /src/App.test.js: Tệp này dùng cho việc kiểm thử ứng dụng

+ /src/index.css: Tệp này dùng để cấu hình css

+ /src/index.js: Đây là tệp entry point, webpack sẽ trỏ vào tệp này và render ra cái file bundle.js để chạy trên trình duyệt

Tệp /src/reportWebVitals.js đóng vai trò quan trọng trong việc thu thập và báo cáo các chỉ số hiệu suất của trang web, giúp các công cụ tìm kiếm hiểu rõ hơn về hiệu suất của web và từ đó tối ưu hóa trải nghiệm người dùng.

+ /src/setupTests.js: Tệp này dùng để viết kiểm thử

- firebaserc và firebase.json: Tệp này được tạo khi sử dụng Firebase của google

- gitignore: Cấu hình những thư mục, tệp để git bỏ qua khi commit

- prettierrc: Tệp cấu hình prettier dùng cho việc format code

- jsconfig.json: Tệp dùng để cấu hình baseUrl, paths, hỗ trợ cho việc import dễ nhìn hơn thay vì dùng “ / /”

- package.json: Tệp dùng để khai báo các thư viện, các lệnh scripts được cài đặt trong dự án

Tệp package-lock.json đóng vai trò quan trọng trong việc mô tả chi tiết các thư viện được khai báo trong tệp package.json, giúp ngăn chặn xung đột phiên bản thư viện khi nhiều người cùng làm việc trên dự án.

- README.MD: Tệp này dùng để mô tả về dự án trên Github

4.1.3.2 Thư viện sử dụng trong frontend

Bảng 4.4: Các thư viện sử dụng trong frontend

STT Tên thư viện Version License Mục đích

1.6.1 MIT Dùng để viết code Redux nhanh gọn, hoàn chỉnh theo một quy chuẩn thống nhất

3.0.3 GNU GPL CKEditor là trình soạn văn bản HTML dành cho React

Giúp tạo các chuỗi html để đơn giản hóa việc tạo nội dung

4.16.13 MIT Dùng để sử dụng các UI component được thiết kế sẵn từ Ant Design dành cho React

4 axios 0.21.4 MIT Dùng để gọi API từ server

8.10.0 MIT Dùng để sử dụng các UI component được thiết kế sẵn từ Boostrap dành cho React

6 html-react-parser 1.4.0 MIT Dùng để chuyển đổi chuỗi

HTML thành phần tử React

7 react-i18next 11.12.0 MIT Dùng để hỗ trợ đa ngôn ngữ cho ứng dụng React

8 lottie-react 2.1.0 MIT Dùng để chuyển đổi tệp json của Lottie thành phần tử React

9 moment 2.29.1 MIT Dùng để chuyển đổi, hiển thị thời gian theo chuỗi

10 query-string 7.0.1 MIT Phân tích cú pháp và xâu chuỗi các chuỗi truy vấn URL

11 react 17.0.2 MIT Thư viện javascript để xây dựng giao diện người dùng

12 react-dom 17.0.2 MIT Dùng để kết nối phần tử React với DOM

2.1.5 MIT Dùng để tạo hiệu ứng khi cuộn trang tới phần tử nào đó

14 react-hook-form 7.15.3 MIT Dùng để quản lý, validation form cho React

15 react-icons 4.2.0 MIT Sử dụng các icon phổ biến dành cho React

16 react-redux 7.2.5 MIT Thư viện dùng để quản lý trạng thái cho ứng dụng React

17 react-router-dom 5.3.0 MIT Dùng để định tuyến cho ứng dụng React

18 react-select 4.3.1 MIT Thư viện dùng để tạo phần tử

Select Input dành cho React

82 linh hoạt, hỗ trợ đa lựa chọn, tự động điền

19 react-slick 0.28.1 MIT Thư viện dùng để tạo phần tử

20 react-toastify 8.0.2 MIT Thư viện dùng để tạo thông báo cho ứng dụng React

2.0.5 ISC Thư viện dùng để tạo phần tử có hiệu ứng gõ, tẩy và có con trỏ nhấp nháy cho đoạn chữ

0.32.9 MIT Thư viện Javascript dùng để tạo schema để phân tích cú pháp và xác thực giá trị

23 @hookform/resolvers 2.8.1 MIT Thư viện dùng để xác thực giá trị của react-hook-form với yup

24 animate.css 4.1.1 MIT Thư viện tạo hiệu ứng chuyển động

26 React Testing Library 11.2.7 MIT Thư viện hỗ trợ kiểm thử dành cho React

4.4.0 MIT Thư viện hỗ trợ tạo các button chia sẻ trên các trang mạng xã hội

28 react-chartjs-2 3.3.0 MIT Thư viện tạo các thành phần tạo biểu đồ React cho Chart.js

29 slick-carousel 1.8.1 MIT Thư viện CSS dùng chung react-slick

30 react-country-flag 2.3.1 MIT Thư viện dùng để tạo các thành phần React cờ các quốc gia

1 node-sass 6.0.1 MIT Dùng để hỗ trợ viết code scss biên dịch sang css

- API gồm có 1 endpoint: https://mst-recruitment.herokuapp.com/api/v1/

- Liên kết đến document của API: https://documenter.getpostman.com/view/15407645/UUy396gA

Bảng 4.5: Mô tả một số API trong hệ thống

STT Tên API Mô tả

1 Get all job Lấy danh sách tất cả tin tuyển dụng trong hệ thống

Tìm kiếm tin tuyển dụng

2 Get job Xem chi tiết tin tuyển dụng

3 Get all event Lấy danh sách tất cả sự kiện trong hệ thống

4 Get event Xem chi tiết sự kiện

5 Sign up Đăng ký tài khoản cho người tìm việc

6 Login Đăng nhập với role người tìm việc

7 Add favorite job Lưu danh sách công việc yêu thích

8 Apply job Ứng tuyển công việc

9 Get all aplication Xem danh sách tất cả công việc đã ứng tuyển

10 Create review Đánh giá công ty

11 Take part in event Tham gia sự kiện

12 Get all event Xem danh sách tất cả sự kiện đã đăng ký

13 Send information Gửi thông tin nhà tuyển dụng

14 Post a job Đăng tin tuyển dụng

15 Get job Xem chi tiết tin tuyển dụng

16 Get all application Lấy danh sách tất cả ứng viên đã ứng tuyển

Tìm kiếm hồ sơ ứng viên đã ứng tuyển

17 Save application Lưu hồ sơ ứng viên

18 Delete application Xóa hồ sơ ứng viên

19 Announce applicant Thông báo đến ứng viên đã trúng tuyển

20 Get application statistic according to job

Lấy thống kê hồ sơ ứng viên theo tin tuyển dụng

21 Get application compare today to past

Lấy thống kê số lượng hồ sơ ứng viên hôm nay với thời gian trong quá khứ

22 Create event Tạo sự kiện

23 Get event Xem chi tiết sự kiện

24 Get all participant Lấy danh sách người tham gia sự kiện

25 Export excel file Xuất file excel danh sách người tham gia sự kiện

Lấy thống kê người tham gia sự kiện

27 Get participant compare today to past

Lấy thống kê số lượng người tham gia sự kiện hôm nay với thời gian trong quá khứ

28 Get all company Xem danh sách tất cả công ty

29 Issue acount Cấp tài khoản cho nhà tuyển dụng

30 Get all job Xem danh sách tất cả tin tuyển dụng

31 Approve job Phê duyệt tin tuyển dụng

32 Get job seeker statistic monthly

Thống kê số lượng ứng viên tìm việc theo tháng

Thống kê số lượng nhà tuyển dụng theo tháng

Cấp tài khoản cho quản lý hệ thống

Cấp tài khoản cho quản trị hệ thống

Thống kê số lượng user đăng ký vào hệ thống theo tháng

4.3 THIẾT KẾ CƠ SỞ DỮ LIỆU

4.3.1 Sơ đồ thiết kế cơ sở dữ liệu

Hình 4.4: Sơ đồ thiết kế cơ sở dữ liệu

4.3.2 Mô tả sơ đồ thiết kế cơ sở dữ liệu

4.3.2.1 Bảng Employer (Nhà tuyển dụng)

Bảng 4.6: Bảng Employer (Nhà tuyển dụng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 usename String Tên đăng nhập của nhà tuyển dụng

3 password String Mật khẩu của nhà tuyển dụng

4 address Address Địa chỉ của nhà tuyển dụng

5 companyName String Tên công ty

6 companyWebsite String Website công ty của nhà tuyển dụng

7 email String Email của công ty

8 isEmailVerified Boolean Đánh dấu nhà tuyển dụng đã xác nhận email hay chưa

9 logo String Logo của công ty

10 ot Boolean Đánh dấu nhà tuyển có OT hay không

11 scale String Quy mô nhân viên của công ty

12 phone String Số điện thoại của công ty

13 desciption String Mô tả về công ty

14 welfare String Phúc lợi của công ty

15 status String Trạng thái hiện tại của công ty Ví dụ: đã phê duyệt, chưa phê duyệt, …

16 TIN String Mã số thuế của công ty

17 companyType String Loại công ty

18 authenToken String Token dùng để xác thực email

19 authenTokenExpired Date Thời gian hết hạn của token

20 passwordChangeAt Date Thời điểm thay đổi password của công ty

21 passwordResetToken String Token dùng để reset password

22 passwordResetExpires Date Thời gian hết hạn của token

23 ratingsAverage Number Điểm đánh giá (review) trung bình về công ty

24 ratingsQuantity Number Số lượng đánh giá (review) trung bình của công ty

25 Reviews Array String Danh sách đánh giá về công ty

26 registeredServicepackage Array Object Danh sách các gói dịch vụ đã đăng ký

4.3.2.2 Bảng Jobseeker (Người tìm việc)

Bảng 4.7: Bảng Jbseeker (Người tìm việc)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của người tìm việc

3 phone String Số điện thoại của người tìm việc

4 fullname String Họ và tên của người tìm việc

5 username String Tên đăng nhập của người tìm việc

6 password String Mật khẩu của người tìm việc

7 DOB Date Ngày sinh của người tìm việc

8 avatar String Avatar của người tìm việc

9 favoriteJobs Array[ObjectID] Mảng công việc yêu thích của người tìm việc

10 isEmailVerified Boolean Đánh dấu người tìm việc đã xác thực email chưa

11 authenToken String Token dùng để xác thực email

12 authenTokenExpired Date Thời gian hết hạn của token

13 passwordChangeAt Date Thời điểm thay đổi password của người tìm việc

14 passwordResetToken String Token dùng để reset password

15 passwordResetExpires Date Thời gian hết hạn của token

16 address Addresss Địa chỉ của người tìm việc

4.3.2.3 Bảng System Manager ( Quản lý hệ thống)

Bảng 4.8: Bảng System Manager (Quản lý hệ thống)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của quản lý hệ thống

3 phone String Số điện thoại của quản lý hệ thống

4 fullname String Họ và tên của quản lý hệ thống

5 username String Tên đăng nhập của quản lý hệ thống

6 password String Mật khẩu của quản lý hệ thống

7 avatar String Avatar của quản lý hệ thống

8 authenToken String Token dùng để xác thực email

9 authenTokenExpired Date Thời gian hết hạn của token

10 passwordChangeAt Date Thời điểm thay đổi password của quản lý hệ thống

11 passwordResetToken String Token dùng để reset password

12 passwordResetExpires Date Thời gian hết hạn của token

4.3.2.4 Bảng System Admin (Quản trị hệ thống)

Bảng 4.9: Bảng System Admin (Quản trị hệ thống)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của quản trị hệ thống

3 phone String Số điện thoại của quản trị hệ thống

4 fullname String Họ và tên của quản trị hệ thống

5 username String Tên đăng nhập của quản trị hệ thống

6 password String Mật khẩu của quản trị hệ thống

7 avatar String Avatar của quản trị hệ thống

8 authenToken String Token dùng để xác thực email

9 authenTokenExpired Date Thời gian hết hạn của token

10 passwordChangeAt Date Thời điểm thay đổi password của quản trị hệ thống

11 passwordResetToken String Token dùng để reset password

12 passwordResetExpires Date Thời gian hết hạn của token

4.3.2.5 Bảng Job ( Tin tuyển dụng)

Bảng 4.10: Bảng Job (Tin tuyển dụng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Id của nhà tuyển dụng

3 workingTime Object Thời gian làm việc của công việc

4 location Object Địa chỉ làm việc

5 benefits String Lợi ích khi tham gia làm việc

6 description String Mô tả công việc

7 jobTitle String Tiêu đề công việc

8 slug String Slug của công việc

9 position String Vị trí của công việc

10 priorityLevel String Mức độ ưu tiên của bài đăng

11 reason String Lý do nên tham gia công việc

12 requirements String Yêu cầu của công việc

13 responsilities String Trách nhiệm của công việc

14 salary Object Mức lương của công ty

15 skills Array[String] Kỹ năng của công việc

16 level String Cấp độ của công việc

17 status String Trạng thái của tin tuyển dụng

18 finishDate Date Ngày hết hạn của bài đăng

19 createdAt Date Ngày đăng bài

4.3.2.6 Bảng Application (Ứng viên ứng tuyển công việc)

Bảng 4.11: Bảng Application (Ứng viên ứng tuyển công việc)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 Job ObjectID Id của tin tuyển dụng

3 jobSeeker ObjectID Id của người tìm việc

4 cvPath String Đường dẫn lưu CV của ứng viên

5 fullName String Họ và tên của ứng viên

6 description String Mô tả của ứng viên

7 phone String Số điện thoại của ứng viên

8 status String Trạng thái của đơn xin việc

4.3.2.7 Bảng Review (Đánh giá về công ty)

Bảng 4.12: Bảng Review (Đánh giá về công ty)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 improvement String Những điều công ty cần cải thiện

3 interesting String Những điều yêu thích về công ty

4 ot String Mức độ hài lòng về OT ở công ty

5 user ObjectID Id của người đánh giá

6 title String Tiêu đề bài đánh giá

7 rating Number Điểm đánh giá về công ty

8 company ObjectID Id của công ty được đánh giá

4.3.2.8 Bảng Event (Sự kiện của công ty)

Bảng 4.13: Bảng Event (Sự kiện của công ty)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Id của nhà tuyển dụng

3 address Object Địa chỉ tổ chức sự kiện

4 briefDescription String Mô tả vắn tắt về sự kiện

5 endTime Date Thời gian kết thúc của sự kiện

6 eventContent String Nội dung của sự kiện

7 eventName String Tên sự kiện

8 eventOrganizer String Nhà tổ chức sự kiện

9 images Array[String] Mảng lưu đường dẫn hình ảnh của sự kiện

10 startTime Date Thời gian bắt đầu của sự kiện

11 status String Trạng thái của sự kiện

12 topic String Chủ đề của sự kiện

13 imageCover String Đường dẫn hình ảnh chính của sự kiện

14 location String Địa điểm tổ chức sự kiện

15 slug String Slug của sự kiện

16 participantMax Number Số lượng người tham gia tối đa

17 participantQuantity Number Số lượng người tham gia hiện tại

4.3.2.9 Bảng Participant (Người tham gia sự kiện)

Bảng 4.14: Bảng Participant (Người tham gia sự kiện)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 event ObjectID Id của sự kiện

3 address Object Địa chỉ của người tham gia sự kiện

4 status String Trạng thái của người tham gia

5 participant ObjectID Id của người tham gia sự kiện

6 phone String Số điện thoại của người tham gia

7 fullName String Họ và tên của người tham gia

8 interestingFields Array[String] Những lĩnh vực quan tâm của người tham gia

Bảng 4.15: Bảng Service (Dịch vụ)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 serviceName String Tên dịch vụ

3 description String Mô tả dịch vụ

4 price Object Giá của dịch vụ

5 tags Object Tag của dịch vụ

6 deleted Boolean Kiểm tra service có bị xóa hay không

4.3.2.11 Bảng Service Package (Gói dịch vụ)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 packageName String Tên gói dịch vụ

3 description String Mô tả gói dịch vụ

4 price Object Giá của dịch vụ

5 postType String Loại gói dịch vụ

6 servicePackageCode String Mã gói dịch vụ

7 services Array Danh sách các dịch vụ

8 extantQuantity Number Số lượng bài đăng còn lại

9 postQuantity Number Tổng số lượng bài đăng

4.3.2.12 Bảng Order (Thông tin giao dịch)

Bảng 4.16: Bảng Order (Thông tin giao dịch)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 servicePackages Array Danh sách gói dịch vụ

3 employer ObjectID Id của nhà tuyển dụng

4 price Object Giá của dịch vụ

5 paidPrice Object Giá phải trả của dịch vụ

6 status String Trạng thái của đơn hàng

7 totalQuantity Number Tổng số lượng bài đăng

8 paymentMethods String Loại phương thức thanh toán

Bảng 4.17: Bảng Cart (Giỏ hàng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 servicePackages Array Danh sách gói dịch vụ

3 employer ObjectID Id của nhà tuyển dụng

4 price Object Giá của dịch vụ

5 paidPrice Object Giá phải trả của dịch vụ

6 totalQuantity Number Tổng số lượng bài đăng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 questionContent String Nội dung câu hỏi

3 skills Array Kỹ năng liên quan đến câu hỏi

4 questionType String Loại câu hỏi

5 level String Mức độ khó của câu hỏi

6 explanation String Giải thích về câu hỏi

7 tips String Gợi ý trả lời câu hỏi

8 score Number Điểm số của câu hỏi

9 duration Number Thời gian trả lời câu hỏi

10 isRandom Boolean Câu hỏi có random đáp án không

11 isFullScore Boolean Câu hỏi có chấm toàn điểm nếu đúng một phần hay không

12 answer Array Object Danh sách đáp án của câu hỏi

4.3.2.15 Bảng Entry test (Bộ đề thi)

Bảng 4.18: Bảng Entry test (Bộ đề thi)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Nhà tuyển dụng sở hữu entry test

3 description String Mô tả entry test

4 questions Array Object Danh sách câu hỏi trong entry test

5 requiredPass Number Số điểm tối thiểu đạt được

6 skills Array Danh sách kĩ năng liên quan đến entry test

7 title String Tiêu đề của entry test

8 totalScore Number Tổng điểm của entry test

9 totalQuestion Number Tổng câu hỏi của entry test

10 duration Number Thời lượng làm entry test

4.3.2.16 Bảng Answersheet (Phiếu trả lời)

Bảng 4.19: Bảng AnswerSheet (Phiếu trả lời)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 entryTest ObjectID Id của Entry test

3 answerContent Array Object Danh sách câu trả lời

4 totalRightQuestion Number Tổng số câu trả lời đúng

5 achivedFullScore Number Tổng điểm đạt được

6 duration Number Thời gian thực hiện bài test

7 jobSeeker ObjectID Ứng viên trả lời câu hỏi

4.4.1 Màn hình của role Guest

Bảng 4.20: Mô tả màn hình của role Guest

No Tên màn hình Miêu tả

SC_001 Màn hình trang chủ Giao diện trang chủ khi truy cập website

SC_002 Màn hình tìm kiếm công việc

Giao diện cho phép người dùng tìm kiếm tin tuyển dụng đang có trong hệ thống

SC_003 Màn hình chi tiết công việc

Giao diện hiển thị thông tin chi tiết của tin tuyển dụng

SC_004 Màn hình chi tiết nhà tuyển dụng

Giao diện hiển thị thông tin chi tiết của công ty

SC_005 Màn hình tìm kiếm sự kiện

Giao diện cho phép người dùng tìm kiếm sự kiện đang có trong hệ thống

SC_006 Màn hình chi tiết sự kiện

Giao diện hiển thị thông tin chi tiết của sự kiện

SC_007 Màn hình đăng nhập của Người tìm việc

Giao diện cho phép Guest đăng nhập vào hệ thống với role Người tìm việc

SC_008 Màn hình đăng ký của

Giao diện cho phép Guest đăng ký vào hệ thống với role Người tìm việc

SC_009 Màn hình quên mật khẩu

Giao diện giúp Guest có thể lấy lại mật khẩu tài khoản của mình

SC_010 Màn hình đổi mật khẩu Giao diện giúp Guest có thể đổi lại mật khẩu tài khoản của mình

SC_011 Màn hình trang chủ của

Giao diện trang chủ dành cho Nhà tuyển dụng

SC_012 Màn hình đăng nhập của Nhà tuyển dụng

Giao diện cho phép Guest đăng nhập vào hệ thống với role Nhà tuyển dụng

SC_013 Màn hình đăng ký của

Giao diện cho phép Guest đăng ký vào hệ thống với role Nhà tuyển dụng

SC_014 Màn hình đăng nhập của Quản lý hệ thống

Giao diện cho phép Guest đăng nhập vào hệ thống với role Quản lý hệ thống

SC_015 Màn hình đăng nhập của Quản trị hệ thống

Giao diện cho phép Guest đăng nhập vào hệ thống với role Quản trị hệ thống

4.4.1.2 SC_001: Màn hình trang chủ của role Guest

Hình 4.5: SC_001: Màn hình trang chủ của role Guest

Bảng 4.21: SC_001: Mô tả màn hình trang chủ role Guest

No Name Required Type Reference Note

1 Đăng nhập Label Khi click vào chuyển đến màn hình SC_007

2 Đăng ký Label Khi click vào là chuyển đến SC_008

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

4 Dành cho nhà tuyển dụng

Label Khi click vào là chuyển đến SC_011

5 Tìm kiếm Input Nhập từ khóa để tìm kiếm tin tuyển dụng

6 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

7 Nút tìm kiếm Button Khi click vào sẽ chuyển đến màn hình SC_002

8 Xem tất cả Button Khi click vào sẽ chuyển đến màn hình SC_002

9 Danh sách tin tuyển dụng

Gridview Dữ liệu từ API

4.4.1.3 SC_002: Màn hình tìm kiếm công việc

Hình 4.6: SC_002: Màn hình tìm kiếm công việc

Bảng 4.22: SC_002: Màn hình tìm kiếm công việc

No Name Required Type Reference Note

1 Tìm kiếm Input Nhập từ khóa để tìm kiếm tin tuyển dụng

2 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

Khi người dùng click vào nút tìm kiếm, hệ thống sẽ tự động dựa vào từ khóa và tiêu chí tìm kiếm được nhập để hiển thị danh sách tin tuyển dụng phù hợp và tương ứng.

4 Bộ lọc Button Khi click vào hiển thị các tiêu chí tìm kiếm nâng cao

5 Vị trí Dropdown Lựa chọn tìm kiếm theo vị trí công việc

6 Cấp độ Dropdown Lựa chọn tìm kiếm theo cấp độ

7 Mức lương Dropdown Lựa chọn tìm kiếm theo mức lương

8 Kỹ năng Dropdown Lựa chọn tìm kiếm theo kỹ năng

Dropdown Lựa chọn tìm kiếm theo thời gian đăng tin tuyển dụng

10 Xác nhận Button Khi click vào người dùng xác nhận các tiêu chí tìm kiếm nâng cao đã lựa chọn

11 Xóa bộ lọc Button Khi click vào, hệ thống sẽ xóa và đồng thời đóng bộ lọc

12 Danh sách tin tuyển dụng

Listview Dữ liệu từ API

13 Chuyển trang Button Khi click vào, hệ thống sẽ chuyển sang trang kế tiếp

4.4.1.4 SC_003: Màn hình chi tiết công việc

Hình 4.7: SC_003: Màn hình xem chi tiết công việc

Bảng 4.23: SC_003: Màn hình xem chi tiết công việc

No Name Required Type Reference Note

1 Lưu việc làm Button Khi click vào chuyển đến màn hình SC_007

Button Khi click vào chuyển đến màn hình SC_007

3 Chia sẻ Button Khi click vào, sẽ chuyển đến trang chia sẻ của facebook hoặc messenger

Label Dữ liệu từ API

5 Tên công ty Link Khi click vào chuyển đến màn hình SC_004

6 Thông tin chi tiết của tin tuyển dụng

Text Dữ liệu từ API

Map Dữ liệu từ API

Table Dữ liệu từ API

Button Khi click vào chuyển đến màn hình SC_007

4.4.1.5 SC_004: Màn hình chi tiết nhà tuyển dụng

Hình 4.8: SC_004: Màn hình chi tiết nhà tuyển dụng

Bảng 4.24: SC_004: Màn hình chi tiết nhà tuyển dụng

No Name Required Type Reference Note

Label Dữ liệu từ API

2 Đánh giá Button Khi click vào chuyển đến màn hình SC_007

3 Giới thiệu về công ty

Text Dữ liệu từ API

Map Dữ liệu từ API

Gridview Dữ liệu từ API

Listview Dữ liệu từ API

4.4.1.6 SC_005: Màn hình tìm kiếm sự kiện

Hình 4.9: SC_005: Màn hình tìm kiếm sự kiện

Bảng 4.25: SC_005: Màn hình tìm kiếm sự kiện

No Name Required Type Reference Note

1 Tìm kiếm Input Nhập từ khóa để tìm kiếm sự kiện

2 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

Khi người dùng nhấn vào nút tìm kiếm, hệ thống sẽ tự động phân tích từ khóa và tiêu chí tìm kiếm đã được nhập, sau đó hiển thị kết quả tìm kiếm phù hợp với sự kiện tương ứng.

4 Bộ lọc Button Khi click vào hiển thị các tiêu chí tìm kiếm nâng cao

5 Người tổ chức sự kiện

Dropdown Lựa chọn tìm kiếm theo người tổ chức sự kiện

Dropdown Lựa chọn tìm kiếm theo chủ đề sự kiện

7 Tên công ty Dropdown Lựa chọn tìm kiếm theo tên công ty

Dropdown Lựa chọn tìm kiếm theo trạng thái sự kiện

Dropdown Lựa chọn tìm kiếm theo thời gian đăng sự kiện

10 Xác nhận Button Khi click vào người dùng xác nhận các tiêu chí tìm kiếm nâng cao đã lựa chọn

11 Xóa bộ lọc Button Khi click vào, hệ thống sẽ xóa và đồng thời đóng bộ lọc

Listview Dữ liệu từ API

13 Tên sự kiện Link Khi click vào, hệ thống chuyển đến màn hình SC_006

4.4.1.7 SC_006: Màn hình chi tiết sự kiện

Hình 4.10: SC_006: Màn hình chi tiết sự kiện

Bảng 4.26: SC_006: Màn hình chi tiết sự kiện

No Name Required Type Reference Note

1 Thông tin tổng quát sự kiện

Label Dữ liệu từ API

Button Khi click vào chuyển đến màn hình SC_007

Text Dữ liệu từ API

Map Dữ liệu từ API

Slide Dữ liệu từ API

4.4.2 Màn hình role Người tìm việc

Bảng 4.27: Mô tả màn hình của Người tìm việc

No Tên màn hình Miêu tả

SC_016 Màn hình ứng tuyển công việc

Giao diện cho phép người tìm việc ứng tuyển công việc

SC_017 Màn hình đánh giá nhà tuyển dụng

Giao diện cho phép người tìm việc đánh giá công ty

SC_018 Màn hình đăng ký tham gia sự kiện

Giao diện cho phép người tìm việc đăng ký tham gia sự kiện

SC_019 Màn hình quản lý tài khoản

Giao diện quản lý tài khoản của người tìm việc

SC_020 Màn hình danh sách việc làm đã lưu

Giao diện hiển thị danh sách việc làm đã lưu

SC_021 Màn hình danh sách việc làm đã ứng tuyển

Giao diện hiển thị danh sách việc làm đã ứng tuyển

SC_022 Màn hình danh sách sự kiện đã đăng ký

Giao diện hiển thị danh sách sự kiện đã đăng ký

SC_023 Màn hình cài đặt Giao diện cho phép người tìm việc cài đặt tài khoản của mình

4.4.2.2 SC_016: Màn hình ứng tuyển công việc

Hình 4.11: SC_016: Màn hình ứng tuyển công việc

Bảng 4.28: SC_016: Màn hình ứng tuyển công việc

No Name Required Type Reference Note

1 Tên đầy đủ True Input

Button Sau khi ứng tuyển thành công, hệ thống chuyển sang màn hình SC_003

4.4.2.3 SC_017: Màn hình đánh giá nhà tuyển dụng

Hình 4.12: SC_017: Màn hình đánh giá nhà tuyển dụng

Bảng 4.29: SC_017: Màn hình đánh giá nhà tuyển dụng

No Name Required Type Reference Note

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tài khoản cho người tìm việc chọn

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

3 Dành cho nhà tuyển dụng

Label Khi click vào chuyển đến màn hình SC_011

6 Chế độ OT True Input

7 Điều thích về công ty

8 Điều công ty cần cải thiện

9 Đánh giá Button Nếu đánh giá thành công, hệ thống sẽ chuyển đến màn hình SC_004

4.4.2.4 SC_018: Màn hình đăng ký tham gia sự kiện

Hình 4.13: SC_018: Màn hình đăng ký tham gia sự kiện

Bảng 4.30: SC_018: Màn hình đăng ký tham gia sự kiện

No Name Required Type Reference Note

1 Tên đầy đủ True Input Dữ liệu từ local storage

2 Điện thoại True Input Dữ liệu từ local storage

True Select item Dữ liệu từ API

5 Quận/Huyện True Select item Dữ liệu từ API

6 Phường/Xã True Select item Dữ liệu từ API

True Select item Dữ liệu từ API

Button Nếu đăng ký tham gia sự kiện thành công, hệ thống sẽ chuyển đến màn hình SC_006

4.4.2.5 SC_019: Màn hình quản lý tài khoản

Hình 4.14: SC_019: Màn hình quản lý tài khoản

Bảng 4.31: SC_019: Màn hình quản lý tài khoản

No Name Required Type Reference Note

Label Khi click vào chuyển đến màn hình SC_020

2 Việc làm đã ứng tuyển

Label Khi click vào chuyển đến màn hình SC_021

3 Sự kiện đã đăng ký

Label Khi click vào chuyển đến màn hình SC_022

4 Cài đặt Label Khi click vào chuyển đến màn hình SC_023

5 Đăng xuất Button Đăng xuất khỏi hệ thống

Label Dữ liệu từ API

7 Email TextBox Dữ liệu từ API

8 Tên đầy đủ True Input Dữ liệu từ API

9 Ngày sinh True Input Dữ liệu từ API

10 Số điện thoại True Input Dữ liệu từ API

True Select item Dữ liệu từ API

12 Quận/Huyện True Select item Dữ liệu từ API

13 Phường/Xã True Select item Dữ liệu từ API

14 Địa chỉ True Select item Dữ liệu từ API

Button Thông tin sau khi cập nhật sẽ thay đổi

4.4.2.6 SC_021: Màn hình danh sách việc làm đã ứng tuyển

Hình 4.15: SC_021: Màn hình danh sách việc làm đã ứng tuyển

Bảng 4.32: SC_021: Màn hình danh sách việc làm đã ứng tuyển

No Name Required Type Reference Note

1 Danh sách tin tuyển dụng đã ứng tuyển

Listview Dữ liệu từ API

Link Khi click vào chuyển đến màn hình SC_003

3 Tên công ty Link Khi click vào chuyển đến màn hình SC_004

4.4.2.7 SC_022: Màn hình danh sách sự kiện đã đăng ký

Hình 4.16: SC_022: Màn hình danh sách sự kiện đã đăng ký

Bảng 4.33: SC_022: Màn hình danh sách sự kiện đã đăng ký

No Name Required Type Reference Note

1 Danh sách sự kiện đã đăng ký tham gia

Gridview Dữ liệu từ API

2 Xem thông tin đã đăng ký

Button Hiển thị thông tin người dùng đã đăng ký

4.4.3 Màn hình role Nhà tuyển dụng

Bảng 4.34: Mô tả màn hình của Nhà tuyển dụng

No Tên màn hình Miêu tả

SC_024 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Nhà tuyển dụng

SC_025 Màn hình đăng tin tuyển dụng

Giao diện cho phép Nhà tuyển dụng đăng tin tuyển dụng

SC_026 Màn hình quản lý tin tuyển dụng đã tạo

Giao diện cho phép Nhà tuyển dụng quản lý tin tuyển dụng đã tạo

SC_027 Màn hình chỉnh sửa tin tuyển dụng

Giao diện cho phép Nhà tuyển dụng chỉnh sửa tin tuyển dụng

SC_028 Màn hình quản lý tin tuyển dụng đã xóa

Giao diện cho phép Nhà tuyển dụng quản lý tin tuyển dụng đã xóa

SC_029 Màn hình tạo sự kiện Giao diện cho phép Nhà tuyển dụng tạo sự kiện

SC_030 Màn hình quản lý sự kiện đã tạo

Giao diện cho phép Nhà tuyển dụng quản lý sự kiện đã tạo

SC_031 Màn hình xem danh sách thành viên đăng ký tham giao diện

Giao diện hiển thị danh sách viên đăng ký tham gia sự kiện

SC_032 Màn hình chỉnh sửa sự kiện

Giao diện cho phép Nhà tuyển dụng chỉnh sửa sự kiện đã tạo

SC_033 Màn hình quản lý sự kiện đã xóa

Giao diện cho phép Nhà tuyển dụng quản lý sự kiện đã xóa

SC_034 Màn hình quản lý hồ sơ ứng viên

Giao diện cho phép Nhà tuyển dụng quản lý hồ sơ ứng viên

SC_035 Màn hình quản lý tài khoản

Giao diện cho phép Nhà tuyển dụng quản lý tài khoản

SC_036 Màn hình cài đặt Giao diện cho phép Nhà tuyển dụng cài đặt tài khoản

4.4.3.2 SC_024: Màn hình thống kê số liệu

Hình 4.17: SC_024: Màn hình thống kê số liệu

Bảng 4.35: SC_024: Màn hình thống kê số liệu

No Name Required Type Reference Note

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tài khoản cho nhà tuyển dụng chọn

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

Label Khi click vào chuyển đến màn hình SC_001

Label Khi click vào chuyển đến màn hình SC_025

5 Quản lý tin tuyển dụng

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên

118 quan đến quản lý tin tuyển dụng cho nhà tuyển dụng chọn

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý sự kiện cho nhà tuyển dụng chọn

7 Quản lý hồ sơ ứng viên

Label Khi click vào chuyển đến màn hình SC_034

Label Khi click vào chuyển đến màn hình SC_035

9 Cài đặt Label Khi click vào chuyển đến màn hình SC_036

10 Đăng xuất Button Đăng xuất khỏi hệ thống

Label Dữ liệu từ API

12 Thống kê tổng số hồ sơ ứng viên ứng tuyển

Chart Dữ liệu từ API

4.4.3.3 SC_025: Màn hình đăng tin tuyển dụng

Hình 4.18: SC_025: Màn hình đăng tin tuyển dụng

Bảng 4.36: SC_025: Màn hình đăng tin tuyển dụng

No Name Required Type Reference Note

1 Tiêu đề tin tuyển dụng

4 Thời gian bắt đầu làm việc

5 Thời gian làm việc kết thúc

6 Hạn nộp hồ sơ True Input

7 Đường True Input Dữ liệu từ local storage

True Input Dữ liệu từ local storage

4.4.3.4 SC_026: Màn hình quản lý tin tuyển dụng đã tạo

Hình 4.19: SC_026: Màn hình quản lý tin tuyển dụng đã tạo

Bảng 4.37: SC_026: Màn hình quản lý tin tuyển dụng đã tạo

No Name Required Type Reference Note

1 Danh sách tin tuyển dụng đã tạo

Gridview Dữ liệu từ API

2 Chi tiết Button Xem chi tiết tin tuyển dụng

3 Sửa Button Khi click vào chuyển đến màn hình SC_027

4 Xóa Button Xóa tin tuyển dụng

4.4.3.5 SC_029: Màn hình tạo sự kiện

Hình 4.20: SC_029: Màn hình tạo sự kiện

Bảng 4.38: SC_029: Màn hình tạo sự kiện

No Name Required Type Reference Note

1 Tên sự kiện True Input

3 Người tổ chức sự kiện

6 Thời gian bắt đầu sự kiện

7 Thời gian kết thúc sự kiện

4.4.3.6 SC_031: Màn hình xem danh sách thành viên đăng ký tham sự kiện

Hình 4.21: SC_031: Màn hình xem danh sách thành viên đăng ký tham gia sự kiện

Bảng 4.39: SC_031: Màn hình xem danh sách thành viên đăng ký tham gia sự kiện

No Name Required Type Reference Note

1 Xuất tệp excel Button Xuất file excel danh sách thành viên tham gia sự kiện

2 Danh sách thành viên tham gia sự kiện

4.4.3.7 SC_034: Màn hình quản lý hồ sơ ứng viên

Hình 4.22: SC_034: Màn hình quản lý hồ sơ ứng viên

Bảng 4.40: SC_034: Màn hình quản lý hồ sơ ứng viên

No Name Required Type Reference Note

Input Nhập tên người tìm việc để tìm kiếm hồ sơ ứng viên

Dropdown Chọn tên tình trạng việc làm để tìm kiếm hồ sơ ứng viên

3 Ngày bắt đầu Input Chọn tên ngày bắt đầu để tìm kiếm hồ sơ ứng viên

4 Ngày kết thúc Input Chọn tên ngày kết thúc để tìm kiếm hồ sơ ứng viên

5 Tìm kiếm Button Khi click vào, hệ thống sẽ sẽ dựa vào từ khóa và tiêu chí tìm kiếm của nhà

124 tuyển dụng và hiển thị hồ sơ ứng viên tương ứng

6 Danh sách hồ sơ ứng viên

7 Hồ sơ đã lưu Tab Khi click vào sẽ chuyển sang tab hồ sơ đã lưu

8 Hồ sơ đã xóa Tab Khi click vào sẽ chuyển sang tab hồ sơ đã xóa

4.4.4 Màn hình role Quản lý hệ thống

Bảng 4.41: Mô tả màn hình của Quản lý hệ thống

No Tên màn hình Miêu tả

SC_037 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Quản lý hệ thống

SC_038 Màn hình quản lý nhà tuyển dụng

Giao diện cho phép Quản lý hệ thống quản lý nhà tuyển dụng

SC_039 Màn hình chi tiết nhà tuyển dụng

Giao diện hiển thị chi tiết Nhà tuyển dụng

SC_040 Màn hình tạo tài khoản nhà tuyển dụng

Giao diện cho phép Quản lý hệ thống tạo tài khoản cho nhà tuyển dụng

SC_041 Màn hình quản lý tin tuyển dụng đã tạo

Giao diện cho phép Quản lý hệ thống quản lý tin tuyển dụng đã tạo

SC_042 Màn hình quản lý tin tuyển dụng đã xóa

Giao diện cho phép Quản lý hệ thống quản lý tin tuyển dụng đã xóa

SC_043 Màn hình quản lý tài khoản

Giao diện cho phép Quản lý hệ thống quản lý tài khoản

SC_044 Màn hình cài đặt Giao diện cho phép Quản lý hệ thống cài đặt tài khoản

4.4.4.2 SC_037: Màn hình thống kê số liệu

Hình 4.23: SC_037: Màn hình thống kê số liệu

Bảng 4.42: SC_037: Màn hình thống kê số liệu

No Name Required Type Reference Note

1 Thống kê Label Khi click vào chuyển đến màn hình SC_037

Label Khi click vào chuyển đến màn hình SC_038

Label Khi click vào chuyển đến màn hình SC_041

4 Tài khoản Label Khi click vào chuyển đến màn hình SC_043

5 Cài đặt Label Khi click vào chuyển đến màn hình SC_044

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

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

Label Khi click vào chuyển đến màn hình SC_038

8 Quản lý tin tuyển dụng

Label Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tin tuyển dụng cho Quản lý hệ thống chọn

Label Khi click vào chuyển đến màn hình SC_043

10 Cài đặt Label Khi click vào chuyển đến màn hình SC_044

11 Đăng xuất Button Đăng xuất khỏi hệ thống

13 Thống kê số lượng nhà tuyển theo tháng

4.4.4.3 SC_038: Màn hình quản lý nhà tuyển dụng

Hình 4.24: SC_038: Màn hình quản lý nhà tuyển dụng

Bảng 4.43: SC_038: Màn hình quản lý nhà tuyển dụng

No Name Required Type Reference Note

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

2 Đã phê duyệt/Chưa phê duyệt

Button Khi click vào chuyển đến màn hình SC_039

4.4.4.4 SC_039: Màn hình chi tiết nhà tuyển dụng

Hình 4.25: SC_039: Màn hình chi tiết nhà tuyển dụng

Bảng 4.44: SC_039: Màn hình chi tiết nhà tuyển dụng

No Name Required Type Reference Note

1 Chi tiết nhà tuyển dụng

2 Từ chối Button Từ chối phê duyệt nhà tuyển dụng

3 Phê duyệt Button Khi click vào chuyển đến màn hình SC_040

4.4.4.5 SC_040: Màn hình tạo tài khoản nhà tuyển dụng

Hình 4.26: SC_040: Màn hình tạo tài khoản nhà tuyển dụng

Bảng 4.45: SC_040: Màn hình tạo tài khoản nhà tuyển dụng

No Name Required Type Reference Note

4 Bỏ qua Button Khi click vào chuyển đến màn hình SC_039

5 Tạo tài khoản Button Tạo tài khoản cho nhà tuyển dụng

4.4.4.6 SC_041: Màn hình quản lý tin tuyển dụng đã tạo

Hình 4.27: SC_041: Màn hình quản lý tin tuyển dụng đã tạo

Bảng 4.46: SC_041: Màn hình quản lý tin tuyển dụng đã tạo

No Name Required Type Reference Note

1 Đã từ chối Label Khi click vào, hệ thống chuyển sang tab Đã từ chối

2 Đã phê duyệt Label Khi click vào, hệ thống chuyển sang tab Đã phê duyệt

3 Danh sách tin tuyển dụng

Dropdown Khi click vào, hệ thống sẽ hiển thị thêm lựa chọn cho tin tuyển dụng đó

5 Xem chi tiết Button Xem chi tiết tin tuyển dụng

6 Phê duyệt Button Phê duyệt tin tuyển dụng

7 Từ chối Button Từ chối phê duyệt tin tuyển dụng

4.4.5 Màn hình role Quản trị hệ thống

Bảng 4.47: Mô tả màn hình của Quản trị hệ thống

No Tên màn hình Miêu tả

SC_045 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Quản trị hệ thống

SC_046 Màn hình Cấp tài khoản

Giao diện cho phép Quản trị hệ thống cấp tài khoản

SC_047 Màn hình quản lý tài khoản

Giao diện cho phép Quản trị hệ thống quản lý tài khoản

SC_048 Màn hình cài đặt Giao diện cho phép Quản trị hệ thống quản lý tài khoản

4.4.5.2 SC_045: Màn hình thống kê số liệu

Hình 4.28: SC_045: Màn hình thống kê số liệu

Bảng 4.48: SC_045: Màn hình thống kê số liệu

No Name Required Type Reference Note

1 Cấp tài khoản Label Khi click vào chuyển đến màn hình SC_046

Label Khi click vào chuyển đến màn hình quản lý người dùng

3 Tài khoản Label Khi click vào chuyển đến màn hình SC_047

4 Cài đặt Label Khi click vào chuyển đến màn hình SC_048

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

6 Cấp tài khoản Label Khi click vào chuyển đến màn hình SC_046

Label Khi click vào chuyển đến màn hình quản lý người dùng

Label Khi click vào chuyển đến màn hình SC_047

9 Cài đặt Label Khi click vào chuyển đến màn hình SC_048

10 Đăng xuất Button Đăng xuất khỏi hệ thống

12 Thống kê số lượng người dùng theo tháng

4.4.5.3 SC_046: Màn hình Cấp tài khoản

Hình 4.29: SC_046: Màn hình Cấp tài khoản

Bảng 4.49: SC_046: Màn hình Cấp tài khoản

No Name Required Type Reference Note

1 Quản lý hệ thống – Tên đăng nhập

2 Quản lý hệ thống – Tên đầy đủ

3 Quản lý hệ thống – Mật khẩu

4 Quản lý hệ thống – Nhập lại mật khẩu

5 Hủy Button Không thực hiện hành động gì

6 Cấp tài khoản Button Cấp tài khoản cho quản lý hệ thống

7 Quản trị hệ thống – Tên đăng nhập

8 Quản trị hệ thống – Email

9 Quản trị hệ thống – Tên đầy đủ

10 Quản trị hệ thống – Mật khẩu

11 Quản trị hệ thống – Nhập lại mật khẩu

12 Hủy Button Không thực hiện hành động gì

13 Cấp tài khoản Button Cấp tài khoản cho quản trị hệ thống

Trong quá trình thực hiện đồ án, nhóm đã vượt qua nhiều khó khăn và mâu thuẫn, tranh cãi, đồng thời phải đối mặt với những hạn chế về thời gian Tuy nhiên, nhờ vào tinh thần tự học, tinh thần làm việc nhóm và sự hỗ trợ tận tình của giáo viên hướng dẫn, nhóm đã hoàn thành tốt đề tài, đáp ứng được mục tiêu ban đầu đề ra.

- Học hỏi được công nghệ mới: MERN stack và biết cách ứng dụng vào đồ án môn học

Quá trình thực hiện đồ án giúp sinh viên rèn luyện và phát triển các kỹ năng quan trọng, bao gồm kỹ năng tự học, kỹ năng tìm kiếm tài liệu và kỹ năng tìm kiếm giải pháp để giải quyết các vấn đề gặp phải trong quá trình thực hiện Thông qua việc tự tìm kiếm và giải quyết vấn đề, sinh viên có thể phát triển khả năng tư duy độc lập, sáng tạo và linh hoạt trong việc giải quyết các vấn đề phức tạp.

- Nâng cao kỹ năng làm việc, thảo luận nhóm, phân chia công việc giữa các thành viên trong nhóm

Việc hoàn thiện ứng dụng web là cầu nối quan trọng giữa ứng viên và nhà tuyển dụng trong lĩnh vực công nghệ thông tin, giúp đáp ứng được những mục tiêu ban đầu đề ra và tạo ra một môi trường kết nối hiệu quả.

Bảng 5.1: Phân công công việc

STT Tên công việc đã làm Thành viên thực hiện

1 Thiết kế giao diện, màn hình Nguyễn Hữu Tường

2 Thiết kế cơ sở dữ liệu Đặng Nguyễn Hoài Thư

3 Viết API cho hệ thống Đặng Nguyễn Hoài Thư

4 Tổng kết và viết báo cáo Đặng Nguyễn Hoài Thư

Bảng 5.2: Bảng tỷ lệ đóng góp

STT Tên thành viên nhóm Tỷ lệ đóng góp

- Website có giao diện dễ nhìn, thân thiện với người dùng

- Giao diện có thể tương thích trên nhiều thiết bị khác nhau

Công cụ này hỗ trợ người tìm việc làm tìm kiếm nâng cao và nộp đơn ứng tuyển một cách dễ dàng, đồng thời cung cấp cơ hội tham gia các sự kiện tuyển dụng hấp dẫn do công ty tổ chức, giúp ứng viên tăng cường cơ hội tìm được công việc mơ ước.

Nền tảng này hỗ trợ tối đa nhà tuyển dụng trong việc quản lý toàn diện các hoạt động tuyển dụng, bao gồm quản lý tin tuyển dụng, tổ chức và quản lý sự kiện, lưu trữ và quản lý hồ sơ ứng viên, theo dõi người tham gia sự kiện, phân tích thống kê và gửi email tự động, giúp nhà tuyển dụng tiết kiệm thời gian và nâng cao hiệu quả tuyển dụng.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

THIẾT KẾ CƠ SỞ DỮ LIỆU

Cấp tài khoản cho quản lý hệ thống

Cấp tài khoản cho quản trị hệ thống

Thống kê số lượng user đăng ký vào hệ thống theo tháng

4.3 THIẾT KẾ CƠ SỞ DỮ LIỆU

4.3.1 Sơ đồ thiết kế cơ sở dữ liệu

Hình 4.4: Sơ đồ thiết kế cơ sở dữ liệu

4.3.2 Mô tả sơ đồ thiết kế cơ sở dữ liệu

4.3.2.1 Bảng Employer (Nhà tuyển dụng)

Bảng 4.6: Bảng Employer (Nhà tuyển dụng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 usename String Tên đăng nhập của nhà tuyển dụng

3 password String Mật khẩu của nhà tuyển dụng

4 address Address Địa chỉ của nhà tuyển dụng

5 companyName String Tên công ty

6 companyWebsite String Website công ty của nhà tuyển dụng

7 email String Email của công ty

8 isEmailVerified Boolean Đánh dấu nhà tuyển dụng đã xác nhận email hay chưa

9 logo String Logo của công ty

10 ot Boolean Đánh dấu nhà tuyển có OT hay không

11 scale String Quy mô nhân viên của công ty

12 phone String Số điện thoại của công ty

13 desciption String Mô tả về công ty

14 welfare String Phúc lợi của công ty

15 status String Trạng thái hiện tại của công ty Ví dụ: đã phê duyệt, chưa phê duyệt, …

16 TIN String Mã số thuế của công ty

17 companyType String Loại công ty

18 authenToken String Token dùng để xác thực email

19 authenTokenExpired Date Thời gian hết hạn của token

20 passwordChangeAt Date Thời điểm thay đổi password của công ty

21 passwordResetToken String Token dùng để reset password

22 passwordResetExpires Date Thời gian hết hạn của token

23 ratingsAverage Number Điểm đánh giá (review) trung bình về công ty

24 ratingsQuantity Number Số lượng đánh giá (review) trung bình của công ty

25 Reviews Array String Danh sách đánh giá về công ty

26 registeredServicepackage Array Object Danh sách các gói dịch vụ đã đăng ký

4.3.2.2 Bảng Jobseeker (Người tìm việc)

Bảng 4.7: Bảng Jbseeker (Người tìm việc)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của người tìm việc

3 phone String Số điện thoại của người tìm việc

4 fullname String Họ và tên của người tìm việc

5 username String Tên đăng nhập của người tìm việc

6 password String Mật khẩu của người tìm việc

7 DOB Date Ngày sinh của người tìm việc

8 avatar String Avatar của người tìm việc

9 favoriteJobs Array[ObjectID] Mảng công việc yêu thích của người tìm việc

10 isEmailVerified Boolean Đánh dấu người tìm việc đã xác thực email chưa

11 authenToken String Token dùng để xác thực email

12 authenTokenExpired Date Thời gian hết hạn của token

13 passwordChangeAt Date Thời điểm thay đổi password của người tìm việc

14 passwordResetToken String Token dùng để reset password

15 passwordResetExpires Date Thời gian hết hạn của token

16 address Addresss Địa chỉ của người tìm việc

4.3.2.3 Bảng System Manager ( Quản lý hệ thống)

Bảng 4.8: Bảng System Manager (Quản lý hệ thống)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của quản lý hệ thống

3 phone String Số điện thoại của quản lý hệ thống

4 fullname String Họ và tên của quản lý hệ thống

5 username String Tên đăng nhập của quản lý hệ thống

6 password String Mật khẩu của quản lý hệ thống

7 avatar String Avatar của quản lý hệ thống

8 authenToken String Token dùng để xác thực email

9 authenTokenExpired Date Thời gian hết hạn của token

10 passwordChangeAt Date Thời điểm thay đổi password của quản lý hệ thống

11 passwordResetToken String Token dùng để reset password

12 passwordResetExpires Date Thời gian hết hạn của token

4.3.2.4 Bảng System Admin (Quản trị hệ thống)

Bảng 4.9: Bảng System Admin (Quản trị hệ thống)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 email String Email của quản trị hệ thống

3 phone String Số điện thoại của quản trị hệ thống

4 fullname String Họ và tên của quản trị hệ thống

5 username String Tên đăng nhập của quản trị hệ thống

6 password String Mật khẩu của quản trị hệ thống

7 avatar String Avatar của quản trị hệ thống

8 authenToken String Token dùng để xác thực email

9 authenTokenExpired Date Thời gian hết hạn của token

10 passwordChangeAt Date Thời điểm thay đổi password của quản trị hệ thống

11 passwordResetToken String Token dùng để reset password

12 passwordResetExpires Date Thời gian hết hạn của token

4.3.2.5 Bảng Job ( Tin tuyển dụng)

Bảng 4.10: Bảng Job (Tin tuyển dụng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Id của nhà tuyển dụng

3 workingTime Object Thời gian làm việc của công việc

4 location Object Địa chỉ làm việc

5 benefits String Lợi ích khi tham gia làm việc

6 description String Mô tả công việc

7 jobTitle String Tiêu đề công việc

8 slug String Slug của công việc

9 position String Vị trí của công việc

10 priorityLevel String Mức độ ưu tiên của bài đăng

11 reason String Lý do nên tham gia công việc

12 requirements String Yêu cầu của công việc

13 responsilities String Trách nhiệm của công việc

14 salary Object Mức lương của công ty

15 skills Array[String] Kỹ năng của công việc

16 level String Cấp độ của công việc

17 status String Trạng thái của tin tuyển dụng

18 finishDate Date Ngày hết hạn của bài đăng

19 createdAt Date Ngày đăng bài

4.3.2.6 Bảng Application (Ứng viên ứng tuyển công việc)

Bảng 4.11: Bảng Application (Ứng viên ứng tuyển công việc)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 Job ObjectID Id của tin tuyển dụng

3 jobSeeker ObjectID Id của người tìm việc

4 cvPath String Đường dẫn lưu CV của ứng viên

5 fullName String Họ và tên của ứng viên

6 description String Mô tả của ứng viên

7 phone String Số điện thoại của ứng viên

8 status String Trạng thái của đơn xin việc

4.3.2.7 Bảng Review (Đánh giá về công ty)

Bảng 4.12: Bảng Review (Đánh giá về công ty)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 improvement String Những điều công ty cần cải thiện

3 interesting String Những điều yêu thích về công ty

4 ot String Mức độ hài lòng về OT ở công ty

5 user ObjectID Id của người đánh giá

6 title String Tiêu đề bài đánh giá

7 rating Number Điểm đánh giá về công ty

8 company ObjectID Id của công ty được đánh giá

4.3.2.8 Bảng Event (Sự kiện của công ty)

Bảng 4.13: Bảng Event (Sự kiện của công ty)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Id của nhà tuyển dụng

3 address Object Địa chỉ tổ chức sự kiện

4 briefDescription String Mô tả vắn tắt về sự kiện

5 endTime Date Thời gian kết thúc của sự kiện

6 eventContent String Nội dung của sự kiện

7 eventName String Tên sự kiện

8 eventOrganizer String Nhà tổ chức sự kiện

9 images Array[String] Mảng lưu đường dẫn hình ảnh của sự kiện

10 startTime Date Thời gian bắt đầu của sự kiện

11 status String Trạng thái của sự kiện

12 topic String Chủ đề của sự kiện

13 imageCover String Đường dẫn hình ảnh chính của sự kiện

14 location String Địa điểm tổ chức sự kiện

15 slug String Slug của sự kiện

16 participantMax Number Số lượng người tham gia tối đa

17 participantQuantity Number Số lượng người tham gia hiện tại

4.3.2.9 Bảng Participant (Người tham gia sự kiện)

Bảng 4.14: Bảng Participant (Người tham gia sự kiện)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 event ObjectID Id của sự kiện

3 address Object Địa chỉ của người tham gia sự kiện

4 status String Trạng thái của người tham gia

5 participant ObjectID Id của người tham gia sự kiện

6 phone String Số điện thoại của người tham gia

7 fullName String Họ và tên của người tham gia

8 interestingFields Array[String] Những lĩnh vực quan tâm của người tham gia

Bảng 4.15: Bảng Service (Dịch vụ)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 serviceName String Tên dịch vụ

3 description String Mô tả dịch vụ

4 price Object Giá của dịch vụ

5 tags Object Tag của dịch vụ

6 deleted Boolean Kiểm tra service có bị xóa hay không

4.3.2.11 Bảng Service Package (Gói dịch vụ)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 packageName String Tên gói dịch vụ

3 description String Mô tả gói dịch vụ

4 price Object Giá của dịch vụ

5 postType String Loại gói dịch vụ

6 servicePackageCode String Mã gói dịch vụ

7 services Array Danh sách các dịch vụ

8 extantQuantity Number Số lượng bài đăng còn lại

9 postQuantity Number Tổng số lượng bài đăng

4.3.2.12 Bảng Order (Thông tin giao dịch)

Bảng 4.16: Bảng Order (Thông tin giao dịch)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 servicePackages Array Danh sách gói dịch vụ

3 employer ObjectID Id của nhà tuyển dụng

4 price Object Giá của dịch vụ

5 paidPrice Object Giá phải trả của dịch vụ

6 status String Trạng thái của đơn hàng

7 totalQuantity Number Tổng số lượng bài đăng

8 paymentMethods String Loại phương thức thanh toán

Bảng 4.17: Bảng Cart (Giỏ hàng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 servicePackages Array Danh sách gói dịch vụ

3 employer ObjectID Id của nhà tuyển dụng

4 price Object Giá của dịch vụ

5 paidPrice Object Giá phải trả của dịch vụ

6 totalQuantity Number Tổng số lượng bài đăng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 questionContent String Nội dung câu hỏi

3 skills Array Kỹ năng liên quan đến câu hỏi

4 questionType String Loại câu hỏi

5 level String Mức độ khó của câu hỏi

6 explanation String Giải thích về câu hỏi

7 tips String Gợi ý trả lời câu hỏi

8 score Number Điểm số của câu hỏi

9 duration Number Thời gian trả lời câu hỏi

10 isRandom Boolean Câu hỏi có random đáp án không

11 isFullScore Boolean Câu hỏi có chấm toàn điểm nếu đúng một phần hay không

12 answer Array Object Danh sách đáp án của câu hỏi

4.3.2.15 Bảng Entry test (Bộ đề thi)

Bảng 4.18: Bảng Entry test (Bộ đề thi)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

2 company ObjectID Nhà tuyển dụng sở hữu entry test

3 description String Mô tả entry test

4 questions Array Object Danh sách câu hỏi trong entry test

5 requiredPass Number Số điểm tối thiểu đạt được

6 skills Array Danh sách kĩ năng liên quan đến entry test

7 title String Tiêu đề của entry test

8 totalScore Number Tổng điểm của entry test

9 totalQuestion Number Tổng câu hỏi của entry test

10 duration Number Thời lượng làm entry test

4.3.2.16 Bảng Answersheet (Phiếu trả lời)

Bảng 4.19: Bảng AnswerSheet (Phiếu trả lời)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 _id ObjectID Giá trị id được tạo tự động, có giá trị duy nhất, phân biệt với các document khác

THIẾT KẾ GIAO DIỆN

2 entryTest ObjectID Id của Entry test

3 answerContent Array Object Danh sách câu trả lời

4 totalRightQuestion Number Tổng số câu trả lời đúng

5 achivedFullScore Number Tổng điểm đạt được

6 duration Number Thời gian thực hiện bài test

7 jobSeeker ObjectID Ứng viên trả lời câu hỏi

4.4.1 Màn hình của role Guest

Bảng 4.20: Mô tả màn hình của role Guest

No Tên màn hình Miêu tả

SC_001 Màn hình trang chủ Giao diện trang chủ khi truy cập website

SC_002 Màn hình tìm kiếm công việc

Giao diện cho phép người dùng tìm kiếm tin tuyển dụng đang có trong hệ thống

SC_003 Màn hình chi tiết công việc

Giao diện hiển thị thông tin chi tiết của tin tuyển dụng

SC_004 Màn hình chi tiết nhà tuyển dụng

Giao diện hiển thị thông tin chi tiết của công ty

SC_005 Màn hình tìm kiếm sự kiện

Giao diện cho phép người dùng tìm kiếm sự kiện đang có trong hệ thống

SC_006 Màn hình chi tiết sự kiện

Giao diện hiển thị thông tin chi tiết của sự kiện

SC_007 Màn hình đăng nhập của Người tìm việc

Giao diện cho phép Guest đăng nhập vào hệ thống với role Người tìm việc

SC_008 Màn hình đăng ký của

Giao diện cho phép Guest đăng ký vào hệ thống với role Người tìm việc

SC_009 Màn hình quên mật khẩu

Giao diện giúp Guest có thể lấy lại mật khẩu tài khoản của mình

SC_010 Màn hình đổi mật khẩu Giao diện giúp Guest có thể đổi lại mật khẩu tài khoản của mình

SC_011 Màn hình trang chủ của

Giao diện trang chủ dành cho Nhà tuyển dụng

SC_012 Màn hình đăng nhập của Nhà tuyển dụng

Giao diện cho phép Guest đăng nhập vào hệ thống với role Nhà tuyển dụng

SC_013 Màn hình đăng ký của

Giao diện cho phép Guest đăng ký vào hệ thống với role Nhà tuyển dụng

SC_014 Màn hình đăng nhập của Quản lý hệ thống

Giao diện cho phép Guest đăng nhập vào hệ thống với role Quản lý hệ thống

SC_015 Màn hình đăng nhập của Quản trị hệ thống

Giao diện cho phép Guest đăng nhập vào hệ thống với role Quản trị hệ thống

4.4.1.2 SC_001: Màn hình trang chủ của role Guest

Hình 4.5: SC_001: Màn hình trang chủ của role Guest

Bảng 4.21: SC_001: Mô tả màn hình trang chủ role Guest

No Name Required Type Reference Note

1 Đăng nhập Label Khi click vào chuyển đến màn hình SC_007

2 Đăng ký Label Khi click vào là chuyển đến SC_008

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

4 Dành cho nhà tuyển dụng

Label Khi click vào là chuyển đến SC_011

5 Tìm kiếm Input Nhập từ khóa để tìm kiếm tin tuyển dụng

6 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

7 Nút tìm kiếm Button Khi click vào sẽ chuyển đến màn hình SC_002

8 Xem tất cả Button Khi click vào sẽ chuyển đến màn hình SC_002

9 Danh sách tin tuyển dụng

Gridview Dữ liệu từ API

4.4.1.3 SC_002: Màn hình tìm kiếm công việc

Hình 4.6: SC_002: Màn hình tìm kiếm công việc

Bảng 4.22: SC_002: Màn hình tìm kiếm công việc

No Name Required Type Reference Note

1 Tìm kiếm Input Nhập từ khóa để tìm kiếm tin tuyển dụng

2 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

Khi người dùng click vào nút tìm kiếm, hệ thống sẽ tự động dựa vào từ khóa và tiêu chí tìm kiếm đã được nhập để hiển thị danh sách các tin tuyển dụng phù hợp và tương ứng với yêu cầu của người dùng.

4 Bộ lọc Button Khi click vào hiển thị các tiêu chí tìm kiếm nâng cao

5 Vị trí Dropdown Lựa chọn tìm kiếm theo vị trí công việc

6 Cấp độ Dropdown Lựa chọn tìm kiếm theo cấp độ

7 Mức lương Dropdown Lựa chọn tìm kiếm theo mức lương

8 Kỹ năng Dropdown Lựa chọn tìm kiếm theo kỹ năng

Dropdown Lựa chọn tìm kiếm theo thời gian đăng tin tuyển dụng

10 Xác nhận Button Khi click vào người dùng xác nhận các tiêu chí tìm kiếm nâng cao đã lựa chọn

11 Xóa bộ lọc Button Khi click vào, hệ thống sẽ xóa và đồng thời đóng bộ lọc

12 Danh sách tin tuyển dụng

Listview Dữ liệu từ API

13 Chuyển trang Button Khi click vào, hệ thống sẽ chuyển sang trang kế tiếp

4.4.1.4 SC_003: Màn hình chi tiết công việc

Hình 4.7: SC_003: Màn hình xem chi tiết công việc

Bảng 4.23: SC_003: Màn hình xem chi tiết công việc

No Name Required Type Reference Note

1 Lưu việc làm Button Khi click vào chuyển đến màn hình SC_007

Button Khi click vào chuyển đến màn hình SC_007

3 Chia sẻ Button Khi click vào, sẽ chuyển đến trang chia sẻ của facebook hoặc messenger

Label Dữ liệu từ API

5 Tên công ty Link Khi click vào chuyển đến màn hình SC_004

6 Thông tin chi tiết của tin tuyển dụng

Text Dữ liệu từ API

Map Dữ liệu từ API

Table Dữ liệu từ API

Button Khi click vào chuyển đến màn hình SC_007

4.4.1.5 SC_004: Màn hình chi tiết nhà tuyển dụng

Hình 4.8: SC_004: Màn hình chi tiết nhà tuyển dụng

Bảng 4.24: SC_004: Màn hình chi tiết nhà tuyển dụng

No Name Required Type Reference Note

Label Dữ liệu từ API

2 Đánh giá Button Khi click vào chuyển đến màn hình SC_007

3 Giới thiệu về công ty

Text Dữ liệu từ API

Map Dữ liệu từ API

Gridview Dữ liệu từ API

Listview Dữ liệu từ API

4.4.1.6 SC_005: Màn hình tìm kiếm sự kiện

Hình 4.9: SC_005: Màn hình tìm kiếm sự kiện

Bảng 4.25: SC_005: Màn hình tìm kiếm sự kiện

No Name Required Type Reference Note

1 Tìm kiếm Input Nhập từ khóa để tìm kiếm sự kiện

2 Tất cả Dropdown Lựa chọn các tiêu chí tìm kiếm

Khi người dùng click vào nút tìm kiếm, hệ thống sẽ tự động phân tích từ khóa và tiêu chí tìm kiếm được nhập vào, sau đó hiển thị kết quả tìm kiếm tương ứng, giúp người dùng nhanh chóng tìm thấy thông tin cần thiết.

4 Bộ lọc Button Khi click vào hiển thị các tiêu chí tìm kiếm nâng cao

5 Người tổ chức sự kiện

Dropdown Lựa chọn tìm kiếm theo người tổ chức sự kiện

Dropdown Lựa chọn tìm kiếm theo chủ đề sự kiện

7 Tên công ty Dropdown Lựa chọn tìm kiếm theo tên công ty

Dropdown Lựa chọn tìm kiếm theo trạng thái sự kiện

Dropdown Lựa chọn tìm kiếm theo thời gian đăng sự kiện

10 Xác nhận Button Khi click vào người dùng xác nhận các tiêu chí tìm kiếm nâng cao đã lựa chọn

11 Xóa bộ lọc Button Khi click vào, hệ thống sẽ xóa và đồng thời đóng bộ lọc

Listview Dữ liệu từ API

13 Tên sự kiện Link Khi click vào, hệ thống chuyển đến màn hình SC_006

4.4.1.7 SC_006: Màn hình chi tiết sự kiện

Hình 4.10: SC_006: Màn hình chi tiết sự kiện

Bảng 4.26: SC_006: Màn hình chi tiết sự kiện

No Name Required Type Reference Note

1 Thông tin tổng quát sự kiện

Label Dữ liệu từ API

Button Khi click vào chuyển đến màn hình SC_007

Text Dữ liệu từ API

Map Dữ liệu từ API

Slide Dữ liệu từ API

4.4.2 Màn hình role Người tìm việc

Bảng 4.27: Mô tả màn hình của Người tìm việc

No Tên màn hình Miêu tả

SC_016 Màn hình ứng tuyển công việc

Giao diện cho phép người tìm việc ứng tuyển công việc

SC_017 Màn hình đánh giá nhà tuyển dụng

Giao diện cho phép người tìm việc đánh giá công ty

SC_018 Màn hình đăng ký tham gia sự kiện

Giao diện cho phép người tìm việc đăng ký tham gia sự kiện

SC_019 Màn hình quản lý tài khoản

Giao diện quản lý tài khoản của người tìm việc

SC_020 Màn hình danh sách việc làm đã lưu

Giao diện hiển thị danh sách việc làm đã lưu

SC_021 Màn hình danh sách việc làm đã ứng tuyển

Giao diện hiển thị danh sách việc làm đã ứng tuyển

SC_022 Màn hình danh sách sự kiện đã đăng ký

Giao diện hiển thị danh sách sự kiện đã đăng ký

SC_023 Màn hình cài đặt Giao diện cho phép người tìm việc cài đặt tài khoản của mình

4.4.2.2 SC_016: Màn hình ứng tuyển công việc

Hình 4.11: SC_016: Màn hình ứng tuyển công việc

Bảng 4.28: SC_016: Màn hình ứng tuyển công việc

No Name Required Type Reference Note

1 Tên đầy đủ True Input

Button Sau khi ứng tuyển thành công, hệ thống chuyển sang màn hình SC_003

4.4.2.3 SC_017: Màn hình đánh giá nhà tuyển dụng

Hình 4.12: SC_017: Màn hình đánh giá nhà tuyển dụng

Bảng 4.29: SC_017: Màn hình đánh giá nhà tuyển dụng

No Name Required Type Reference Note

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tài khoản cho người tìm việc chọn

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

3 Dành cho nhà tuyển dụng

Label Khi click vào chuyển đến màn hình SC_011

6 Chế độ OT True Input

7 Điều thích về công ty

8 Điều công ty cần cải thiện

9 Đánh giá Button Nếu đánh giá thành công, hệ thống sẽ chuyển đến màn hình SC_004

4.4.2.4 SC_018: Màn hình đăng ký tham gia sự kiện

Hình 4.13: SC_018: Màn hình đăng ký tham gia sự kiện

Bảng 4.30: SC_018: Màn hình đăng ký tham gia sự kiện

No Name Required Type Reference Note

1 Tên đầy đủ True Input Dữ liệu từ local storage

2 Điện thoại True Input Dữ liệu từ local storage

True Select item Dữ liệu từ API

5 Quận/Huyện True Select item Dữ liệu từ API

6 Phường/Xã True Select item Dữ liệu từ API

True Select item Dữ liệu từ API

Button Nếu đăng ký tham gia sự kiện thành công, hệ thống sẽ chuyển đến màn hình SC_006

4.4.2.5 SC_019: Màn hình quản lý tài khoản

Hình 4.14: SC_019: Màn hình quản lý tài khoản

Bảng 4.31: SC_019: Màn hình quản lý tài khoản

No Name Required Type Reference Note

Label Khi click vào chuyển đến màn hình SC_020

2 Việc làm đã ứng tuyển

Label Khi click vào chuyển đến màn hình SC_021

3 Sự kiện đã đăng ký

Label Khi click vào chuyển đến màn hình SC_022

4 Cài đặt Label Khi click vào chuyển đến màn hình SC_023

5 Đăng xuất Button Đăng xuất khỏi hệ thống

Label Dữ liệu từ API

7 Email TextBox Dữ liệu từ API

8 Tên đầy đủ True Input Dữ liệu từ API

9 Ngày sinh True Input Dữ liệu từ API

10 Số điện thoại True Input Dữ liệu từ API

True Select item Dữ liệu từ API

12 Quận/Huyện True Select item Dữ liệu từ API

13 Phường/Xã True Select item Dữ liệu từ API

14 Địa chỉ True Select item Dữ liệu từ API

Button Thông tin sau khi cập nhật sẽ thay đổi

4.4.2.6 SC_021: Màn hình danh sách việc làm đã ứng tuyển

Hình 4.15: SC_021: Màn hình danh sách việc làm đã ứng tuyển

Bảng 4.32: SC_021: Màn hình danh sách việc làm đã ứng tuyển

No Name Required Type Reference Note

1 Danh sách tin tuyển dụng đã ứng tuyển

Listview Dữ liệu từ API

Link Khi click vào chuyển đến màn hình SC_003

3 Tên công ty Link Khi click vào chuyển đến màn hình SC_004

4.4.2.7 SC_022: Màn hình danh sách sự kiện đã đăng ký

Hình 4.16: SC_022: Màn hình danh sách sự kiện đã đăng ký

Bảng 4.33: SC_022: Màn hình danh sách sự kiện đã đăng ký

No Name Required Type Reference Note

1 Danh sách sự kiện đã đăng ký tham gia

Gridview Dữ liệu từ API

2 Xem thông tin đã đăng ký

Button Hiển thị thông tin người dùng đã đăng ký

4.4.3 Màn hình role Nhà tuyển dụng

Bảng 4.34: Mô tả màn hình của Nhà tuyển dụng

No Tên màn hình Miêu tả

SC_024 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Nhà tuyển dụng

SC_025 Màn hình đăng tin tuyển dụng

Giao diện cho phép Nhà tuyển dụng đăng tin tuyển dụng

SC_026 Màn hình quản lý tin tuyển dụng đã tạo

Giao diện cho phép Nhà tuyển dụng quản lý tin tuyển dụng đã tạo

SC_027 Màn hình chỉnh sửa tin tuyển dụng

Giao diện cho phép Nhà tuyển dụng chỉnh sửa tin tuyển dụng

SC_028 Màn hình quản lý tin tuyển dụng đã xóa

Giao diện cho phép Nhà tuyển dụng quản lý tin tuyển dụng đã xóa

SC_029 Màn hình tạo sự kiện Giao diện cho phép Nhà tuyển dụng tạo sự kiện

SC_030 Màn hình quản lý sự kiện đã tạo

Giao diện cho phép Nhà tuyển dụng quản lý sự kiện đã tạo

SC_031 Màn hình xem danh sách thành viên đăng ký tham giao diện

Giao diện hiển thị danh sách viên đăng ký tham gia sự kiện

SC_032 Màn hình chỉnh sửa sự kiện

Giao diện cho phép Nhà tuyển dụng chỉnh sửa sự kiện đã tạo

SC_033 Màn hình quản lý sự kiện đã xóa

Giao diện cho phép Nhà tuyển dụng quản lý sự kiện đã xóa

SC_034 Màn hình quản lý hồ sơ ứng viên

Giao diện cho phép Nhà tuyển dụng quản lý hồ sơ ứng viên

SC_035 Màn hình quản lý tài khoản

Giao diện cho phép Nhà tuyển dụng quản lý tài khoản

SC_036 Màn hình cài đặt Giao diện cho phép Nhà tuyển dụng cài đặt tài khoản

4.4.3.2 SC_024: Màn hình thống kê số liệu

Hình 4.17: SC_024: Màn hình thống kê số liệu

Bảng 4.35: SC_024: Màn hình thống kê số liệu

No Name Required Type Reference Note

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tài khoản cho nhà tuyển dụng chọn

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

Label Khi click vào chuyển đến màn hình SC_001

Label Khi click vào chuyển đến màn hình SC_025

5 Quản lý tin tuyển dụng

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên

118 quan đến quản lý tin tuyển dụng cho nhà tuyển dụng chọn

Dropdown Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý sự kiện cho nhà tuyển dụng chọn

7 Quản lý hồ sơ ứng viên

Label Khi click vào chuyển đến màn hình SC_034

Label Khi click vào chuyển đến màn hình SC_035

9 Cài đặt Label Khi click vào chuyển đến màn hình SC_036

10 Đăng xuất Button Đăng xuất khỏi hệ thống

Label Dữ liệu từ API

12 Thống kê tổng số hồ sơ ứng viên ứng tuyển

Chart Dữ liệu từ API

4.4.3.3 SC_025: Màn hình đăng tin tuyển dụng

Hình 4.18: SC_025: Màn hình đăng tin tuyển dụng

Bảng 4.36: SC_025: Màn hình đăng tin tuyển dụng

No Name Required Type Reference Note

1 Tiêu đề tin tuyển dụng

4 Thời gian bắt đầu làm việc

5 Thời gian làm việc kết thúc

6 Hạn nộp hồ sơ True Input

7 Đường True Input Dữ liệu từ local storage

True Input Dữ liệu từ local storage

4.4.3.4 SC_026: Màn hình quản lý tin tuyển dụng đã tạo

Hình 4.19: SC_026: Màn hình quản lý tin tuyển dụng đã tạo

Bảng 4.37: SC_026: Màn hình quản lý tin tuyển dụng đã tạo

No Name Required Type Reference Note

1 Danh sách tin tuyển dụng đã tạo

Gridview Dữ liệu từ API

2 Chi tiết Button Xem chi tiết tin tuyển dụng

3 Sửa Button Khi click vào chuyển đến màn hình SC_027

4 Xóa Button Xóa tin tuyển dụng

4.4.3.5 SC_029: Màn hình tạo sự kiện

Hình 4.20: SC_029: Màn hình tạo sự kiện

Bảng 4.38: SC_029: Màn hình tạo sự kiện

No Name Required Type Reference Note

1 Tên sự kiện True Input

3 Người tổ chức sự kiện

6 Thời gian bắt đầu sự kiện

7 Thời gian kết thúc sự kiện

4.4.3.6 SC_031: Màn hình xem danh sách thành viên đăng ký tham sự kiện

Hình 4.21: SC_031: Màn hình xem danh sách thành viên đăng ký tham gia sự kiện

Bảng 4.39: SC_031: Màn hình xem danh sách thành viên đăng ký tham gia sự kiện

No Name Required Type Reference Note

1 Xuất tệp excel Button Xuất file excel danh sách thành viên tham gia sự kiện

2 Danh sách thành viên tham gia sự kiện

4.4.3.7 SC_034: Màn hình quản lý hồ sơ ứng viên

Hình 4.22: SC_034: Màn hình quản lý hồ sơ ứng viên

Bảng 4.40: SC_034: Màn hình quản lý hồ sơ ứng viên

No Name Required Type Reference Note

Input Nhập tên người tìm việc để tìm kiếm hồ sơ ứng viên

Dropdown Chọn tên tình trạng việc làm để tìm kiếm hồ sơ ứng viên

3 Ngày bắt đầu Input Chọn tên ngày bắt đầu để tìm kiếm hồ sơ ứng viên

4 Ngày kết thúc Input Chọn tên ngày kết thúc để tìm kiếm hồ sơ ứng viên

5 Tìm kiếm Button Khi click vào, hệ thống sẽ sẽ dựa vào từ khóa và tiêu chí tìm kiếm của nhà

124 tuyển dụng và hiển thị hồ sơ ứng viên tương ứng

6 Danh sách hồ sơ ứng viên

7 Hồ sơ đã lưu Tab Khi click vào sẽ chuyển sang tab hồ sơ đã lưu

8 Hồ sơ đã xóa Tab Khi click vào sẽ chuyển sang tab hồ sơ đã xóa

4.4.4 Màn hình role Quản lý hệ thống

Bảng 4.41: Mô tả màn hình của Quản lý hệ thống

No Tên màn hình Miêu tả

SC_037 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Quản lý hệ thống

SC_038 Màn hình quản lý nhà tuyển dụng

Giao diện cho phép Quản lý hệ thống quản lý nhà tuyển dụng

SC_039 Màn hình chi tiết nhà tuyển dụng

Giao diện hiển thị chi tiết Nhà tuyển dụng

SC_040 Màn hình tạo tài khoản nhà tuyển dụng

Giao diện cho phép Quản lý hệ thống tạo tài khoản cho nhà tuyển dụng

SC_041 Màn hình quản lý tin tuyển dụng đã tạo

Giao diện cho phép Quản lý hệ thống quản lý tin tuyển dụng đã tạo

SC_042 Màn hình quản lý tin tuyển dụng đã xóa

Giao diện cho phép Quản lý hệ thống quản lý tin tuyển dụng đã xóa

SC_043 Màn hình quản lý tài khoản

Giao diện cho phép Quản lý hệ thống quản lý tài khoản

SC_044 Màn hình cài đặt Giao diện cho phép Quản lý hệ thống cài đặt tài khoản

4.4.4.2 SC_037: Màn hình thống kê số liệu

Hình 4.23: SC_037: Màn hình thống kê số liệu

Bảng 4.42: SC_037: Màn hình thống kê số liệu

No Name Required Type Reference Note

1 Thống kê Label Khi click vào chuyển đến màn hình SC_037

Label Khi click vào chuyển đến màn hình SC_038

Label Khi click vào chuyển đến màn hình SC_041

4 Tài khoản Label Khi click vào chuyển đến màn hình SC_043

5 Cài đặt Label Khi click vào chuyển đến màn hình SC_044

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

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

Label Khi click vào chuyển đến màn hình SC_038

8 Quản lý tin tuyển dụng

Label Hệ thống sẽ hiển thị các lựa chọn liên quan đến quản lý tin tuyển dụng cho Quản lý hệ thống chọn

Label Khi click vào chuyển đến màn hình SC_043

10 Cài đặt Label Khi click vào chuyển đến màn hình SC_044

11 Đăng xuất Button Đăng xuất khỏi hệ thống

13 Thống kê số lượng nhà tuyển theo tháng

4.4.4.3 SC_038: Màn hình quản lý nhà tuyển dụng

Hình 4.24: SC_038: Màn hình quản lý nhà tuyển dụng

Bảng 4.43: SC_038: Màn hình quản lý nhà tuyển dụng

No Name Required Type Reference Note

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

2 Đã phê duyệt/Chưa phê duyệt

Button Khi click vào chuyển đến màn hình SC_039

4.4.4.4 SC_039: Màn hình chi tiết nhà tuyển dụng

Hình 4.25: SC_039: Màn hình chi tiết nhà tuyển dụng

Bảng 4.44: SC_039: Màn hình chi tiết nhà tuyển dụng

No Name Required Type Reference Note

1 Chi tiết nhà tuyển dụng

2 Từ chối Button Từ chối phê duyệt nhà tuyển dụng

3 Phê duyệt Button Khi click vào chuyển đến màn hình SC_040

4.4.4.5 SC_040: Màn hình tạo tài khoản nhà tuyển dụng

Hình 4.26: SC_040: Màn hình tạo tài khoản nhà tuyển dụng

Bảng 4.45: SC_040: Màn hình tạo tài khoản nhà tuyển dụng

No Name Required Type Reference Note

4 Bỏ qua Button Khi click vào chuyển đến màn hình SC_039

5 Tạo tài khoản Button Tạo tài khoản cho nhà tuyển dụng

4.4.4.6 SC_041: Màn hình quản lý tin tuyển dụng đã tạo

Hình 4.27: SC_041: Màn hình quản lý tin tuyển dụng đã tạo

Bảng 4.46: SC_041: Màn hình quản lý tin tuyển dụng đã tạo

No Name Required Type Reference Note

1 Đã từ chối Label Khi click vào, hệ thống chuyển sang tab Đã từ chối

2 Đã phê duyệt Label Khi click vào, hệ thống chuyển sang tab Đã phê duyệt

3 Danh sách tin tuyển dụng

Dropdown Khi click vào, hệ thống sẽ hiển thị thêm lựa chọn cho tin tuyển dụng đó

5 Xem chi tiết Button Xem chi tiết tin tuyển dụng

6 Phê duyệt Button Phê duyệt tin tuyển dụng

7 Từ chối Button Từ chối phê duyệt tin tuyển dụng

4.4.5 Màn hình role Quản trị hệ thống

Bảng 4.47: Mô tả màn hình của Quản trị hệ thống

No Tên màn hình Miêu tả

SC_045 Màn hình thống kê số liệu

Giao diện hiển thị số liệu thống kê của Quản trị hệ thống

SC_046 Màn hình Cấp tài khoản

Giao diện cho phép Quản trị hệ thống cấp tài khoản

SC_047 Màn hình quản lý tài khoản

Giao diện cho phép Quản trị hệ thống quản lý tài khoản

SC_048 Màn hình cài đặt Giao diện cho phép Quản trị hệ thống quản lý tài khoản

4.4.5.2 SC_045: Màn hình thống kê số liệu

Hình 4.28: SC_045: Màn hình thống kê số liệu

Bảng 4.48: SC_045: Màn hình thống kê số liệu

No Name Required Type Reference Note

1 Cấp tài khoản Label Khi click vào chuyển đến màn hình SC_046

Label Khi click vào chuyển đến màn hình quản lý người dùng

3 Tài khoản Label Khi click vào chuyển đến màn hình SC_047

4 Cài đặt Label Khi click vào chuyển đến màn hình SC_048

Dropdown Lựa chọn ngôn ngữ tiếng anh hoặc tiếng việt cho trang web

6 Cấp tài khoản Label Khi click vào chuyển đến màn hình SC_046

Label Khi click vào chuyển đến màn hình quản lý người dùng

Label Khi click vào chuyển đến màn hình SC_047

9 Cài đặt Label Khi click vào chuyển đến màn hình SC_048

10 Đăng xuất Button Đăng xuất khỏi hệ thống

12 Thống kê số lượng người dùng theo tháng

4.4.5.3 SC_046: Màn hình Cấp tài khoản

Hình 4.29: SC_046: Màn hình Cấp tài khoản

Bảng 4.49: SC_046: Màn hình Cấp tài khoản

No Name Required Type Reference Note

1 Quản lý hệ thống – Tên đăng nhập

2 Quản lý hệ thống – Tên đầy đủ

3 Quản lý hệ thống – Mật khẩu

4 Quản lý hệ thống – Nhập lại mật khẩu

5 Hủy Button Không thực hiện hành động gì

6 Cấp tài khoản Button Cấp tài khoản cho quản lý hệ thống

7 Quản trị hệ thống – Tên đăng nhập

8 Quản trị hệ thống – Email

9 Quản trị hệ thống – Tên đầy đủ

10 Quản trị hệ thống – Mật khẩu

11 Quản trị hệ thống – Nhập lại mật khẩu

12 Hủy Button Không thực hiện hành động gì

13 Cấp tài khoản Button Cấp tài khoản cho quản trị hệ thống

Trong quá trình thực hiện đồ án, nhóm đã vượt qua nhiều khó khăn và mâu thuẫn, tranh cãi không thể tránh khỏi Mặc dù thời gian thực hiện đề tài có hạn chế, nhưng tinh thần tự học, làm việc nhóm và sự hỗ trợ tận tình của giáo viên hướng dẫn đã giúp nhóm hoàn thành tốt đề tài như mong muốn ban đầu.

- Học hỏi được công nghệ mới: MERN stack và biết cách ứng dụng vào đồ án môn học

Quá trình thực hiện đồ án giúp sinh viên rèn luyện và phát triển các kỹ năng quan trọng như tự học, tìm kiếm tài liệu và tìm kiếm giải pháp để giải quyết các vấn đề gặp phải, từ đó hình thành khả năng tư duy và giải quyết vấn đề độc lập.

- Nâng cao kỹ năng làm việc, thảo luận nhóm, phân chia công việc giữa các thành viên trong nhóm

Việc hoàn thiện ứng dụng web đóng vai trò quan trọng như một cầu nối giữa ứng viên và nhà tuyển dụng trong lĩnh vực công nghệ thông tin, giúp đáp ứng được những mục tiêu ban đầu đề ra.

Bảng 5.1: Phân công công việc

STT Tên công việc đã làm Thành viên thực hiện

1 Thiết kế giao diện, màn hình Nguyễn Hữu Tường

2 Thiết kế cơ sở dữ liệu Đặng Nguyễn Hoài Thư

3 Viết API cho hệ thống Đặng Nguyễn Hoài Thư

4 Tổng kết và viết báo cáo Đặng Nguyễn Hoài Thư

Bảng 5.2: Bảng tỷ lệ đóng góp

STT Tên thành viên nhóm Tỷ lệ đóng góp

- Website có giao diện dễ nhìn, thân thiện với người dùng

- Giao diện có thể tương thích trên nhiều thiết bị khác nhau

Với mục tiêu hỗ trợ người tìm việc làm một cách toàn diện, nền tảng của chúng tôi cung cấp công cụ tìm kiếm nâng cao, giúp ứng viên dễ dàng tìm thấy công việc phù hợp Bên cạnh đó, người dùng cũng có thể nộp đơn ứng tuyển một cách nhanh chóng và tiện lợi Ngoài ra, chúng tôi còn tổ chức các sự kiện hấp dẫn, mang đến cơ hội kết nối và phát triển cho cả ứng viên và nhà tuyển dụng.

Nền tảng của chúng tôi hỗ trợ tối đa nhà tuyển dụng trong việc quản lý tin tuyển dụng, tổ chức và quản lý sự kiện, lưu trữ và sắp xếp hồ sơ ứng viên, theo dõi người tham gia sự kiện, cũng như cung cấp các công cụ thống kê và gửi email tự động, giúp quy trình tuyển dụng trở nên hiệu quả và tiết kiệm thời gian hơn.

Việc sử dụng môi trường miễn phí trên nền tảng đám mây Heroku dẫn đến độ phản hồi chưa được tối ưu Đặc biệt, cần lưu ý rằng server Heroku sẽ tự động chuyển sang chế độ ngủ nếu không có người dùng truy cập vào hệ thống trong một khoảng thời gian nhất định.

Nhóm sử dụng cơ sở dữ liệu MongoDB để lưu trữ dữ liệu, tuy nhiên dung lượng cho phép chỉ là 512MB, điều này đặt ra hạn chế đáng kể về mặt lưu trữ dữ liệu.

- Chưa tối ưu được việc re-render các component

5.5.1 Khó khăn về công nghệ

Bảng 5.3: Khó khăn về công nghệ

STT Khó khăn Khắc phục

Khi áp dụng MERN stack vào thực hiện đồ án, nhóm chúng tôi đã gặp phải những khó khăn ban đầu do đây là một công nghệ mới và nhóm còn hạn chế về kinh nghiệm Quá trình tiếp cận và tìm hiểu về công nghệ này đã đòi hỏi sự cố gắng và kiên nhẫn từ cả nhóm.

Nghiên cứu và tham khảo thêm nhiều tài liệu từ Google, Udemy

2 Khó khăn trong việc lưu trữ hình ảnh và file của người dùng

Tìm giải pháp lưu hình ảnh trên cloudinary và lưu file ở Firebase

3 Khó khăn trong việc lưu dữ liệu dạng object array và thực hiện truy vấn nó trên mongodb

Nghiên cứu tài liệu trên trang chủ của mongodb và tham khảo thêm trên stack overflow

5.5.2 Khó khăn về quy trình thực hiện

Bảng 5.4: Khó khăn về quy trình thực hiện

STT Khó khăn Khắc phục

1 Bị lỗi conflict khi pull hoặc push code trên github

Sử dụng source control để quản lý nhánh cá nhân thành viên

2 Gặp khó khăn trong việc thống nhất ý kiến của các thành viên trong nhóm

Lắng nghe ý kiến của nhau, từ đó đưa ra quyết định chung

- Học được cách quản lý source code trên github

- Biết lắng nghe ý kiến của thành viên trong nhóm, cùng nhóm tìm ra giải pháp tốt nhất cho đề tài

- Cho phép nhà tuyển dụng tìm kiếm hồ sơ của ứng viên

- Xây dựng thêm hệ thống chatbot hỗ trợ tư vấn, hỏi đáp tốt hơn cho các ứng viên tìm việc

[1] https://www.youtube.com/c/EasyFrontend

[2] https://www.youtube.com/channel/UCNSCWwgW-rwmoE3Yc4WmJhw

[3] https://www.udemy.com/course/nodejs-express-mongodb-bootcamp/

[4] https://medium.com/@joeokpus/uploading-images-to-cloudinary-using-multer-and- expressjs-f0b9a4e14c54

[5] https://medium.com/geekculture/exporting-data-in-excel-file-in-node-js- f1b298997d47

[6] https://javascript.plainenglish.io/uploading-an-image-to-firebase-cloud-storage-and- returning-url-with-express-nodejs-713daac7a5d4

Ngày đăng: 28/12/2023, 18:51

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

TÀI LIỆU LIÊN QUAN

w