1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng ứng dụng di động quản lý và tìm việc bán thời gian

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Di Động Quản Lý Và Tìm Việc Bán Thời Gian
Tác giả Mai Văn Mạnh, Vũ Tiến Dũng
Người hướng dẫn Th.S Trần Quang Duy
Trường học Trường Đại học Thăng Long
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 101
Dung lượng 4,49 MB

Cấu trúc

  • 1.1. Mô tả bài toán (16)
  • 1.2. Các tác nhân của hệ thống (16)
  • 1.3. Yêu cầu về nghiệp vụ hệ thống (16)
  • 1.4. Đặc tả yêu cầu nghiệp vụ (19)
  • 2.1. Kiến trúc hệ thống (25)
  • 2.2. Cơ sở dữ liệu (26)
  • 2.3. App Client (27)
  • 2.4. Thanh toán qua ứng dụng thứ ba (ZaloPay) (29)
  • 3.1. Sơ đồ Use Case (31)
  • 3.2. UC Đăng ký (34)
  • 3.3. UC Đăng nhập (35)
  • 3.4. UC Đăng xuất (37)
  • 3.5. UC Quên mật khẩu (38)
  • 3.6. UC Quản lý thông tin cá nhân người dùng (40)
  • 3.7. UC Quản lý thông tin tài khoản (41)
  • 3.8. UC Đăng tải công việc (42)
  • 3.9. UC Xem danh sách công việc (44)
  • 3.10. UC Xem chi tiết công việc (45)
  • 3.11. UC Tìm kiếm công việc (46)
  • 3.12. UC Xem thông tin người tuyển dụng (48)
  • 3.13. UC Tham gia ứng tuyển (49)
  • 3.14. UC Quản lí ứng viên (51)
  • 3.15. UC Xem hồ sơ ứng viên (52)
  • 3.16. UC Quản lí việc đã ứng tuyển (54)
  • 3.17. UC Quản lí thông báo (56)
  • 3.18. UC Chấm công (58)
  • 3.19. UC Xác nhận điểm danh (59)
  • 3.20. UC Theo dõi lương (61)
  • 3.21. UC Nạp tiền vào ví qua zalopay (63)
  • 3.22. UC Rút tiền ra thẻ ngân hàng (66)
  • 3.23. UC Thống kê hoạt động (67)
  • 3.24. UC Gửi báo cáo (70)
  • 3.25. UC Xem báo cáo (71)
  • 3.26. UC Đánh giá nhân viên (72)
  • 3.27. UC Xem đánh giá (74)
  • 4.2. Chi tiết các cấu trúc JSON (75)
  • CHƯƠNG 5. TRIỂN KHAI HỆ THỐNG (86)
    • 5.1. Môi trường cài đặt (86)
    • 5.2. Cài đặt Android Studio (88)
    • 5.3. Cài đặt ứng dụng Zalo - ZaloPay (88)
    • 5.4. Một số chức năng chính (90)
  • KẾT LUẬN (99)
  • TÀI LIỆU THAM KHẢO (100)

Nội dung

Trong đó, nội dung bao gồm: - Chương 1: Trình bày mô tả bài toán, liệt kê các tác nhân và một số yêu cầu nghiệp vụ - Chương 2: Mô tả về kiến trúc của hệ thống, các công nghệ sử dụng và p

Mô tả bài toán

Trong bối cảnh xã hội ngày càng phát triển, mức chi tiêu ngày càng tăng, nhu cầu tìm kiếm việc làm cũng ngày càng lớn Nhu cầu tuyển dụng cũng không ngừng mở rộng và phát triển để đáp ứng yêu cầu của thị trường

JobsFinder là một ứng dụng di động được tạo ra nhằm trở thành cầu nối hỗ trợ những người có nhu cầu tìm kiếm việc làm bán thời gian tiếp cận các doanh nghiệp có nhu cầu tuyển dụng và ngược lại JobsFinder tập trung vào việc quản lý, đăng tải và tìm kiếm ứng viên phù hợp, theo dõi tiến độ công việc, và quản lý thu chi một cách tiện lợi và hiệu quả nhất.

Các tác nhân của hệ thống

Các tác nhân chính của hệ thống: Quản trị viên (Admin), Người tuyển dụng, Người tìm kiếm việc

- Quản trị viên (Admin): chịu trách nhiệm theo dõi và quản lý trạng thái các tài khoản, xem được thông tin chi tiết của người dùng, theo dõi và xử lí các yêu cầu hỗ trợ hoặc khiếu nại về ứng dụng hoặc người dùng khác Điều phối dòng tiền cho tài khoản người tuyển dụng và theo dõi hoa hồng doanh thu tạo ra từ ứng dụng

- Người tuyển dụng: là người có nhu cầu sử dụng lao động, tham gia tuyển dụng và tìm kiếm các ứng viên phù hợp với yêu cầu công việc, theo dõi hoạt động công việc cũng như chi phí đã bỏ ra theo tháng hoặc năm

- Người tìm kiếm việc: là người có nhu cầu tìm kiếm việc làm bán thời gian, tham giá ứng tuyển vào các công việc được đăng tuyển bởi người tuyển dụng, theo dõi được thu nhập từ các công việc nói chung và từng loại công việc nói riêng

Yêu cầu về nghiệp vụ hệ thống

1.3.1 Yêu cầu phi chức năng:

- Hoạt động ổn định, tương thích trên các điện thoại chạy hệ điều hành Android, phiên bản khác nhau

- Hoạt động trơn tru mượt mà, không bị crash app hoặc tải dữ liệu quá lâu

- Bảo mật thông tin các giao dịch và thông tin của khách hàng

- Có khả năng mở rộng, bảo trì hoặc cập nhật mà không làm gián đoạn hoạt động ứng dụng

- Giao diện thân thiện, trực quan, dễ dàng học cách sử dụng trong vòng 20 phút

Thư viện ĐH Thăng Long

+ Yêu cầu phải đăng nhập để tương tác với các chức năng theo từng vai trò + Bật tắt được đăng nhập bằng sinh trắc học

+ Cập nhật thông tin cá nhân của người dùng + Hiển thị ngôn ngữ Anh - Việt tùy theo ngôn ngữ mặc định hiện tại của máy + Viết báo cáo, phản hồi được gửi tới admin

+ Nạp tiền vào ví trên ứng dụng thông qua ZaloPay, rút tiền ra thẻ ngân hàng

+ Gửi thông báo về một số hoạt động giữa các tác nhân: người quản trị (admin), người tuyển dụng, người tìm việc khi tương tác với nhau

- Về phía người tuyển dụng:

+ Hiển thị màn hình chính (home) vai trò người tuyển dụng + Hiển thị thông tin cá nhân có thêm các trường riêng dành cho người tuyển dụng + Đăng tuyển công việc

+ Hiển thị được danh sách và hủy các công việc đã đăng tuyển + Phê duyệt hoặc từ chối ứng viên ứng tuyển công việc đã đăng + Hiển thị lịch sử được đánh giá, thông tin của ứng viên

+ Hiển thị danh sách các công việc đang hoạt động + Xác nhận điểm danh cho nhân viên

+ Hiển thị biểu đồ thống kê về số công việc đã đăng mỗi tháng/năm, tổng chi phí theo tháng/năm, tổng chi phí theo loại công việc

+ Hiển thị danh sách lịch sử các công việc đã hoàn thành và đánh giá nhân viên sau khi công việc kết thúc

- Về phía người tìm việc:

+ Hiển thị màn hình hình chính (home) vai trò người tìm việc + Hiển thị thông tin cá nhân có thêm các trường riêng dành cho người tìm việc + Tìm kiếm công việc mới theo bộ lọc, tìm kiếm theo từ khóa

+ Hiển thị thông tin của người tuyển dụng

4 + Ứng tuyển, hủy ứng tuyển các công việc + Hiển thị các công việc đã ứng tuyển + Hiển thị danh sách các công việc đã trúng tuyển và đang hoạt động + Gửi được yêu cầu điểm danh cho người tuyển dụng

+ Hiển thị các thông tin sau khi được phê duyệt điểm danh: thời gian, ghi chú, lương trong ngày, tổng số ngày cần làm, tổng thu nhập tích lũy

+ Hiển thị đánh giá từ các người tuyển dụng đối với các công việc đã hoàn thành

+ Hiển thị biểu đồ thống kê thu nhập theo tháng/năm, thu nhập theo từng loại công việc, số giờ làm việc mỗi tháng/năm

- Về người quản trị (Admin):

+ Hiển thị danh sách tất cả thông tin, tài khoản của toàn bộ người dùng + Vô hiệu hóa hoặc kích hoạt quyền đăng nhập của người dùng

+ Thêm tiền vào ví của người dùng + Hiển thị biểu đồ thống kê về số lượng tài khoản đăng ký mới theo năm/tháng, doanh thu hoa hồng của ứng dụng + Nhận được báo cáo, phản hồi từ người dùng gửi lên

Thư viện ĐH Thăng Long

Đặc tả yêu cầu nghiệp vụ

1.4.1 Các quy trình nghiệp vụ chính Ảnh 1.1 Sơ đồ quy trình đăng tải công việc Ảnh 1.2 Sơ đồ quy trình ứng tuyển công việc

6 Ảnh 1.3 Sơ đồ quy trình phê duyệt ứng viên Ảnh 1.4 Sơ đồ quy trình điểm danh

Thư viện ĐH Thăng Long

Bảng 1.1 Giải thích tên gọi và ý nghĩa ký hiệu của sơ đồ quy trình

STT Ký hiệu Tên gọi Ý nghĩa

(Start) Đại diện cho điểm bắt đầu của quy trình

(End) Đại diện cho điểm kết thúc quy trình

3 Mũi tên Hướng đi của quy trình

(Activity) Đại diện cho các hoạt động hoặc các bước trong quy trình

Khối điều kiện, tiếp tục xử lý dựa trên dữ liệu trả về có hoặc không

1.4.1.1.4.2 Các yêu cầu nghiệp vụ

1.4.1.11.4.2.1 BR1: Đăng ký, đăng nhập, quản lý thông tin người dùng

- BR1.1: Đăng ký: Phải đảm bảo khả năng đăng ký tạo tài khoản mới và phân theo vai trò người dùng lựa chọn

+ BR1.2.1: Đăng nhập bằng mật khẩu: Đảm bảo khả năng đăng nhập bằng mật khẩu cho người dùng

+ BR1.2.2: Đăng nhập sinh trắc: Đảm bảo khả năng đăng nhập bằng sinh trắc nếu trước đó người dùng đã đăng nhập bằng mật khẩu và kích hoạt chức năng này

- BR1.3: Đăng xuất: Đảm bảo khả năng đăng xuất của người dùng

- BR1.4: Quản lý người dùng: đảm bảo admin can thiệp được vào khoản người dùng: thêm tiền, trạng thái tài khoản, người dùng có thể chỉnh sửa thông tin cá nhân

1.4.1.21.4.2.2 BR2: Đăng tải công việc

- BR2.1: Tạo công việc mới: Người tuyển dụng có thể tạo công việc mới thông qua một form điền thông tin chi tiết công việc

- BR2.2: Nhập thông tin chi tiết: Người dùng phải nhập đầy đủ thông tin chi tiết về công việc như tiêu đề, mô tả, yêu cầu, và thời gian

- BR2.3: Điều kiện đăng tải: Hệ thống sẽ kiểm tra số dư trong ứng dụng của người tuyển dụng và trừ đủ số tiền cần thiết sau khi được tính toán trước khi được công việc đăng tải lên hệ thống

- BR2.4: Đăng tải công việc: Sau khi được kiểm duyệt, công việc sẽ được đăng tải và hiển thị trên hệ thống tìm kiếm và danh sách bài đăng của người tuyển dụng

1.4.1.31.4.2.3 BR3: Ứng tuyển công việc

- BR3.1: Tìm kiếm công việc: Người tìm việc có thể tìm kiếm công việc thông qua các tiêu chí khác nhau như thời gian, lương, vị trí, lĩnh vực, công ty,…

- BR3.2: Tham gia ứng tuyển: Người tìm việc có thể viết lời giới thiệu và gửi đơn ứng tuyển nếu cảm thấy phù hợp

- BR3.3: Nhận thông báo: Người dùng sẽ nhận được thông báo về tình trạng ứng tuyển thông qua thông báo trên hệ thống

1.4.1.41.4.2.4 BR4: Phê duyệt ứng viên

- BR4.1: Xem danh sách ứng viên: người tuyển dụng xem được danh sách tất cả các ứng viên gửi đơn ứng tuyển công việc

- BR4.2: Xem xét hồ sơ: người tuyển dụng xem xét thông tin cá nhân và đánh giá từ các người tuyển dụng khác đối với người tham gia ứng tuyển

- BR4.3: Phê duyệt hoặc từ chối: Sau khi xem xét và phỏng vấn, quản lý sẽ phê duyệt hoặc từ chối ứng viên thông qua hệ thống

- BR4.4: Cập nhật công việc tự động: nếu ứng viên được phê duyệt, công việc sẽ được cập nhật tự động bởi hệ thống

- BR5.1: Đăng nhập điểm danh: Khi được phê duyệt và bắt đầu làm việc, nhân viên phải đăng nhập vào hệ thống, chọn công việc và thực hiện gửi yêu cầu điểm danh trước mỗi ca làm

Thư viện ĐH Thăng Long

9 - BR5.2: Xác nhận điểm danh: cho phép người tuyển dụng nhận yêu điểm danh và thông tin và sẽ được xác nhận bởi bên quản lý công việc Kết thúc ca làm việc tiếp tục xác nhận thời gian ra về với hệ thống một lần nữa

- BR5.3: Lưu trữ thông tin: Hệ thống lưu trữ thông tin điểm danh để phục vụ cho việc theo dõi tổng kết và báo cáo thống kê về sau, cho phép nhân viên có thể xem được thông tin điểm danh từng ngày của mình

- BR6.1: Nạp tiền thông qua ZaloPay: Đảm bảo khả năng nạp tiền vào ví của người dùng thông qua ứng dụng ZaloPay cho người dùng

- BR6.2: Rút tiền ra thẻ ngân hàng: Chắc chắn rằng người dùng có thể thêm thẻ ngân hàng vào ứng dụng và thực hiện rút tiền từ ví trong app về thẻ ngân hàng

- BR6.3: Giao dịch của ví trong ứng dụng: đảm bảo khả năng tính toán, hoạt động chính xác của ví khi thực hiện các hoạt động trong ứng dụng

1.4.1.71.4.2.7 BR7: Thống kê dữ liệu

- BR7.1: Thống kê tổng thu nhập/chi tiêu: cho phép người dùng xem được thống kê về tổng thu nhập/chi tiêu mỗi tuần, có thể lựa chọn xem theo tháng/năm theo dạng biểu đồ cột (Bar chart)

- BR7.2: Thống kê tổng số thu nhập/chi tiêu theo từng loại công việc: người dùng xem được thu nhập/chi tiêu từ cụ thể các công việc được phân chia theo loại theo dạng biểu đồ tròn (Pie chart)

- BR7.3: Thống kê tổng số giờ làm việc: cho phép nhân viên xem được tổng số giờ đã làm mỗi tháng (12 tháng) theo dạng biểu đồ đường, có thể chọn xem từng năm

- BR7.4: Thống kê tổng số việc đã đăng: đảm bảo người tuyển dụng xem được số công việc đã đăng tải mỗi tháng theo biểu đồ đường, lựa chọn xem từng năm

- BR7.5: Thống kê tổng số tài khoản mở mới: cho phép người quản trị hệ thống xem được số lượng tài khoản mở mới của người dùng từng tuần theo biểu đồ cột, lựa chọn xem được theo tháng/năm

Kiến trúc hệ thống

Ảnh 2.1 Kiến trúc của hệ thống phần mềm

Firebase là một cơ sở dữ liệu hoạt động trên nền tảng đám mây (cloud), được thiết kế để hỗ trợ phát triển ứng dụng di đông và web nó cung cấp sẵn một số dịch vụ như: chứng thực (Authenticattion), Realtime Database, Cloud Firestore [1] Với mục đích để lập trình viên tập trung phát triển ứng dụng mà không cần tốn quá nhiều công sức vào xây dựng cơ sở dữ liệu Khác với kiển trúc thông thường, Firebase giữ vai trò Backend và phần việc xử lý sẽ đưa về Client Client sẽ chứa các code query trực tiếp để tương tác với Firebase Realtime Database [2]

- Cụ thể, quá trình giao tiếp giữa app với Firebase như sau:

+ Client gửi yêu cầu: khi client cần truy cập hoặc thay đổi dữ liệu, nó sẽ tạo và gửi một yêu cầu trực tiếp tới Firebase thông qua các SDK (Software Development Kits) của Firebase, sử dụng HTTP/HTTPS [3]

+ Firebase nhận yêu cầu: Firebase nhận yêu cầu từ client thông qua các API endpoints của Firebase (được cấu hình sẵn) Yêu cầu có thể là một truy vấn để lấy dữ liệu từ Firestore hoặc xác thực người dùng từ Firebase Authentication

+ Xử lý logic và xác thực: sau khi nhận yêu cầu, Firebase Authentication sẽ xác thực người dùng dựa trên token được gửi kèm theo yêu cầu, Firebase Firestore kiểm tra quyền xem người dùng có quyền thực hiện thao tác với dữ liệu không)

+ Firebase gửi phản hồi: sau khi xử lý logic và truy vấn cơ sở dữ liệu, Firebase sẽ tạo phản hồi dưới dạng JSON Phản hồi này sẽ được gửi trở lại client thông qua API endpoints

12 + Client nhận và xử lý phản hồi: Client nhận phản hồi từ Firebase qua Internet Ứng dụng (hoặc web) sẽ nhận và hiển thị dữ liệu phản hồi này cho người dùng cuối, hoặc thực hiện các thao tác tiếp theo dựa trên dữ liệu nhận được.

Cơ sở dữ liệu

2.2.1 Giới thiệu Firebase Ảnh 2.2 Firebase

Firebase là một nền tảng phát triển ứng dụng di động và web được Google mua lại và phát triển từ năm 2014 Firebase cung cấp một bộ công cụ và dịch vụ toàn diện giúp các nhà phát triển xây dựng ứng dụng nhanh chóng, mở rộng dễ dàng và duy trì hiệu quả

Firebase bao gồm các dịch vụ như cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ đám mây, thông báo đẩy, phân tích ứng dụng và nhiều tính năng khác [4]

2.2.2 Một số dịch vụ của Firebase [4]

- Firebase Realtime Database: Là một cơ sở dữ liệu NoSQL lưu trữ và đồng bộ hóa dữ liệu giữa các khách hàng trong thời gian thực Sử dụng mô hình cây JSON, phù hợp cho các ứng dụng đơn giản, cấu trúc dữ liệu ít phức tạp

- Firebase Authentication: Cung cấp các phương thức xác thực người dùng như email/password, Google, Facebook, Twitter, GitHub và nhiều nhà cung cấp khác Đơn giản hóa quá trình đăng nhập và bảo mật người dùng

- Firebase Cloud Firestore: Là một cơ sở dữ liệu NoSQL khác, cung cấp khả năng lưu trữ linh hoạt và mạnh mẽ, hỗ trợ các truy vấn phức tạp và thời gian thực Sử dụng mô hình tài liệu, phù hợp với các dự án có cấu trúc dữ liệu phức tạp, quan hệ đa cấp và yêu cầu khả năng mở rộng cao

Thư viện ĐH Thăng Long

13 - Firebase Cloud Storage: Cung cấp khả năng lưu trữ tệp tin trên đám mây với khả năng mở rộng không giới hạn Thích hợp cho việc lưu trữ và phục vụ các tệp tin lớn như hình ảnh, video, và tài liệu

- Firebase Analytics: Cung cấp các công cụ phân tích chi tiết về hành vi người dùng, giúp các nhà phát triển hiểu rõ hơn về cách người dùng tương tác với ứng dụng của họ

- Firebase Remote Config: Cho phép thay đổi giao diện và hành vi của ứng dụng từ xa mà không cần phải cập nhật ứng dụng Rất hữu ích cho việc thử nghiệm A/B và cá nhân hóa trải nghiệm người dùng

2.2.3 Vì sao sử dụng Firebase [4]

- Tích hợp dễ dàng: Firebase cung cấp các SDK cho nhiều nền tảng, bao gồm Android, iOS và web, giúp việc tích hợp trở nên dễ dàng và nhanh chóng

- Thời gian thực: Firebase nổi bật với khả năng đồng bộ hóa dữ liệu trong thời gian thực, làm cho các ứng dụng phản hồi nhanh và mượt mà hơn

- Bảo mật: Firebase cung cấp các công cụ bảo mật mạnh mẽ, bao gồm xác thực người dùng và quy tắc bảo mật cho cơ sở dữ liệu

- Dễ dàng mở rộng: Firebase được thiết kế để mở rộng, hỗ trợ các ứng dụng từ nhỏ đến lớn mà không gặp vấn đề về hiệu suất

- Hỗ trợ từ Google: Là một sản phẩm của Google, Firebase hưởng lợi từ cơ sở hạ tầng mạnh mẽ và các dịch vụ hỗ trợ của Google.

App Client

2.3.1 Giới thiệu Kotlin Ảnh 2.3 Kotlin

14 Kotlin là một ngôn ngữ lập trình hướng đối tượng và hàm, được phát triển bởi JetBrains vào năm 2011 và ra mắt công khai vào năm 2016 Ban đầu được thiết kế để cải thiện các hạn chế của Java và các ngôn ngữ khác trên nền tảng JVM, Kotlin nhanh chóng trở thành một trong những ngôn ngữ lập trình phổ biến nhất cho phát triển ứng dụng di động hệ điều hành android [5] [6]

2.3.2 Vì sao sử dụng Kotlin [7] [8]

- Tương thích với Java: Kotlin hoàn toàn tương thích ngược với Java, cho phép dễ dàng tích hợp các thư viện, extension từ java vào các dự án sử dụng Kotlin và ngược lại không cần thay đổi đáng kể

- Cú pháp ngắn gọn và dễ hiểu: Kotlin giảm thiểu sự phức tạp của cú pháp so với

Java, giúp giảm lỗi lập trình và tăng tốc độ phát triển Các tính năng như smart casts, extension functions, và null safety giúp việc viết mã trở nên ngắn gọn và hiệu quả hơn

- Được hỗ trợ mạnh từ Google và cộng đồng Android: Kotlin đã được Google chọn là ngôn ngữ chính thức cho phát triển ứng dụng Android từ năm 2017, điều này làm tăng sự phổ biến và sự ủng hộ từ cộng đồng phát triển Android toàn cầu

- Tính năng hiện đại: Kotlin cung cấp nhiều tính năng tiên tiến như lambdas, inline functions, properties, và mô hình coroutine để xử lý bất đồng bộ một cách hiệu quả Điều này giúp cho việc xây dựng các ứng dụng với hiệu suất cao và dễ bảo trì hơn

- Tài liệu phong phú: Kotlin được hỗ trợ bởi một cộng đồng lớn và tích cực, cùng với các tài liệu hướng dẫn chi tiết từ JetBrains và các nguồn tự học độc lập

- Lifecycle Components: Cung cấp một loạt các thành phần hỗ trợ quản lý vòng đời

(Lifecycle) của ứng dụng, giúp dễ dàng theo dõi và phản hồi vào các sự kiện vòng đời của các thành phần như Activity và Fragment [9]

- ViewModel Extension: ViewModel giúp hỗ trợ quản lý dữ liệu và trạng thái của UI một cách hiệu quả, giúp tránh mất dữ liệu khi các thành phần vòng đời được tái tạo

- Navigation Extension: cho giao diện điều hướng, cung cấp các phương thức hỗ trợ việc hiển thị và quản lý navigation drawer, bottom navigation và action bar

- Splash Screen Animation: thư viện thêm màn hình chào (splash screen) với các hiệu ứng animation mượt mà vào ứng dụng, cải thiện trải nghiệm người dùng ngay từ khi khởi động

- Loading Animation (LottieFiles): là một thư viện miễn phí cung cấp các animation loading với chất lượng cao, hỗ trợ nhiều loại định dạng như JSON, dotlottie, MP4 và GIF

Thư viện ĐH Thăng Long

15 - Glide (Image Loading): thư viện để tải và hiển thị hình ảnh từ các nguồn như

URL, disk cache hay memory cache, khả năng tùy chỉnh cao và hiệu suất tối ưu

- Chart (MPAndroidChart): là thư viện cho phép dễ dàng tạo và hiển thị các biểu đồ phức tạp trên Android, bao gồm các loại biểu đồ như dạng cột, đường, vòng tròn và nhiều tùy chọn tùy chỉnh khác

- Biometric Authentication: thư viện này cung cấp tính năng xác thực bằng sinh trắc trong ứng dụng Android, đảm bảo tính bảo mật cao và tiện lợi cho người dùng [11]

- SQLite Room Database (Room Persistence Library): là một phần thư viện trong

Android Architecture Components, nó giúp cho việc thao tác với SQLiteDatabase Object trở lên dễ dàng hơn, giảm thiểu số lượng câu truy vấn bằng những annotation sẵn có và xác minh truy vấn tại thời điểm biên dịch [12]

- Zalo Pay Integration: bao gồm thư viện HTTP client cho Android, cung cấp các công cụ để giao tiếp mạng một cách hiệu quả và bảo mật ngoài ra còn mã hóa và giải mã dữ liệu, hỗ trợ các thuật toán mã hóa thông dụng như Base64, MD5, SHA-1,

- Swipe Refresh Layout: thư viện hỗ trợ tạo tính năng refresh, cho phép người dùng cập nhật nội dung bằng cách kéo lên, cải thiện trải nghiệm người dùng trong việc tương tác với dữ liệu động [14]

Thanh toán qua ứng dụng thứ ba (ZaloPay)

2.4.1 Giới thiệu ZaloPay Ảnh 2.4 ZaloPay

ZaloPay là nền tảng thanh toán trực tuyến hay còn gọi là ví điện tử, được xây dựng chuyên biệt nhằm đáp ứng cho các nhu cầu thanh toán thường nhật và kinh doanh Ví điện

16 tử ZaloPay là ứng dụng được phát triển bởi Công ty Cổ phần Zion, tích hợp với cộng đồng hơn 100 triệu người dùng trên Zalo Hiện tại, ZaloPay đang là đối tác của Visa, Mastercard và 39 ngân hàng nội địa nhằm hỗ trợ người dùng trong việc chuyển tiền liên ngân hàng, thanh toán và nhiều tiện ích vượt trội khác.[15]

2.4.2 Vì sao sử dụng ZaloPay [13] [16]

- Đa dạng mô hình tích hợp: ZaloPay hỗ trợ tích hợp vào ứng dụng của bạn thông qua API, có thể tích hợp thanh toán bằng mã QR, ví Zalo hoặc liên kết ngân hàng

- Tài liệu hướng dẫn chi tiết: ZaloPay cung cấp tài liệu hướng dẫn rõ ràng và chi tiết cho các nhà phát triển

- Dễ dàng tích hợp vào ứng dụng: Với API đơn giản và tài liệu hướng dẫn, việc tích hợp ZaloPay vào ứng dụng trở nên dễ dàng hơn bao giờ hết

- Dễ dàng mở tài khoản: Người dùng có thể mở tài khoản ZaloPay một cách nhanh chóng và tiện lợi qua ứng dụng Zalo hoặc trực tiếp bằng ứng dụng ZaloPay

- Liên kết ngân hàng tiện lợi và nhanh chóng: ZaloPay hỗ liên kết với nhiều ngân hàng nội địa tại Việt Nam, lên đến 39 ngân hàng

Thư viện ĐH Thăng Long

CHƯƠNG 3 ĐẶC TẢ CÁC CHỨC NĂNG

Sơ đồ Use Case

Ảnh 3.1 Sơ đồ UC của người quản trị (admin)

18 Ảnh 3.2 Sơ đồ UC của người tuyển dụng

Thư viện ĐH Thăng Long

19 Ảnh 3.3 Sơ đồ UC của người tìm việc

UC Đăng ký

Bảng 3.1 Chi tiết UC Đăng ký

Mô tả Cho phép người dùng đăng ký tài khoản mới

Tác nhân Người tuyển dụng, người tìm việc Đặc tả chức năng chính

- Tác nhân truy cập vào ứng dụng, chọn vai trò và nhấn vào đăng ký - Hệ thống yêu cầu tác nhân nhập nhập các trường thông tin cơ bản để đăng ký

- Sau khi đăng ký, tác nhân được chuyển tới màn hình chính theo vai trò đã chọn

Các thông tin đăng ký không hợp lệ hoặc bị thiếu

Hiện thông báo và trỏ focus vào trường không hợp lệ, nếu nhiều trường không hợp lệ thì trỏ vào trường đầu tiên

Giao diện minh họa Ảnh 3.4 Màn hình chọn vai trò Ảnh 3.5 Màn hình đăng ký

Thư viện ĐH Thăng Long

UC Đăng nhập

Bảng 3.2 Chi tiết UC Đăng nhập

Mô tả Cho phép người dùng đăng nhập vào tài khoản

Tác nhân Người tuyển dụng, người tìm việc, quản trị viên Đặc tả chức năng chính Đăng nhập bằng mật khẩu

1 Người dùng truy cập vào ứng dụng lựa chọn vai trò và tiến hành nhập tài khoản và mật khẩu để đăng nhập

2 Hệ thống gửi dữ liệu đăng nhập lên Firebase, nếu tài khoản đã được đăng ký trả về và đăng nhập cho người dùng

3 Sau khi đăng nhập thành công, hệ thống sẽ điều hướng về trang chủ dựa theo vai trò tài khoản Đăng nhập bằng sinh trắc

1 Người dùng truy cập vào ứng dụng lựa chọn đăng nhập bằng sinh trắc

2 Hệ thống kiểm tra điều kiện:

- Tài khoản vừa thay đổi mật khẩu?

- Tài khoản đã bật phương thức đăng nhập sinh trắc trong cài đặt chưa?

- Người dùng có đang đăng nhập bằng tài khoản khác so với lần cuối đăng xuất?

3 Nếu điều kiện hợp lệ, hệ thống tiến hành lấy mật khẩu đã lưu và gửi dữ liệu lên Firebase và đăng nhập cho người dùng

4 Sau khi đăng nhập thành công, hệ thống sẽ điều hướng về trang chủ dựa theo vai trò tài khoản

Nhập thông tin đăng nhập sai hoặc không hợp lệ Hiện thông báo và trỏ focus vào trường không hợp lệ

Tài khoản không tồn tại (chưa đăng ký) hoặc đăng nhập sai vai trò

Hiển thị thông báo toast lên màn hình

Gửi thông tin đăng nhập lên Firebase lỗi Hiển thị thông báo, yêu cầu đăng nhập lại

Các điều kiện kiểm tra đăng nhập sinh trắc không hợp lệ

Hiển thị thông báo, yêu cầu đăng nhập lại bằng mật khẩu

Giao diện minh họa Ảnh 3.6 Giao diện Đăng nhập Ảnh 3.7 Giao diện Đăng nhập bằng sinh trắc học

Thư viện ĐH Thăng Long

UC Đăng xuất

Bảng 3.3 Chi tiết UC Đăng xuất

Mô tả Cho phép người dùng đăng xuất tài khoản

Tác nhân Người tuyển dụng, người tìm việc, quản trị viên Đặc tả chức năng chính Đối với Người tuyển dụng và Người tìm việc

1 Người dùng truy cập vào ứng dụng, chọn vào biểu tượng hình người ở trên thanh công cụ nằm dưới cùng của màn hình

2 Người dùng nhấp vào biểu tượng với tiêu đề “Đăng xuất”

3 Sau khi đăng xuất thành công, hệ thống sẽ điều hướng về trang chọn vai trò Đối với quản trị viên

1 Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng tiêu đề “Đăng xuất”

2 Sau khi đăng xuất thành công, hệ thống sẽ điều hướng về trang chọn vai trò

Giao diện minh họa Ảnh 3.8 Giao diện Đăng xuất của Người tìm việc và Người tuyển dụng Ảnh 3.9 Giao diện Đăng xuất của quản trị viên

UC Quên mật khẩu

Bảng 3.4 Chi tiết UC quên mật khẩu

Mô tả Cho phép người dùng reset mật khẩu khi quên mật khẩu

Tác nhân Người tuyển dụng, người tìm việc, quản trị viên Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, chọn vai trò bất kỳ và nhấn nút quên mật khẩu - Người dùng điền email dùng để đăng nhập vào và nhấn nút đặt lại mật khẩu

- Hệ thống sẽ lấy email người dùng vừa nhập và kiểm tra xem email đã được đăng ký tài khoản hay chưa? Nếu email đã được đăng ký, gửi liên kết đặt lại mật khẩu tới email

Thư viện ĐH Thăng Long

25 - Người dùng truy cập email được gửi liên kết và thực hiện đặt lại mật khẩu

Người dùng nhập email chưa đăng ký tài khoản Hiện thông báo email chưa được đăng ký

Người dùng nhập email không đúng định dạng

Hiện thông báo ở cuối trường email sai định dạng, trỏ focus vào trường nhập email

Giao diện minh họa Ảnh 3.10 Màn hình đặt lại mật khẩu Ảnh 3.11 Gửi liên kết đặt lại mật khẩu về email thành công

UC Quản lý thông tin cá nhân người dùng

Bảng 3.5 Chi tiết UC Quản lý thông tin cá nhân người dùng

Mô tả Cho phép người dùng sửa đổi thông tin cá nhân

Tác nhân Người tuyển dụng, người tìm việc Đặc tả chức năng chính

- Người dùng đăng nhập vào ứng dụng, chọn vào biểu tượng hình người ở trên thanh công cụ nằm dưới cùng (menu) của màn hình chính

- Người dùng nhấp vào biểu tượng với tiêu đề “Tài khoản”

- Hệ thống sẽ lấy dữ liệu của người dùng và hiển thị thông tin cá nhân dựa vào vai trò của người dùng

- Người dùng có thể chọn biểu tượng có hình cây bút để thực hiện sửa tài khoản

Luồng con “Sửa thông tin cá nhân” sẽ được thực hiện

- Luồng con “Sửa thông tin cá nhân”:

+ Bắt đầu khi người dùng muốn thay đổi, cập nhật thông tin cá nhân + Người dùng chọn vào biểu tượng hình cây bút để thực hiện sửa tài khoản + Hệ thống sẽ hiển thị trang sửa tài khoản cùng với thông báo

+ Người dùng sẽ chọn các trường thông tin sau đó sửa rồi chọn vào nút Lưu ở cuối trang để cập nhật

+ Hệ thống thực hiện lưu thông tin vừa cập nhật vào cơ sở dữ liệu

Các thông tin cá nhân không hợp lệ hoặc bị thiếu

Hiện thông báo ở cuối trường không hợp lệ, không cho người dùng trở lại trang trước đó

Người dùng bấm trở về khi chưa nhấn lưu các trường thông tin mới

Thông báo hủy bỏ chỉnh sửa, hiển thị lại các thông tin cũ trước đó lại vào các trường

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.12 Giao diện sửa thông tin cá nhân Ảnh 3.13 Giao diện chỉnh sửa thông tin cá nhân

UC Quản lý thông tin tài khoản

Bảng 3.6 Chi tiết UC quản lý thông tin tài khoản

Mô tả Cho phép vô hiệu hóa hoặc kích hoạt tài khoản người dùng

Tác nhân Quản trị viên (admin) Đặc tả chức năng chính

- Quản trị viên đăng nhập vào hệ thống, chọn chức năng có tiêu đề Quản lí người dùng ở giao diện màn hình chính

- Danh sách tất cả tài khoản người dùng sẽ được hiển thị bao gồm: email, tên, số điện thoại, vai trò và trạng thái tài khoản

- Chọn vào thẻ item tài khoản người dùng muốn thực hiện hoạt động, nhấn vào nút Kích hoạt/vô hiệu hóa ở dưới cùng màn hình để vô hiệu hóa hoặc kích hoạt tài khoản người dùng

28 - Hệ thống khi nhận được yêu cầu từ quản trị sẽ thay đổi trạng thái tài khoản: cho phép hoặc không cho phép người dùng đăng nhập vào ứng dụng

Giao diện minh họa Ảnh 3.14 Danh sách tài khoản của người dùng Ảnh 3.15 Chi tiết tài khoản trong danh sách người dùng

UC Đăng tải công việc

Bảng 3.7 Chi tiết UC Đăng tải công việc

Mô tả Cho phép người dùng đăng tuyển công việc mới

Tác nhân Người tuyển dụng Đặc tả chức năng chính

- Tác nhân truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Tuyển dụng”

Thư viện ĐH Thăng Long

29 - Hệ thống yêu cầu tác nhân nhập nhập đầy đủ các trường thông tin của công việc để đăng tuyển

- Sau khi điền đầy đủ các trường thông tin, tác nhân nhấn nút đăng tuyển ở cuối để hệ thống kiểm tra các thông tin, nếu tất cả thông tin đều hợp lệ thì công việc sẽ được đăng tuyển

Các thông tin đăng tải không hợp lệ hoặc bị thiếu

Hiện thông báo và trỏ focus vào trường không hợp lệ, nếu nhiều trường không hợp lệ thì trỏ vào trường đầu tiên

Số dư trong ví không đủ Hiện thông báo rằng số dư trong ví không đủ để đăng tải công việc

Giao diện minh họa Ảnh 3.16 Giao diện Đăng tải công việc Ảnh 3.17 Giao diện Đăng tải công việc

UC Xem danh sách công việc

Bảng 3.8 Chi tiết UC Xem danh sách công việc

Mô tả Cho phép người dùng xem danh sách công việc đã đăng tải

Tác nhân Người tuyển dụng Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Bài đã đăng”

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và trả về danh sách công việc đã đăng để hiển thị cho người dùng

Giao diện minh họa Ảnh 3.18 Giao diện Danh sách các công việc đã được đăng tải Ảnh 3.19 Giao diện Danh sách khi trống

Thư viện ĐH Thăng Long

UC Xem chi tiết công việc

Bảng 3.9 Chi tiết UC Xem chi tiết công việc

Mô tả Cho phép người dùng xem chi tiết công việc đã đăng tải

Tác nhân Người tuyển dụng, người tìm việc Đặc tả chức năng chính Đối với Người tuyển dụng

1 Người dùng truy cập vào trang Danh sách công việc

2 Chọn một công việc trong danh sách, hệ thống sẽ lấy thông tin công việc từ cơ sở dữ liệu và chuyển sang trang Chi tiết công việc để hiển thị thông tin Đối với Người tìm việc

1 Người dùng truy cập vào trang Tìm kiếm công việc hoặc trang Công việc ứng tuyển

2 Chọn một công việc trong danh sách, hệ thống sẽ lấy thông tin công việc từ cơ sở dữ liệu và chuyển sang trang Chi tiết công việc để hiển thị thông tin

Giao diện minh họa Ảnh 3.20 Chi tiết công việc phía người tuyển dụng Ảnh 3.21 Chi tiết công việc phía người tìm việc

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

Bảng 3.10 Chi tiết UC Tìm kiếm công việc

Mô tả Cho phép người tìm việc tìm kiếm các công việc đang tuyển dụng

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Công việc mới”

- Hệ thống sẽ lấy danh sách những công việc có trạng thái đang tuyển và hiển thị cho người dùng

- Người dùng có thể chọn vào thanh tìm kiếm để tìm kiếm công việc Lúc này luồng con “Tìm kiếm công việc” sẽ được thực hiện

Thư viện ĐH Thăng Long

33 - Người dùng có thể chọn vào biểu tượng hình bộ lọc để mở bộ lọc Lúc này luồng con “Lọc danh sách tìm kiếm” sẽ được thực hiện

- Luồng con “Tìm kiếm công việc”:

+ Bắt đầu khi người dùng muốn tìm kiếm công việc theo tên công việc hoặc tên người tuyển dụng

+ Người dùng nhấn chọn thanh tìm kiếm, lúc này bàn phím sẽ xuất hiện để người dùng có thể nhập thông tin

+ Dựa vào thông tin mà người dùng nhập, hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu, lọc dữ liệu và hiển thị cho người dùng

- Luồng con “Lọc danh sách tìm kiếm”:

+ Bắt đầu khi người dùng muốn lọc danh sách dựa trên các tiêu chi trong bộ lọc

+ Người dùng nhấn chọn vào biểu tượng hình bộ lọc, lúc này ngăn chứa bộ lọc sẽ xuất hiện

+ Người dùng chọn các tiêu chí mà mình muốn sau đó ấn nút “Áp dụng” để tiến hành lọc dữ liệu

+ Dựa vào các tiêu chí của bộ lọc mà hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu, lọc dữ liệu và hiển thị cho người dùng

+ Để đặt lại bộ về trạng thái ban đầu lọc người dùng chỉ cần ấn nút “Đặt lại”, lúc này hệ thống sẽ trả lại dữ liệu danh sách công việc chưa thông qua bộ lọc hay tìm kiếm và hiển thị cho người dùng

Giao diện minh họa Ảnh 3.22 Giao diện tìm kiếm công việc Ảnh 3.23 Giao diện bộ lọc

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

Bảng 3.11 Chi tiết UC Xem thông tin người tuyển dụng

Mô tả Cho phép người tìm việc xem thông tin của người tuyển dụng đã đăng công việc

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào Chi tiết công việc của một công việc nào đó, nhấp vào tên của người tuyển dụng hoặc ảnh đại diện của người tuyển dụng

- Hệ thống sẽ lấy thông tin về người tuyển dụng từ cơ sở dữ liệu và hiển thị

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.24 Giao diện thông tin của người tuyển dụng Ảnh 3.25 Giao diện thông tin của người tuyển dụng

UC Tham gia ứng tuyển

Bảng 3.12 Chi tiết UC Tham gia ứng tuyển

Mô tả Cho phép người tìm việc ứng tuyển các công việc đang tuyển dụng

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Công việc mới” tìm kiếm công việc muốn ứng tuyển và bấm vào để xem chi tiết công việc - Từ màn hình chi tiết công việc, ứng viên có thể xem các mô tả của công việc, thời gian làm việc, thời hạn công việc, địa chỉ, lương,

36 - Nếu thấy phù hợp, ứng viên ấn nút “Ứng tuyển” phía dưới cùng của màn hình chi tiết công việc Sau khi nhấn nút, luồng con “Xử lý ứng tuyển công việc” hoạt động

- Luồng con “Xử lí ứng tuyển công việc”:

+ Bắt đầu khi người tìm việc bấm nút ứng tuyển công việc + Hệ thống sẽ tự động gửi thông báo cho người tuyển dụng + Ứng viên sẽ được thêm vào danh sách các ứng viên ứng tuyển công việc của phía người tuyển dụng

+ Công việc được ứng viên ứng tuyển sẽ được thêm vào danh sách “Công việc đã ứng tuyển” của người ứng tuyển

Giao diện minh họa Ảnh 3.26 Giao diện chi tiết công việc phía người tìm việc (chưa ứng tuyển) Ảnh 3.27 Giao diện chi tiết công việc phía người tìm việc (đã ứng tuyển)

Thư viện ĐH Thăng Long

UC Quản lí ứng viên

Bảng 3.13 Chi tiết UC xem danh sách ứng viên

Mô tả Cho phép người tuyển dụng xem danh sách các ứng viên đã ứng tuyển công việc

Tác nhân Người tuyển dụng Đặc tả chức năng chính

- Người tuyển dụng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Việc đã đăng”, từ danh sách việc đã đăng, bấm vào công việc để xem chi tiết công việc, phía dưới cùng màn hình, bấm vào nút “Ứng viên”

- Hệ thống sẽ lấy danh sách ứng viên đã ứng tuyển từ cơ sở dữ liệu và hiển thị

- Người dùng có thể chọn ấn vào nút Phê duyệt để có thể phê duyệt ứng viên Lúc này luồng con “Phê duyệt ứng viên” sẽ được thực hiện

- Người dùng có thể chọn ấn vào nút Từ chối để có thể từ chối ứng viên Lúc này luồng con “Từ chối ứng viên” sẽ được thực hiện

- Luồng con “Phê duyệt ứng viên”:

+ Bắt đầu khi người dùng ấn nút Phê duyệt

+ Hệ thống sẽ xóa ứng viên khỏi danh sách ứng tuyển và sẽ gửi thông báo đến cho ứng viên rằng họ đã trúng tuyển

+ Thêm ứng viên vào danh sách nhân viên chính thức cho công việc

- Luồng con “Từ chối ứng viên”:

+ Bắt đầu khi người dùng ấn nút Từ chối + Hệ thống sẽ xóa ứng viên khỏi danh sách ứng tuyển

Phê duyệt khi đã tuyển đủ nhân viên

Hệ thống sẽ không thêm ứng viên vào danh sách nhân viên chính thức mà sẽ xóa hết danh sách những ứng viên còn lại và hiển thị thông báo đã tuyển đủ cho người dùng

Giao diện minh họa Ảnh 3.28 Giao diện danh sách các ứng viên ứng tuyển Ảnh 3.29 Giao diện danh sách ứng viên ứng tuyển công việc trống

UC Xem hồ sơ ứng viên

Bảng 3.14 Chi tiết UC Xem hồ sơ ứng viên

Mô tả Cho phép người tuyển dụng xem thông tin của người tìm việc khi người tìm việc ứng tuyển vào công việc

Tác nhân Người tuyển dụng

Thư viện ĐH Thăng Long

39 Đặc tả chức năng chính

- Người dùng truy cập vào Danh sách ứng viên của một công việc, chọn ứng viên

- Hệ thống sẽ lấy thông tin về ứng viên đó từ cơ sở dữ liệu và hiển thị

- Người dùng có thể chọn ấn vào nút Phê duyệt để có thể phê duyệt ứng viên Lúc này luồng con “Phê duyệt ứng viên từ trang thông tin” sẽ được thực hiện

- Người dùng có thể chọn ấn vào nút Từ chối để có thể từ chối ứng viên Lúc này luồng con “Từ chối ứng viên từ trang thông tin” sẽ được thực hiện

- Luồng con “Phê duyệt ứng viên từ trang thông tin”:

+ Bắt đầu khi người dùng ấn nút Phê duyệt

+ Hệ thống sẽ xóa ứng viên khỏi danh sách ứng tuyển và sẽ gửi thông báo đến cho ứng viên rằng họ đã trúng tuyển

+ Thêm ứng viên vào danh sách nhân viên chính thức cho công việc

+ Hệ thống sẽ trở lại trang Danh sách ứng viên

- Luồng con “Từ chối ứng viên”:

+ Bắt đầu khi người dùng ấn nút Từ chối + Hệ thống sẽ xóa ứng viên khỏi danh sách ứng tuyển + Hệ thống sẽ trở lại trang Danh sách ứng viên

Phê duyệt khi đã tuyển đủ nhân viên

Hệ thống sẽ không thêm ứng viên vào danh sách nhân viên chính thức mà sẽ xóa hết danh sách những ứng viên còn lại và hiển thị thông báo đã tuyển đủ cho người dùng Sau đó sẽ trở lại trang Danh sách ứng viên

Giao diện minh họa Ảnh 3.30 Giao diện thông tin của ứng viên Ảnh 3.31 Giao diện thông tin của ứng viên

UC Quản lí việc đã ứng tuyển

Bảng 3.15 Chi tiết UC Quản lí việc đã ứng tuyển

Mô tả Cho phép người tìm việc quản lí những công việc mà bản thân đã ứng tuyển

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Công việc ứng tuyển”

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách những công việc mà người tìm việc đã ứng tuyển

- Người dùng ấn vào công việc để xem chi tiết công việc

Thư viện ĐH Thăng Long

41 - Người dùng có thể ấn nút Hủy ứng tuyển để có thể hủy ứng tuyển công việc Lúc này luồng con “Hủy ứng tuyển” sẽ được thực hiện

- Luồng con “Hủy ứng tuyển”:

+ Bắt đầu khi người tìm việc bấm nút Hủy ứng tuyển + Hệ thống sẽ tự động xóa công việc này trong danh sách công việc đã ứng tuyển + Hệ thống sẽ trở về Danh sách công việc đã ứng tuyển

Giao diện minh họa Ảnh 3.32 Giao diện Danh sách công việc đã ứng tuyển Ảnh 3.33 Giao diện Danh sách công việc đã ứng tuyển (rỗng)

UC Quản lí thông báo

Bảng 3.16 Chi tiết UC Quản lí thông báo

Mô tả Cho phép người dùng quản lí thông báo

Tác nhân Người tìm việc, người tuyển dụng Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng hình chuông ở thanh công cụ bên dưới cùng của trang chủ

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách thông báo

- Người dùng có thể ấn vào thông báo để xem chi tiết thông báo Lúc này luồng con

“Chi tiết thông báo” sẽ được thực hiện - Người dùng ấn nút “Xóa”, luồng con “Xóa thông báo” sẽ được thực hiện

- Người dùng có thể ấn biểu tượng hình thùng rác để xóa tất cả thông báo Lúc này luồng con “Xóa tất cả thông báo” sẽ được thực hiện

- Luồng con “Chi tiết thông báo”:

+ Bắt đầu khi người tìm việc bấm vào thông báo trên danh sách

+ Hệ thống sẽ lấy dữ liệu của thông báo đó và hiện đầy đủ thông tin của thông báo cho người dùng bằng một hộp đối thoại hiển thị nổi lên trên trang thông báo

+ Khi người dùng ấn nút Đóng trên hộp đối thoại hoặc ấn ra bên ngoài hộp đối thoại thì hộp đối thoại chi tiết thông báo sẽ đóng và hiển thị trang danh sách thông báo

- Luồng con “Xóa thông báo”:

+ Bắt đầu khi người dùng ấn vào nút Xóa thông báo ở danh sách thông báo

+ Hệ thống sẽ xóa thông báo khỏi danh sách - Luồng con “Xóa tất cả thông báo”:

+ Bắt đầu khi người dùng ấn vào biểu tượng hình thùng rác ở gần tiêu đề trang

+ Hệ thống sẽ xóa hết danh sách thông báo và biểu tượng không có thông báo sẽ xuất hiện

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.34 Giao diện Thông báo Ảnh 3.35 Hộp đối thoại chi tiết thông báo Ảnh 3.36 Giao diện Thông báo (khi không có thông báo)

UC Chấm công

Bảng 3.17 Chi tiết UC Chấm công

Mô tả Cho phép người tìm việc có thể chấm công công việc

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Điểm danh”

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách những công việc mà người tìm việc trúng tuyển và đang trong trạng thái đang hoạt động

- Khi đến giờ bắt đầu ca làm việc có thể điểm danh, người dùng có thể ấn vào nút Điểm danh để có thể điểm danh thời gian đến Lúc này luồng con “Điểm danh đến” sẽ được thực hiện

- Sau khi điểm danh đến, được người tuyển dụng xác nhận đã đến và đến giờ kết thúc ca làm việc thì người dùng có thể ấn nút Kết thúc ca để có thể hoàn tất chấm công cho ngày hôm đó Lúc này luồng con “Điểm danh về” sẽ được thực hiện

- Luồng con “Điểm danh đến”:

+ Bắt đầu khi người tìm việc bấm nút Điểm danh

+ Hệ thống sẽ gửi dữ liệu điểm danh của người dùng lên cơ sở dữ liệu và để trạng thái điểm danh là chưa xác nhận

- Luồng con “Điểm danh về”:

+ Bắt đầu khi người tìm việc bấm nút Kết thúc ca

+ Hệ thống sẽ cập nhật dữ liệu chấm công của người dùng trên cơ sở dữ liệu, sau đó sẽ cập nhật lương mà người tìm việc sẽ nhận khi kết thúc công việc và cập nhật số buổi làm

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.37 Giao diện Danh sách công việc đã ứng tuyểnGiao diện Chấm công Ảnh 3.38 Giao diện Danh sách công việc đã ứng tuyển (Chưa ứng tuyển công việc) Giao diện Chấm công sau khi được xác nhận

UC Xác nhận điểm danh

Bảng 3.18 Chi tiết UC Xác nhận điểm danh

Mô tả Cho phép người tuyển dụng có thể xác nhận rằng người dùng đã đến chấm công

Tác nhân Người tuyển dụng Đặc tả chức năng chính

46 - Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với hình người đang giơ tay ở thanh công cụ để mở trang Việc đang hoạt động

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách những công việc mà đang trong trạng thái đang hoạt động

- Khi ấn vào một việc trong danh sách, hệ thống sẽ hiển thị danh sách nhân viên của công việc này

- Sau khi nhân viên điểm danh đến, bên phải của tên nhân viên sẽ xuất hiện nút Xác nhận và dưới tên của nhân viên là thời gian đến chấm công

- Người dùng có thể ấn vào nút Xác nhận để xác nhận rằng nhân viên đã đến làm việc Lúc này luồng con “Xác nhận điểm danh” sẽ được thực hiện

- Luồng con “Xác nhận điểm danh”:

+ Bắt đầu khi người tuyển dụng bấm nút Xác nhận

+ Hệ thống sẽ cập nhật trạng thái điểm danh của nhân viên là đã xác trên cơ sở dữ liệu

Thư viện ĐH Thăng Long

47 Ảnh 3.39 Giao diện Xác nhận điểm danh Ảnh 3.40 Giao diện Xác nhận điểm danh sau khi xác nhận

UC Theo dõi lương

Bảng 3.19 Chi tiết UC Theo dõi lương

Mô tả Cho phép người tìm việc có thể theo dõi lương của công việc

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng có tiêu đề “quản lý” thứ hai từ trái sang ở thanh công cụ, chọn vào trang Việc đang hoạt động

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách những công việc mà người dùng đã được thông qua

- Khi ấn vào một việc trong danh sách, hệ thống sẽ hiển thị thông tin số ngày làm, tổng ngày làm, tổng lương sẽ nhận và danh sách chấm công công việc kèm lương mỗi buổi

48 - Khi kết thúc ca làm của buổi cuối cùng, nút Kết thúc việc sẽ hiện lên Khi người dùng ấn vào nút này thì luồng con “Kết thúc công việc” sẽ được thực hiện

- Luồng con “Kết thúc công việc”:

+ Bắt đầu khi người tìm việc ấn nút Kết thúc việc + Hệ thống sẽ gửi tổng số tiền lương vào ví của người tìm việc, đồng thời thêm nhân thông tin người tìm việc sẽ được cập nhật vào danh sách nhân viên đã xác nhận kết thúc công việc

+ Hệ thống sẽ hiển thị trang Quản lí công việc

Giao diện minh họa Ảnh 3.41 Giao diện Danh sách việc đã thông qua Ảnh 3.42 Giao diện Theo dõi lương

Thư viện ĐH Thăng Long

UC Nạp tiền vào ví qua zalopay

Bảng 3.20 Chi tiết UC nạp tiền vào ví thông qua ZaloPay

Mô tả Cho phép người dùng nạp tiền vào ví trong app qua ZaloPay

Tác nhân Người tuyển dụng, người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng và mở chức năng có tiêu đề “Ví”

- Phía dưới màn hình có ô trống và tiêu đề nạp tiền vào ví thông qua ZaloPay, người dùng nhập số tiền muốn nạp vào ô trống

- Sau khi nhập số tiền, một trang mới sẽ được mở ra để xác nhận số tiền người dùng muốn nạp, click vào nút “Nạp tiền thông qua ZaloPay” để tiến hành thanh toán và nạp tiền vào tài khoản, luồng con “nạp tiền” sẽ được khởi chạy

+ Bắt đầu khi người dùng ấn nút “Nạp tiền thông qua ZaloPay”

+ Hệ thống sẽ bắt đầu tạo khởi tạo hóa đơn thanh toán với số tiền người dùng đã nhập

+ Hệ thống điều hướng mở tới ứng dụng ZaloPay để thanh toán

+ Người dùng thực hiện xác thực theo yêu cầu của ZaloPay và tiến hành thành toán

+ Sau khi thanh toán thành công, điều hướng ngược lại về ứng dụng và hiển thị thông báo nạp tiền thành công

+ Ví tiền trong ứng dụng sẽ cộng tiền sau khi nhận được kết quả thanh toán thành công từ ZaloPay gửi về

Số tiền người dùng nhập liệu để khởi tạo hóa đơn là số không hợp lệ Hiện thông báo yêu cầu nhập lại số tiền

Người dùng cài đặt ứng dụng Zalo nhưng chưa cài đặt ứng dụng ZaloPay

Chuyển hướng mở ZaloPay được tích hợp sẵn trong Zalo và tiến hành thanh toán

Người dùng cài đặt ứng dụng ZaloPay nhưng chưa cài đặt ứng dụng Zalo

Chuyển hướng mở ứng dụng ZaloPay và tiến hành thanh toán

Tài khoản ZaloPay hoặc tài khoản ngân hàng đã thêm sẵn trong ZaloPay không đủ số dư thanh toán

ZaloPay sẽ trả về kết quả thanh toán thất bại, điều hướng về màn hình “Ví” của ứng dụng và hiển thị thông báo

Hóa đơn thanh toán được tạo và điều hướng tới ZaloPay nhưng người dùng bấm trở về

Hiện thị thông báo giao dịch bị hủy và trở về giao diện “Ví”

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.43 Giao diện ví Ảnh 3.44 Giao diện xác nhận số tiền muốn nạp Ảnh 3.45 Điều hướng tới ZaloPay để tiến hành thanh toán Ảnh 3.46 Kết quả trả về từ ZaloPay và điều hướng về giao diện “Ví”

UC Rút tiền ra thẻ ngân hàng

Bảng 3.21 Chi tiết UC rút tiền ra thẻ ngân hàng

Mô tả Cho phép người dùng rút tiền từ ví ra thẻ ngân hàng

Tác nhân Người tuyển dụng, người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng và mở chức năng có tiêu đề “Ví”

- Phía 2/3 bên trên là phần hiển thị danh sách các thẻ ngân hàng đã được thêm vào ứng dụng để rút tiền, để thêm thẻ ngân hàng mới, người dùng bấm vào nút biểu tượng tròn hình chiếc ví

- Tiếp tục chọn biểu tượng có tiêu đề “Thêm thẻ”, các trường thông tin thẻ xuất hiện, người dùng lựa chọn và nhập các thông tin cần thiết

- Sau khi hoàn thiện các thông tin cần thiết, thẻ được thêm và hiển thị ở danh sách thẻ ban đầu

Các trường nhập thông tin thẻ không hợp lệ Hiển thị thông báo và tỏ focus vào các trường không hợp lệ

Nhập thông tin trùng với thẻ đã thêm vào ứng dụng trước đó Hiện thị thông báo và không cho thêm thẻ

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.47 Giao diện danh sách các thẻ ngân hàng đã được thêm Ảnh 3.48 Giao diện nhập liệu thông tin thêm thẻ ngân hàng

UC Thống kê hoạt động

Bảng 3.22 Chi tiết UC thống kê hoạt động

Cho phép người dùng xem thống kê về các hoạt động trong ứng dụng

Tác nhân Đặc tả chức năng

Thống kê tổng thu nhập và chi tiêu

Hệ thống tải dữ liệu và hiển thị tổng số thu nhập và chi tiêu của người dùng vào biểu đồ cột,

54 Người dùng truy cập vào ứng dụng và mở chức năng có tiêu đề

“Thống kê” chọn xem được dữ liệu theo tháng/năm, hiển thị 5 tuần

Thống kê thu nhập/chi tiêu theo từng loại công việc

Hệ thống tải dữ liệu và hiển thị tổng thu nhập/ chi tiêu của người dùng và nhóm lại theo loại công việc vào biểu đồ tròn

Thống kê tổng số giờ làm việc

Hệ thống tải dữ liệu và hiển thị tổng số giờ làm việc mỗi tháng biểu diễn dạng biểu đồ đường, chọn xem được dữ liệu theo năm, hiển thị 12 tháng

Thống kê tổng số việc đã đăng tải

Hệ thống tải dữ liệu và hiển thị các chỉ số về tổng số việc làm đã đăng tải biểu diễn theo biểu đồ đường, chọn xem được dữ liệu theo năm, hiển thị 12 tháng

Thống kê tổng số tài khoản mở mới

Hệ thống tải dữ liệu và hiển thị số tài khoản mở mới của người dùng theo loại vào biểu đồ cột

Lựa chọn xem được dữ liệu theo tháng/năm, hiển thị 5 tuần

Thống kê lợi nhuận ứng dụng

Hệ thống tải dữ liệu và hiển thị lợi nhuận ứng dụng biểu diễn biểu đồ đường Chọn xem được theo năm, hiển thị 12 tháng

Người dùng vừa tạo tài khoản, không có dữ liệu để vẽ biểu đồ Hiển thị các giá trị dữ liệu mặc định bằng 0

Thư viện ĐH Thăng Long

Giao diện minh họa Ảnh 3.49 Biểu đồ cột thống kê thu chi của người tìm việc Ảnh 3.50 Biểu đồ cột thống kê tài khoản mở mới Ảnh 3.51 Biểu đồ tròn thống kê thu nhập từ loại công việc Ảnh 3.52 Biểu đồ đường thống kê số giờ làm việc mỗi tháng

UC Gửi báo cáo

Bảng 3.23 Chi tiết UC Gửi báo cáo

Mô tả Cho phép người dùng có thể gửi báo cáo cho Quản trị viên

Tác nhân Người tìm việc, người tuyển dụng Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Báo cáo”

- Hệ thống sẽ hiển thị giao diện Báo cáo

- Khi ấn vào một loại báo cáo mà người dùng muốn gửi, trường ghi chú và tình trạng sẽ xuất hiện

- Sau khi chọn tình trạng và nhập ghi chú thì người dùng có thể ấn nút Gửi yêu cầu để có thể gửi báo cáo Lúc này luồng con “Gửi báo cáo” sẽ được thực hiện

- Luồng con “Gửi báo cáo”:

+ Bắt đầu khi người dùng ấn nút Gửi yêu cầu sau khi chọn loại báo cáo, chọn tình trạng và viết ghi chú báo cáo

+ Hệ thống sẽ gửi dữ liệu của báo cáo lên cơ sở dữ liệu và hiện thông báo lên trên màn hình

Giao diện minh họa Ảnh 3.53 Giao diện Báo cáo

Thư viện ĐH Thăng Long

UC Xem báo cáo

Bảng 3.24 Chi tiết UC Xem báo cáo

Mô tả Cho phép Quản trị viên có thể xem báo cáo mà người dùng đã gửi

Tác nhân Quản trị viên Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Phản hồi báo cáo”

- Hệ thống sẽ lấy dữ liệu để hiển thị danh sách báo cáo Báo cáo được chia thành 3 trang theo loại báo cáo, lần lượt là: Kỹ thuật, Phản hồi, Báo cáo

- Quản trị viên ấn vào tiêu đề nào thì hệ thống sẽ hiển thị danh sách báo cáo thuộc loại đó

- Trên mỗi báo cáo nó nút Đóng báo cáo, quản trị viên ấn nút này thì luồng con

“Đóng báo cáo” sẽ được thực hiện

- Luồng con “Đóng báo cáo”:

+ Bắt đầu khi quản trị viên ấn nút Đóng báo cáo

+ Hệ thống sẽ gửi xóa dữ liệu của báo cáo đó và gửi thông báo về cho người gửi báo cáo

Giao diện minh họa Ảnh 3.54 Giao diện Xem báo cáo Ảnh 3.55 Giao diện xem báo cáo

(khi không có báo cáo)

UC Đánh giá nhân viên

Bảng 3.25 Chi tiết UC Đánh giá nhân viên

Mô tả Cho phép Người tuyển dụng có thể đánh giá (nhân viên) người tìm việc sau khi kết thúc công việc

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng với tiêu đề “Lịch sử công việc”

- Hệ thống sẽ lấy dữ liệu để hiển thị danh sách những công việc mà có nhân viên xác nhận kết thúc để nhận lương

Thư viện ĐH Thăng Long

59 - Người dùng sẽ nhấn vào một trong các công việc để hiển thị danh sách những nhân viên đã xác nhận công việc

- Người dùng ấn vào thông tin nhân viên để đánh giá nhân viên Lúc này luồng con

“Đánh giá nhân viên” sẽ được thực hiện

- Luồng con “Đánh giá nhân viên”:

+ Bắt đầu khi người tuyển dụng ấn vào thông tin của một nhân viên

+ Hệ thống sẽ hiển thị hộp đối thoại gồm số sao để đánh giá trên thang điểm 5 và trường đánh giá để người tuyển dụng có mô tả đánh giá chi tiết về người tìm việc này

Khi người dùng không điền đánh giá Hệ thống sẽ hiển thị lỗi ở trường đánh giá và tự trỏ con trỏ vào trường này

Giao diện minh họa Ảnh 3.56 Giao diện Lịch sử công việc Ảnh 3.57 Giao diện hộp đối thoại đánh giá

UC Xem đánh giá

Bảng 3.26 Chi tiết UC Xem đánh giá

Mô tả Cho phép người tìm việc xem danh sách đánh giá của tất cả các nhà tuyển dụng từ công việc cũ của bản thân

Tác nhân Người tìm việc Đặc tả chức năng chính

- Người dùng truy cập vào ứng dụng, nhấp vào biểu tượng “quản lý công việc” vị trí thứ 2 từ trái sang ở thanh công cụ menu dưới cùng để mở trang Quản lí công việc, chọn vào trang Đánh giá

- Hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu và hiển thị danh sách những đánh giá mà người dùng đã nhận được

Giao diện minh họa Ảnh 3.58 Giao diện Xem đánh giá

Thư viện ĐH Thăng Long

CHƯƠNG 4 THIẾT KẾ CƠ SỞ DỮ LIỆU 4.1 Lược đồ cơ sở dữ liệu Ảnh 4.1 Lược đồ cơ sở dữ liệu

Chi tiết các cấu trúc JSON

Bảng 4.1 Bảng chi tiết cấu trúc JSON

STT Tên các cấu trúc Chú thích

1 amount_job_posted Lưu trữ thông tin về số lượng công việc mà người tuyển dụng đã đăng 2 app_income Lưu trữ thông tin về doanh thu của ứng dụng 3 applicant Lưu trữ thông tin của ứng viên trong công việc 4 approved_job Lưu trữ thông tin về những công việc đã được thông qua của người tìm việc

STT Tên các cấu trúc Chú thích

5 b_user Lưu trữ thông tin về người tuyển dụng

6 buser_expense_by_date Lưu trữ thông tin về chi tiêu của người tuyển dụng theo ngày

7 buser_expense_job_type_id Lưu trữ thông tin về chi tiêu của người tuyển dụng theo id loại công việc 8 check_in Lưu trữ thông tin chấm công của nhân viên

9 job Lưu trữ thông tin về công việc

10 job_history Lưu trữ thông tin về công việc đã hoàn thành và đánh giá mà người tìm việc nhận được

11 n_user Lưu trữ thông tin về người tìm việc

12 notification Lưu trữ thông tin về thông báo của người dùng

13 nuser_income_by_date Lưu trữ thông tin về doanh thu của người tìm việc theo ngày

14 nuser_income_job_type_id Lưu trữ thông tin về doanh thu của người tìm việc theo id loại công việc 15 nuser_worked_hours Lưu trữ thông tin số giờ người tìm việc đã làm 16 registered_user Lưu trữ thông tin số lượng người đăng ký mới 17 report Lưu trữ thông tin báo cáo mà người dùng gửi

18 salary Lưu trữ thông tin về lương chắc chắn sẽ nhận khi kết thúc công việc 19 user_avt Lưu trữ thông tin ảnh đại diện của người dùng 20 user_role Lưu trữ thông tin về vai trò của người dùng 21 wallet Lưu trữ thông tin về thẻ người dùng đã thêm 22 wallet_amount Lưu trữ thông tin số dư trong ví người dùng

Thư viện ĐH Thăng Long

Bảng 4.2 Bảng chi tiết “amount_job_posted”

Thuộc tính Kiểu dữ liệu Khác Giải thích date_by_month String PRIMARY KEY Tháng chi tiêu user_id String FOREIGN KEY Id của người tuyển dụng amount Double Số tiền đã chi

Bảng 4.3 Bảng chi tiết “app_income”

Thuộc tính Kiểu dữ liệu Khác Giải thích income_date String PRIMARY KEY Ngày doanh thu amount Double Doanh thu của ứng dụng

Bảng 4.4 Bảng chi tiết “applicant”

Thuộc tính Kiểu dữ liệu Khác Giải thích user_id String PRIMARY KEY,

FOREIGN KEY Id của người tìm việc job_id String PRIMARY KEY,

FOREIGN KEY Id của công việc applied_date String Ngày ứng tuyển applicant_des String Mô tả của người tìm việc dành cho công việc

Bảng 4.5 Bảng chi tiết “approved_job”

Thuộc tính Kiểu dữ liệu Khác Giải thích user_id String PRIMARY KEY,

Id của người tìm việc (nhân viên) job_id String PRIMARY KEY,

FOREIGN KEY Id của công việc approved_date String Ngày được thông qua

Bảng 4.6 Bảng chi tiết “b_user”

Thuộc tính Kiểu dữ liệu Khác Giải thích user_id String PRIMARY KEY Id của người dùng address String Địa chỉ của người tuyển dụng email String Email của người tuyển dụng buser_name String Tên của người tuyển dụng phone_num String Số điện thoại của người tuyển dụng business_sector String Mô hình kinh doanh business_type String Loại doanh nghiệp description String Mô tả về người tuyển dụng tax_code String Mã số thuế

Thư viện ĐH Thăng Long

Bảng 4.7 Bảng chi tiết “buser_expense_by_date”

Thuộc tính Kiểu dữ liệu Khác Giải thích expense_date String PRIMARY KEY Ngày chi tiêu user_id String FOREIGN KEY Id của người tuyển dụng expense_amount Double Số tiền đã chi

4.2.7 “buser_expense_job_type_id”

Bảng 4.8 Bảng chi tiết “buser_expense_job_type_id”

Thuộc tính Kiểu dữ liệu Khác Giải thích job_type_id String PRIMARY KEY Id của loại công việc user_id String FOREIGN KEY Id của người tuyển dụng expense_amount Double Số tiền đã chi

Bảng 4.9 Bảng chi tiết “check_in”

Thuộc tính Kiểu dữ liệu Khác Giải thích user_id String PRIMARY KEY,

Id của người tìm việc (nhân viên) job_id String PRIMARY KEY,

FOREIGN KEY Id của công việc check_in_date String Ngày chấm công check_in_time String Giờ điểm danh đến check_out_time String Giờ điểm danh về day_salary Double Lương đi làm của ngày

Status String Trạng thái chấm công

Bảng 4.10 Bảng chi tiết Nhánh “job”

Thuộc tính Kiểu dữ liệu Khác Giải thích job_id String PRIMARY KEY Id của công việc address String Địa chỉ của công việc

User_id String FOREIGN KEY Id của người tuyển dụng emp_amount Int Số lượng nhân viên tuyển dụng end_hr String Giờ kết thúc ca end_time String Ngày kết thúc công việc job_des String Mô tả công việc job_title String Tên công việc job_type String Loại công việc num_of_recruited Int Số lượng nhân viên đã được tuyển post_date String FOREIGN KEY Ngày đăng việc salary_per_emp Double Lương theo giờ start_hr String Giờ bắt đầu ca start_time String Ngày bắt đầu công việc status String Trạng thái công việc total_salary Double Tổng lương mà người tuyển dụng chi trả cho nhân viên

Thư viện ĐH Thăng Long

Bảng 4.11 Chi tiết “job_history”

Thuộc tính Kiểu dữ liệu Khác Giải thích job_id String PRIMARY KEY,

FOREIGN KEY Id của công việc user_id String PRIMARY KEY,

FOREIGN KEY Id của người tìm việc rating Float

Thang điểm đánh giá mà người tuyển dụng đánh giá người tìm việc review String Đánh giá của người tuyển dụng về người tìm việc end_date String Ngày người tìm việc kết thúc công việc

Bảng 4.12 Bảng chi tiết “n_user”

Thuộc tính Kiểu dữ liệu Khác Giải thích user_id String PRIMARY KEY Id của người dùng address String Địa chỉ của người tìm việc email String Email của người tìm việc nuser_name String Tên của người tìm việc phone_num String Số điện thoại của người tìm việc age Int Tuổi của người tìm việc

Gender String Giới tính của người tìm việc

Bảng 4.13 Bảng chi tiết “notification”

Thuộc tính Kiểu dữ liệu Khác Giải thích noti_id String PRIMARY KEY Id của thông báo user_id String FOREIGN KEY Id của người dùng date String Ngày thông báo detail String Nội dung thông báo

Bảng 4.14 Bảng chi tiết “nuser_income_by_date”

Thuộc tính Kiểu dữ liệu Khác Giải thích income_date String PRIMARY KEY Ngày thu nhập user_id String FOREIGN KEY Id của người tìm việc income _amount Double Doanh thu từ công việc

4.2.14 “nuser_income_job_type_id”

Bảng 4.15 Bảng chi tiết “nuser_income _job_type_id”

Thuộc tính Kiểu dữ liệu Khác Giải thích job_type_id String PRIMARY KEY Id của loại công việc user_id String FOREIGN KEY Id của người tìm việc income_amount Double Doanh thu từ công việc

Bảng 4.16 Bảng chi tiết “nuser_worked_hours”

Thuộc tính Kiểu dữ liệu Khác Giải thích date_by_month String PRIMARY KEY Tháng doanh thu user_id String FOREIGN KEY Id của người tìm việc

Thư viện ĐH Thăng Long

Thuộc tính Kiểu dữ liệu Khác Giải thích worked_time Double Doanh thu từ công việc

Bảng 4.17 Bảng chi tiết “registered_user”

Thuộc tính Kiểu dữ liệu Khác Giải thích role String PRIMARY KEY Vai trò của người dùng date String Ngày đăng ký amount Double Số lượng người đăng ký

Bảng 4.18 Bảng chi tiết “report”

TRIỂN KHAI HỆ THỐNG

Môi trường cài đặt

5.1.1 Yêu cầu cấu hình cài đặt phát triển

Bảng 5.1 Bảng yêu cầu cấu hình trên Windows

Hệ điều hành/phiên bản Microsoft® Windows® 8/10/11 64 bit

Kiến trúc CPU x86_64; Intel Core thế hệ 2 trở lên hoặc CPU AMD có hỗ trợ trình điều khiển ảo hoá của Windows

Bộ nhớ (RAM) tối thiểu 8GB RAM

Dung lượng trống trên ổ đĩa tối thiểu là 8 GB (IDE + SDK Android + Trình mô phỏng Android)

Màn hình Độ phân giải tối thiểu 1280 x 800

Kết nối mạng Đường truyền internet ổn định

Bảng 5.2 Bảng yêu cầu cấu hình trên macOS

Hệ điều hành/phiên bản MacOS® 10.14 (Mojave) trở lên

Bộ xử lý (CPU) Chip dựa trên ARM hoặc Intel Core thế hệ 2 trở lên có hỗ trợ khung trình điều khiển ảo hoá

Bộ nhớ (RAM) tối thiểu 8GB RAM

Dung lượng trống trên ổ đĩa tối thiểu là 8 GB (IDE + SDK Android + Trình mô phỏng Android)

Thư viện ĐH Thăng Long

Màn hình Độ phân giải tối thiểu 1280 x 800

Kết nối mạng Đường truyền internet ổn định

Bảng 5.3 Bảng yêu cầu cấu hình trên Linux

Hệ điều hành/phiên bản

Bất kỳ bản phân phối Linux 64 bit nào hỗ trợ Gnome, KDE hoặc Unity DE; GNU C Library (glibc) 2.31 trở lên

Kiến trúc CPU x86_64; Bộ xử lý Intel Core thế hệ 2 trở lên hoặc bộ xử lý AMD có hỗ trợ Ảo hoá AMD (AMD-V) và SSSE3

Bộ nhớ (RAM) tối thiểu 8GB RAM

Dung lượng trống trên ổ đĩa tối thiểu là 8 GB (IDE + SDK Android + Trình mô phỏng Android)

Màn hình Độ phân giải tối thiểu 1280 x 800

Kết nối mạng Đường truyền internet ổn định

5.1.2 Yêu cầu cấu hình thiết bị cài đặt ứng dụng

Bảng 5.4 Bảng yêu cầu cấu hình thiết bị

Hệ điều hành/phiên bản Tối thiểu: Android 7.0 (Nougat)

Khuyến nghị: Android 10.0 (Q) trở lên Bộ xử lý (CPU) Bộ xử lý lõi tứ (Quad-core) 1.4 GHz hoặc cao hơn

Tối thiểu: 2 GB Khuyến nghị: 4 GB hoặc cao hơn

Dung lượng bộ nhớ trong Tối thiểu: 1 GB

Khuyến nghị: 2 GB hoặc cao hơn

Tối thiểu: 720 x 1280 (HD) Khuyến nghị: 1080 x 1920 (Full HD)

Kết nối mạng Đường truyền internet ổn định

Các tính năng đặc biệt

Kết nối mạng: Hỗ trợ Wi-Fi và 4G LTE (khuyến nghị hỗ trợ 5G nếu có)

Cảm biến vân tay hoặc các phương thức sinh trắc khác (nếu có)

Cài đặt Android Studio

Android Studio là IDE chính thức được Google khuyến nghị cho việc phát triển ứng dụng Android Các bước để cài đặt Android Studio: [20]

- Truy cập trang web chính thức của Android Studio: Android Studio Download

- Tải xuống phiên bản phù hợp với hệ điều hành (Windows, macOS, hoặc Linux)

- Cài đặt theo hướng dẫn.

Cài đặt ứng dụng Zalo - ZaloPay

ZaloPay là ứng dụng thanh toán di động với nhiều tính năng độc đáo Được xây dựng chuyên biệt để thỏa mãn mọi nhu cầu thanh toán trong cuộc sống và nhu cầu kinh doanh ZaloPay hiện giờ đã được tích hợp và Zalo, vì vậy có thể lựa chọn cài đặt 1 trong 2 đều có thể tương tác được với chức năng thanh toán của ứng dụng [19]

- Truy cập trang web chính thức của ZaloPay

- Tải xuống và đăng ký tài khoản theo hướng dẫn

Thư viện ĐH Thăng Long

75 Ảnh 5.1 Hướng dẫn tải và đăng ký ZaloPay Ảnh 5.2 ZaloPay được tích hợp trong Zalo

Một số chức năng chính

- Chức năng cho phép Người tuyển dụng có thể đăng tải công việc Ảnh 5.3 Giao diện Đăng tải công việc Ảnh 5.4 Giao diện Đăng tải công việc

- Chức năng này cho phép Người tìm việc tìm kiếm công việc Ảnh 5.5 Giao diện Tìm kiếm công việc Ảnh 5.6 Giao diện bộ lọc tìm việc

Thư viện ĐH Thăng Long

77 - Ứng tuyển và hủy ứng tuyển công việc Ảnh 5.7 Màn hình Chi tiết công việc khi đã ứng tuyển Ảnh 5.8 Màn hình Chi tiết công việc khi chưa ứng tuyển

- Chức năng này cho phép Người tuyển dụng từ chối, phê duyệt ứng viên Ảnh 5.9 Giao diện Danh sách ứng viên Ảnh 5.10 Khi Danh sách ứng viên (rỗng)

78 - Xem thông tin ứng viên Ảnh 5.11 Màn hình giao diện Chi tiết ứng viên (ảnh 1) Ảnh 5.12 Màn hình giao diện Chi tiết ứng viên (ảnh 2 )

- Chức năng này cho phép Người tìm việc chấm công Ảnh 5.13 Màn hình Giao diện Điểm danh đến

Thư viện ĐH Thăng Long

79 Ảnh 5.14 Màn hình Giao diện Điểm danh về

- Chức năng này cho phép Người tuyển dụng xác nhận rằng Người tìm việc đã đến nơi làm việc Ảnh 5.15 Màn hình giao diện Xác nhận điểm danh đến

- Chức năng này thuộc về tác nhân người tìm việc (nhân viên), cho phép tác nhân theo dõi lương theo chi tiết từng ngày làm việc Ảnh 5.16 Giao diện xác nhận kết thúc công việc Ảnh 5.17 Màn hình giao diện theo dõi lương từng buổi làm việc Ảnh 5.18 Màn hình giao diện theo dõi lương (trống)

Thư viện ĐH Thăng Long

- Cho phép người dùng nạp tiền qua ZaloPay và rút tiền ra thẻ ngân hàng Ảnh 5.19 Giao diện tạo đơn nạp tiền vào ví qua ZaloPay Ảnh 5.20 Xác nhận hóa đơn và tiến hành thanh toán Ảnh 5.21 Giao diện thêm thẻ ngân hàng mới Ảnh 5.22 Giao diện danh sách các thẻ ngân hàng đã thêm

- Chức năng cho phép người tìm việc xem được các thống kê hoạt động việc làm Ảnh 5.23 Thống kê thu nhập của người tìm việc Ảnh 5.24 Thống kê tổng số giờ làm việc mỗi tháng Ảnh 5.25 Thống kê thu nhập từng nhóm công việc

Thư viện ĐH Thăng Long

83 - Cho phép người tuyển dụng xem thống kê hoạt động tuyển dụng của mình Ảnh 5.26 Thống kê chi phí của người tuyển dụng Ảnh 5.27 Thống kê số lượng công việc đã đăng tuyển Ảnh 5.28 Thống kê tổng chi phí cho từng loại công việc

84 - Đối với quản trị viên, xem được thu nhập hoa hổng và tài khoản mở mới Ảnh 5.29 Thống kê tổng số tài khoản mở mới Ảnh 5.30 Tổng thu nhập hoa hồng thu được theo năm

Thư viện ĐH Thăng Long

Ngày đăng: 04/09/2024, 17:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] “Icantech,” 11 12 2023. [Online]. Available: https://www.icantech.vn/kham- pha/firebase-la-gi. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: Icantech
[2] H. X. Cuong, “Firebase Realtime Database , Cloud Firestore là gì ? Nên chọn FRD hay CF cho app của bạn ?,” 14 4 2019. [Trực tuyến]. Available:https://viblo.asia/p/firebase-realtime-database-cloud-firestore-la-gi-nen-chon-frd-hay-cf-cho-app-cua-ban-63vKj2xdK2R. [Đã truy cập 1 7 2024] Sách, tạp chí
Tiêu đề: Firebase Realtime Database , Cloud Firestore là gì ? Nên chọn FRD hay CF cho app của bạn
[3] “Hostinger,” 20 5 2024. [Online]. Available: https://www.hostinger.com/tutorials/http-vs-https. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: Hostinger
[4] “FPTCloud,” FPT, 31 12 2021. [Online]. Available: https://fptcloud.com/firebase- la-gi/. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: FPTCloud
[5] “Quantrimang,” 12 2 2020. [Online]. Available: https://quantrimang.com/lang- cong-nghe/kotlin-ngon-ngu-phat-trien-moi-nhat-cua-android-163361. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: Quantrimang
[6] L. Khanh, “itviec,” 10 2 2023. [Online]. Available: https://itviec.com/blog/kotlin-la-gi/. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: itviec
[7] “Stackify,” 7 6 2024. [Online]. Available: https://stackify.com/12-reasons-for-using-kotlin-for-android-app-development/. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: Stackify
[8] D. Xuan, “cafedev,” 26 11 2019. [Online]. Available: https://cafedev.vn/gioi-thieu- moi-thu-ve-kotlin-va-top-5-ly-do-nen-dung-no/. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: cafedev
[10] P. X. Lu, “Thư viện load ảnh Glide cho ứng dụng Android,” 28 2 2016. [Online]. Available: https://viblo.asia/p/thu-vien-load-anh-glide-cho-ung-dung-android-jaqG0QlevEKw. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: Thư viện load ảnh Glide cho ứng dụng Android
[11] S. Ahmed, “Medium,” 22 3 2022. [Online]. Available: https://saqibvnb.medium.com/biometric-authentication-in-android-kotlin-2178cd227afb. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: Medium
[12] B. T. Việt, “Viblo,” 20 7 2018. [Online]. Available: https://viblo.asia/p/thay-the- database-cua-ung-dung-bang-room-database-RQqKLvarl7z. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: Viblo
[13] Zalo, “Zalo Mini App,” 2024. [Online]. Available: https://mini.zalo.me/docs/payment/custom-method/intro/. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: Zalo Mini App
[14] NTC, “NTCDE,” 15 4 2017. [Online]. Available: https://ntcde.com/android/su- dung-swiperefreshlayout-trong-ung-dung-android.html. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: NTCDE
[15] “Ví ZaloPay là gì? Các dịch vụ tiện ích trên ZaloPay,” Công ty Cổ phần Zion, 22 7 2022. [Online]. Available: https://zalopay.vn/vi-zalopay-la-gi-1728. [Accessed 5 7 2024] Sách, tạp chí
Tiêu đề: Ví ZaloPay là gì? Các dịch vụ tiện ích trên ZaloPay
[16] Zalo, “Developer ZaloPay,” 2024. [Online]. Available: https://developer.zalopay.vn/start/. [Accessed 1 7 2024] Sách, tạp chí
Tiêu đề: Developer ZaloPay
[17] D. Android, “Developer Android,” 13 1 2024. [Online]. Available: https://developer.android.com/codelabs/basic-android-kotlin-compose-install-android-studio?hl=vi#0. [Accessed 2 7 2024] Sách, tạp chí
Tiêu đề: Developer Android

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

TÀI LIỆU LIÊN QUAN