Tài liệu Kỹ thuật: Luận văn apphr xây dựng hệ thống cung cấp dịch vụ quản

Luận văn AppHR về xây dựng hệ thống quản lý nhân sự trên nền tảng đám mây, giúp doanh nghiệp tối ưu quy trình HR hiệu quả và linh hoạt.

Chuyên ngành

Khoa học Máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn tốt nghiệp

2021

213
2
0

Phí lưu trữ

55 Point

Tóm tắt

I. Cách luận văn APPHR tối ưu quản lý nhân sự trên nền tảng Cloud

Luận văn APPHR tập trung nghiên cứu giải pháp xây dựng hệ thống quản lý nhân sự hiện đại. Đề tài tận dụng sức mạnh của công nghệ Điện toán đám mây (Cloud Computing) để giải quyết các bài toán vận hành thực tế. Hệ thống không chỉ dừng lại ở việc lưu trữ mà còn hướng tới một Hệ thống thông tin nhân sự (HRIS) toàn diện. Việc triển khai trên nền tảng Cloud giúp doanh nghiệp tiếp cận dịch vụ mọi lúc, mọi nơi. Đây là yếu tố then chốt trong bối cảnh làm việc linh hoạt hiện nay. Hệ thống bao gồm website quản trị và ứng dụng di động, tạo ra hệ sinh thái quản lý khép kín. Toàn bộ kiến trúc được thiết kế để tối ưu hóa hiệu suất và khả năng mở rộng. Tài liệu gốc nhấn mạnh việc cung cấp dịch vụ quản trị theo cách thuận tiện và dễ kiểm soát dữ liệu.

1.1. Vai trò của Quản trị nguồn nhân lực HRM trong kỷ nguyên mới

Quản trị nguồn nhân lực (HRM) đóng vai trò sống còn đối với sự phát triển bền vững của doanh nghiệp. Trong kỷ nguyên số, việc quản lý thủ công bằng giấy tờ gây ra nhiều sai sót và lãng phí thời gian. Hệ thống APPHR ra đời nhằm đáp ứng nhu cầu đồng bộ hóa thông tin nhân sự. Việc quản lý hồ sơ, hợp đồng và bảng lương cần sự chính xác tuyệt đối. Luận văn chỉ rõ rằng ứng dụng công nghệ giúp nhà lãnh đạo có cái nhìn tổng thể về chất lượng đội ngũ. Từ đó, doanh nghiệp có thể đưa ra các quyết định chiến lược phù hợp. Quản trị nguồn nhân lực (HRM) hiện đại đòi hỏi sự hỗ trợ từ các công cụ số hóa để tối ưu năng suất lao động.

1.2. Xu hướng sử dụng Phần mềm dịch vụ SaaS cho doanh nghiệp Việt

Mô hình Phần mềm dịch vụ (SaaS) đang trở thành lựa chọn ưu tiên của các doanh nghiệp vừa và nhỏ. Luận văn APPHR được xây dựng theo mô hình này để giảm thiểu chi phí đầu tư hạ tầng ban đầu. Doanh nghiệp chỉ cần đăng ký tài khoản và sử dụng dịch vụ trên trình duyệt hoặc ứng dụng di động. Tính linh hoạt của Phần mềm dịch vụ (SaaS) cho phép hệ thống tự động cập nhật các tính năng mới mà không gây gián đoạn. Hệ thống hỗ trợ đa ngôn ngữ và khả năng tự tạo subdomain khi đăng ký dùng thử. Điều này minh chứng cho tính thực tiễn và khả năng thương mại hóa cao của đề tài nghiên cứu trong thị trường phần mềm quản trị.

II. Top thách thức quản trị nguồn nhân lực doanh nghiệp thời đại số

Quá trình chuyển đổi số trong quản lý nhân sự đối mặt với nhiều rào cản kỹ thuật và vận hành. Các doanh nghiệp thường gặp khó khăn trong việc kết nối dữ liệu giữa các phòng ban. Việc thiếu một quy trình chuẩn hóa dẫn đến tình trạng chồng chéo thông tin. Luận văn APPHR xác định các vấn đề chính bao gồm quản lý chấm công thiếu minh bạch và tính lương thủ công phức tạp. Ngoài ra, việc bảo mật các thông tin nhạy cảm của nhân viên cũng là một thách thức lớn. Hệ thống cần giải quyết bài toán về tính toàn vẹn dữ liệu khi có hàng nghìn yêu cầu truy cập cùng lúc. Những hạn chế về nhân lực và thời gian thực hiện cũng được nhóm tác giả nêu rõ trong tài liệu gốc.

2.1. Khó khăn khi thiếu Cơ sở dữ liệu tập trung và đồng bộ

Việc lưu trữ dữ liệu phân tán khiến công tác tra cứu thông tin nhân sự trở nên chậm chạp. Thiếu một Cơ sở dữ liệu tập trung dẫn đến sự không nhất quán giữa hồ sơ nhân viên, hợp đồng và bảng lương. Hệ thống APPHR giải quyết vấn đề này bằng cách xây dựng lược đồ cơ sở dữ liệu quan hệ thực thể chặt chẽ. Mọi thay đổi về thông tin công tác đều được cập nhật ngay lập tức vào hồ sơ gốc. Điều này giúp giảm thiểu thời gian nhập liệu và tránh sai sót thông tin quan trọng. Một Cơ sở dữ liệu tập trung là nền tảng vững chắc để thực hiện các báo cáo thống kê và phân tích nhân sự chính xác cho ban lãnh đạo doanh nghiệp.

2.2. Rủi ro về Bảo mật dữ liệu đám mây trong quản lý nội bộ

Khi đưa dữ liệu lên môi trường internet, Bảo mật dữ liệu đám mây trở thành ưu tiên hàng đầu. Thông tin về lương, số chứng minh nhân dân và hợp đồng lao động cần được bảo vệ nghiêm ngặt. Luận văn sử dụng các kỹ thuật mã hóa và xác thực hiện đại để ngăn chặn truy cập trái phép. Việc triển khai trên AWS giúp tận dụng các chứng chỉ bảo mật vật lý mạnh mẽ của nhà cung cấp. Tuy nhiên, rủi ro vẫn tồn tại nếu cơ chế phân quyền không đủ linh động. Do đó, hệ thống tích hợp các tiêu chuẩn như JSON Web Token (JWT) để đảm bảo mọi yêu cầu gửi đến server đều được xác thực an toàn. Bảo mật dữ liệu đám mây không chỉ là kỹ thuật mà còn là cam kết về niềm tin với khách hàng.

III. Giải pháp kiến trúc Microservices cho hệ thống quản lý nhân sự

Để đảm bảo tính ổn định và khả năng mở rộng, luận văn lựa chọn Kiến trúc Microservices. Thay vì xây dựng một khối phần mềm duy nhất, hệ thống được chia thành các dịch vụ nhỏ độc lập. Mỗi dịch vụ đảm nhận một chức năng cụ thể như chấm công, tính lương hoặc quản lý hồ sơ. Cách tiếp cận này giúp việc bảo trì và cập nhật tính năng trở nên dễ dàng hơn. Hệ thống sử dụng NestJS cho backend và ReactJS cho frontend để tối ưu hóa hiệu suất. Sự kết hợp này cho phép xử lý hàng loạt kết nối đồng thời mà không làm giảm tốc độ phản hồi. Kiến trúc này cũng hỗ trợ tốt cho việc triển khai bằng Docker, giúp đồng nhất môi trường phát triển và vận hành thực tế.

3.1. Ưu điểm của Kiến trúc Microservices trong việc mở rộng hệ thống

Kiến trúc Microservices cho phép mỗi module của APPHR có thể mở rộng độc lập tùy theo nhu cầu tải. Ví dụ, module chấm công có thể được tăng cường tài nguyên vào khung giờ cao điểm mà không ảnh hưởng đến các phần khác. Điều này giúp tối ưu hóa chi phí vận hành trên AWS. Việc chia nhỏ hệ thống cũng giúp nhóm phát triển dễ dàng kiểm thử và triển khai các tính năng mới. Theo tài liệu, hệ thống tích hợp các tiện ích như email, in ấn và thông báo thời gian thực một cách mượt mà. Kiến trúc Microservices chính là lời giải cho bài toán xây dựng phần mềm quản trị quy mô lớn, đáp ứng nhiều doanh nghiệp cùng lúc.

3.2. Mô hình Multi tenant hỗ trợ Chuyển đổi số doanh nghiệp linh hoạt

Hệ thống APPHR áp dụng mô hình kiến trúc Multi-tenant để phục vụ nhiều khách hàng trên cùng một hạ tầng. Mỗi doanh nghiệp sẽ có một không gian lưu trữ dữ liệu riêng biệt (schema tenant) để đảm bảo tính riêng tư. Đây là yếu tố then chốt thúc đẩy Chuyển đổi số doanh nghiệp một cách nhanh chóng và tiết kiệm. Quá trình đăng ký và kích hoạt tài khoản diễn ra tự động, giúp doanh nghiệp bắt đầu sử dụng dịch vụ ngay lập tức. Khả năng tự tạo subdomain riêng biệt giúp tăng tính chuyên nghiệp và dễ nhận diện thương hiệu. Mô hình này không chỉ tối ưu tài nguyên máy chủ mà còn đơn giản hóa quy trình quản trị cho nhà cung cấp dịch vụ trong lộ trình Chuyển đổi số doanh nghiệp.

IV. Bí quyết ứng dụng SaaS và bảo mật dữ liệu đám mây hiệu quả

Việc triển khai thành công một hệ thống quản lý nhân sự đòi hỏi sự kết hợp giữa công nghệ và trải nghiệm người dùng. Luận văn APPHR chú trọng vào việc xây dựng giao diện trực quan và cơ chế bảo mật đa lớp. Người dùng có thể dễ dàng thao tác mà không cần đào tạo chuyên sâu. Hệ thống sử dụng các framework hiện đại như Flutter để phát triển ứng dụng di động đồng bộ với nền tảng Web. Bí quyết nằm ở việc tối ưu hóa luồng dữ liệu giữa client và server thông qua RESTful API. Mọi dữ liệu truyền tải đều được kiểm soát chặt chẽ để tránh rò rỉ thông tin. Sự minh bạch trong quy trình quản lý giúp tăng cường sự gắn kết giữa nhân viên và doanh nghiệp.

4.1. Tối ưu Giao diện người dùng UI UX trên Web và Mobile App

Giao diện người dùng (UI/UX) được thiết kế theo phong cách hiện đại, tập trung vào sự tiện dụng. Trên website, các bảng điều khiển hiển thị thông số thống kê trực quan về tình hình nhân sự. Ứng dụng di động được xây dựng bằng Flutter, mang lại trải nghiệm mượt mà trên cả Android và iOS. Người dùng có thể thực hiện điểm danh, xem phiếu lương và gửi đề xuất chỉ với vài thao tác chạm. Tài liệu gốc khẳng định ứng dụng mobile tận dụng tốt các kỹ năng lập trình để kiểm tra địa chỉ IP và Wifi nội bộ. Việc tối ưu Giao diện người dùng (UI/UX) giúp giảm rào cản công nghệ, khiến nhân viên cảm thấy thoải mái hơn khi sử dụng các công cụ số hóa hàng ngày.

4.2. Cơ chế Phân quyền người dùng RBAC bảo mật thông tin nhân sự

Hệ thống triển khai cơ chế Phân quyền người dùng (RBAC) cực kỳ linh hoạt để bảo vệ dữ liệu nhạy cảm. Mỗi tài khoản được gán một vai trò nhất định như Admin, Quản lý hoặc Nhân viên với các quyền hạn cụ thể. Admin có quyền cấu hình hệ thống, trong khi nhân viên chỉ có thể xem thông tin cá nhân và điểm danh. Việc Phân quyền người dùng (RBAC) giúp ngăn chặn tình trạng xem trộm bảng lương hoặc chỉnh sửa hồ sơ trái phép. Cơ chế này được thực hiện thông qua việc kiểm tra quyền truy cập trên từng API request. Điều này đảm bảo tính bảo mật và minh bạch trong mọi hoạt động của doanh nghiệp, đặc biệt là trong các nghiệp vụ liên quan đến tài chính và nhân sự.

V. Hướng dẫn triển khai chấm công trực tuyến và quản lý bảng lương

Một trong những tính năng nổi bật của APPHR là khả năng tự động hóa quy trình chấm công và tính lương. Hệ thống loại bỏ hoàn toàn các bảng tính Excel thủ công dễ sai lệch. Quy trình bắt đầu từ việc cấu hình ca làm việc, chi nhánh và các quy định về ngày nghỉ. Dữ liệu từ các lần điểm danh hàng ngày sẽ là cơ sở để hệ thống tính toán công thực tế. Luận văn đã hiện thực hóa các công thức tính lương phức tạp, bao gồm cả thuế thu nhập cá nhân và bảo hiểm xã hội. Kết quả cuối cùng là các phiếu lương chi tiết được gửi trực tiếp đến ứng dụng di động của nhân viên. Đây là bước tiến lớn trong việc nâng cao tính chuyên nghiệp của bộ phận nhân sự.

5.1. Quy trình Chấm công trực tuyến qua Wi Fi và mã QR tiện lợi

Chấm công trực tuyến trên APPHR được thực hiện qua hai hình thức chính: Wi-Fi nội bộ và mã QR. Nhân viên chỉ cần sử dụng ứng dụng di động để thực hiện check-in khi có mặt tại văn phòng. Hệ thống sẽ tự động kiểm tra địa chỉ BSSID của Wi-Fi hoặc vị trí GPS để xác thực. Điều này giúp ngăn chặn tình trạng chấm công hộ và đảm bảo tính trung thực. Đối với hình thức mã QR, người quản lý có thể thay đổi mã định kỳ để tăng cường bảo mật. Quy trình Chấm công trực tuyến diễn ra theo thời gian thực, giúp nhà quản trị theo dõi sát sao quân số làm việc mọi lúc. Đây là giải pháp tối ưu cho các doanh nghiệp có nhiều chi nhánh và phòng ban.

5.2. Tự động hóa quy trình nhân sự và Quản lý bảng lương Payroll

Việc Tự động hóa quy trình nhân sự giúp giảm tải khối lượng công việc khổng lồ cho bộ phận kế toán. Quản lý bảng lương (Payroll) được tích hợp trực tiếp với dữ liệu chấm công và hợp đồng lao động. Hệ thống tự động tính toán lương chính, phụ cấp và các khoản khấu trừ theo quy định pháp luật. Người dùng có thể định nghĩa các nhóm lương và loại trợ cấp linh hoạt theo đặc thù công ty. Luận văn cung cấp các ví dụ chi tiết về cách tính lương cho hợp đồng thuê khoán và hợp đồng chính thức. Kết quả là bảng lương tổng quát và phiếu lương chi tiết được xuất ra chính xác. Quản lý bảng lương (Payroll) tự động không chỉ tiết kiệm thời gian mà còn đảm bảo sự công bằng cho mọi nhân viên.

VI. Tương lai chuyển đổi số doanh nghiệp với hệ thống APPHR Cloud

Hệ thống APPHR đã đặt nền móng vững chắc cho việc quản trị nhân sự hiện đại trên nền tảng đám mây. Mặc dù đã đạt được những kết quả xuất sắc, nhóm tác giả vẫn nhận định còn nhiều dư địa để phát triển. Trong tương lai, hệ thống có thể tích hợp thêm các công nghệ thông minh để nâng cao giá trị sử dụng. Việc mở rộng quy mô phục vụ hàng nghìn doanh nghiệp đòi hỏi sự tối ưu hóa liên tục về hạ tầng. Luận văn đã chứng minh rằng một giải pháp SaaS thuần Việt hoàn toàn có thể cạnh tranh với các sản phẩm quốc tế. Sự thành công của đề tài góp phần thúc đẩy làn sóng chuyển đổi số trong cộng đồng doanh nghiệp Việt Nam. APPHR không chỉ là một đồ án mà còn là một sản phẩm có tính thực tiễn cao.

6.1. Tích hợp Đánh giá KPI và hiệu suất để tối ưu hóa nhân lực

Một trong những hướng phát triển quan trọng là tích hợp module Đánh giá KPI và hiệu suất. Hiện tại, APPHR tập trung mạnh vào quản lý hành chính và chấm công. Việc bổ sung tính năng theo dõi mục tiêu và kết quả công việc sẽ giúp hoàn thiện bức tranh quản trị. Doanh nghiệp có thể dựa trên dữ liệu thực tế để khen thưởng hoặc đào tạo nhân sự kịp thời. Đánh giá KPI và hiệu suất tự động giúp loại bỏ các yếu tố cảm tính trong quản lý. Đây là công cụ đắc lực để nhà lãnh đạo tối ưu hóa nguồn lực và thúc đẩy tinh thần làm việc của nhân viên. Việc kết nối dữ liệu hiệu suất với bảng lương sẽ tạo ra cơ chế khuyến khích làm việc hiệu quả hơn.

6.2. Tầm nhìn phát triển Hệ thống thông tin nhân sự HRIS toàn diện

Tầm nhìn của APPHR là trở thành một Hệ thống thông tin nhân sự (HRIS) toàn diện nhất trên thị trường. Điều này bao gồm việc mở rộng sang các mảng như tuyển dụng trực tuyến, đào tạo nội bộ và quản lý tài sản. Hệ thống sẽ tiếp tục nâng cấp khả năng bảo mật và hiệu suất trên nền tảng AWS. Việc ứng dụng AI vào nhận diện khuôn mặt để chấm công cũng là một hướng đi tiềm năng. Luận văn nhấn mạnh việc lắng nghe phản hồi từ người dùng để cải thiện tính năng liên tục. Một Hệ thống thông tin nhân sự (HRIS) mạnh mẽ sẽ là xương sống cho mọi hoạt động vận hành của doanh nghiệp trong tương lai. APPHR cam kết đồng hành cùng doanh nghiệp trong hành trình số hóa quản trị nguồn nhân lực.

11/12/2025
Luận văn apphr xây dựng hệ thống cung cấp dịch vụ quản lý nhân sự cho doanh nghiệp dựa trên nền tảng cloud

Trích đoạn nội dung tài liệu

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI – Xem thông báo – Đổi mật khẩu trong tài khoản – Đặt lịch nhắc nhở điểm danh • Website trang chủ của hệ thống • Website quản lý các tài khoản của doanh nghiệp Thông qua quá trình quản lý những dữ liệu này, hệ thống còn giúp cho người quản lý nhân sự đánh giá được quá trình mà nhân viên đã làm việc, qua đó đưa ra những quyết định phù hợp về mặt nhân sự đóng phần vào sự phát triển của công ty, doanh nghiệp.2 Nội dung thực hiện APPHR là một hệ thống gồm website quản trị và ứng dụng di động cho phép nhà quản trị quản lý điểm danh, đưa ra giải pháp chấm công nhân sự, từ đó đánh giá năng lực nhân sự qua quá trình làm việc của nhân viên. Một số nội dung đã thực hiện trong quá trình hoàn thành hệ thống: • Nghiên cứu các hệ thống về việc quản lý nhân sự cho cho doanh nghiệp bao gồm điểm danh, tính lương, hợp đồng. • Nghiên cứu công nghệ và các nền tảng cần có để hiện thực hệ thống.

• Xây dựng giao diện quản lý thân thiện với người sử dụng như xây dựng cơ chế phân quyền động cho người dùng. • Hiện thực và kiểm thử hệ thống. • Triển khai và đánh giá hệ thống đã hiện thực. • Viết báo cáo về đề tài đã thực hiện.3 Ý nghĩa của đề tài 1.1 Ý nghĩa thực tiễn Hệ thống APPHR được xây dựng dựa trên những mục tiêu hướng tới lợi ích cho doanh nghiệp: • Đáp ứng được những nhu cầu cơ bản của một nhân viên quản lý nhân sự.

• Giúp doanh nghiệp đưa ra những giải pháp chiến lược về nhân sự để đạt được mục tiêu trong kinh doanh. GIỚI THIỆU ĐỀ TÀI • Giúp tiết kiệm thời gian quản lý nhân sự, có nhiều thời gian hơn cho các hoạt động mang tầm vĩ mô khác chẳng hạn như đề ra các giải pháp hay kế hoạch chiến lược phục vụ cho lợi ích công ty, doanh nghiệp. • Giảm thời gian nhập và lưu trữ dữ liệu mà không xảy ra tình trạng nhầm lẫn hay sai sót về các thông tin hay giấy tờ quan trọng. • Giúp các nhà lãnh đạo quản lý một cách tổng thể về tình hình hoạt động cũng như chất lượng làm việc của đội ngũ nhân viên trong doanh nghiệp.

• Phần mềm quản lý nhân sự này cho phép người sử dụng đồng bộ hoá các thông tin liên quan đến một nhân sự, giúp giảm thiểu thời gian và công sức trong quá trình quản lý và lưu trữ dữ liệu nhân viên, từ đó tạo thành một nền tảng vững chắc cho việc phát triển doanh nghiệp.2 Ý nghĩa khoa học, kỹ thuật Xây dựng hệ thống APPHR cũng là cơ hội để chúng tôi có thể tìm hiểu những quy trình quản lý của một doanh nghiệp ở thời điểm hiện tại. Để xây dựng hệ thống, chúng tôi đã tổng hợp, áp dụng các kiến thức đã học về cơ sở dữ liệu, kiến trúc hệ thống, các kỹ thuật lập trình ứng dụng trên web và thiết bị di động, tìm hiểu và làm việc với các công nghệ phổ biến được sử dụng hiện nay như framework back-end NestJS, thư viện front-end ReactJS, framework phát triển ứng dụng di động Flutter,. Đây cũng dịp để chúng tôi nâng cao khả năng tự học tự tìm hiểu nghiên cứu, kỹ năng làm việc nhóm và giải quyết các vấn đề phát sinh trong quá trình tìm hiểu, hiện thực, đánh giá hệ thống.4 Giới hạn đề tài Trong quá trình phát triển hệ thống APPHR, chúng tôi chỉ tập trung vào việc điểm danh tại nơi làm việc, chính vì vậy mà một số mô hình kinh doanh yêu cầu điểm danh từ xa hoặc hỗ trợ làm việc tại nhà nằm ngoài giới hạn đề tài này. Ngoài ra, hệ thống APPHR chưa cung cấp một số chức năng chưa được hiện thực trong hệ thống như: • Hỗ trợ điểm danh bằng các hình thức như nhận diện gương mặt, máy chấm công,.

• Chưa hỗ trợ chấm công theo số lượng, KPI. Bởi vì giới hạn về nhân lực và thời gian hiện thực, chúng tôi sẽ phát triển những chức năng này trong tương lai. 3 Chương 2 KIẾN THỨC NỀN TẢNG 2.1 Mô hình Model - View - Controller Model - View - Controller hay còn biết đến với MVC là mẫu thiết kế phần mềm chia ứng dụng thành 3 nhóm thành phần chính: Model, View và Controller. [20] • Model (M) là thành phần chính có chức năng lưu trữ dữ liệu và các logic liên quan của toàn ứng dụng, là cầu nối giữa View và Controller.

Model thể hiện rõ các thao tác với cơ sở dữ liệu như xem, truy xuất, xử lý dữ liệu,. • View (V) là phần giao diện dành cho người dùng, được tạo bởi dữ liệu từ Model. View còn là nơi người dùng lấy có thể lấy được thông tin thông qua các thao tác với giao diện trên web. • Controller (C) là thành phần chịu trách nhiệm xử lý các yêu cầu từ người dùng đưa đến thông qua View.

Từ đó, đưa ra những dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn kết nối với thành phần Model.1: Sơ đồ tương tác mô hình MVC MVC vận hình theo những bước sau: Bước 1: Người dùng sử dụng một trình duyệt web bất kỳ (Firefox, Chrome,.) để có thể gửi yêu cầu có thể kèm theo những dữ liệu nhập tới Controller xử lý. Bước 2: Khi Controller nhận được yêu cầu gửi tới, nó sẽ kiểm tra yêu cầu đó có cần dữ liệu từ Model hay không. Nếu có, nó sẽ điều hướng đến các thao tác xử lý tại Model và sau đó nhận kết quả trả về từ Model, khi đó Controller sẽ xử lý giá trị đó và trả ra View để hiển thị.

KIẾN THỨC NỀN TẢNG Bước 3: Khi nhận được dữ liệu từ Controller, View sẽ xây dựng lại các thành phẩn hiển thị và trả về GUI Content để Controller đưa ra kết quả lên màn hình trình duyệt web. Bước 4: Trình duyệt web nhận giá trị trả về và hiển thị với người dùng. Kết thúc một quy trình hoạt động. Việc sử dụng MVC có những ưu và nhược điểm sau: • Ưu điểm: giúp phát triển ứng dụng nhanh hơn, đơn giản hơn, dễ nâng cấp bảo trì, không phụ thuộc môi trường và ngôn ngữ lập trình,.

• Nhược điểm: chỉ được dụng cho những dự án lớn. MVC được ứng dụng trong nhiều ngôn ngữ lập trình khác nhau như ứng dụng ASP.NET MVC, PHP MVC,.2 RESTful API REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiến trúc để viết API và sử dụng phương thức HTTP đơn giản để tạo cho ra giao tiếp giữa các thiết bị. API (Application Programming Interface) là một tập các quy tắc và cơ chế mà một ứng dụng hay một thành phần máy tính tương tác với một ứng dụng hay thành phần khác. RESTful API là là một tiêu chuẩn dùng cho việc thiết kế API cho các ứng dụng Web để quản lý các nguồn tài nguyên trên server.

RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để giao tiếp giữa ứng dụng trên các nền tảng web, mobile,. REST hoạt động chủ yếu vào giao thức HTTP như: • GET: Trả về một tài nguyên hoặc một danh sách các tài nguyên • POST: Tạo một tài nguyên mới • PUT: Cập nhật thông tin cho một tài nguyên • DELETE: Xóa một tài nguyên Tất cả các lần gửi yêu cầu đều là stateless, việc kết nối nhưng không lưu lại dữ liệu từ yêu cầu trên server. Mỗi một yêu cầu đều độc lập với nhau. Khi chúng ta gửi một yêu cầu HTTP nào đó thường sẽ có một số status code để nhận biết: • 200 - OK - Trả về thành công • 201 - CREATED - Trả về khi một tài nguyên được tạo thành công • 204 - NO CONTENT - Trả về khi xóa tài nguyên thành công • 400 - BAD REQUEST - Yêu cầu không không hợp lệ • 401 - UNAUTHORIZED - Yêu cầu cần được xác thực 5 CHƯƠNG 2.

KIẾN THỨC NỀN TẢNG • 403 - FORBIDDEN - Yêu cầu bị từ chối, không cho phép thực hiện • 404 - NOT FOUND - Không tìm thấy tài nguyên từ URI • 405 - METHOD NOT ALLOWED - Phương thức không cho phép với user hiện tại Việc sử dụng RESTful API cần có một tài liệu ghi lại cấu trúc API. Mỗi một API cần được miêu tả đầy đủ về biến được gửi, kiểu dữ liệu, bắt buộc gửi giá trị nào đó hay không, đưa ra một cấu trúc dữ liệu ban đầu.3 JSON Web Token JSON Web Token (JWT) [5] là một tiêu chuẩn mở định nghĩa một cách ngắn gọn và khép kín để truyền dẫn thông tin giữa hai bên client và server được định dạng bằng JSON. Chuỗi JWT gồm 3 thành phần là header, payload, signature và được ngăn cách nhau bằng dấu chấm (“. Do đó, một chuỗi JWT có dạng như sau: header.signature Header Phần header thường chứa hai phần là kiểu dữ liệu (giá trị thường là JWT) và thuật toán sử dụng để mã hóa chuỗi như HMAC SHA256 hoặc RSA.

Ví dụ: { "alg": " HS256 ", "typ": "JWT" } Phần header trong ví dụ sẽ được mã hóa Base64Url tạo thành phần đầu tiên của chuỗi JWT. Payload Phần payload chứa thông tin muốn đặt trong chuỗi như tên đăng nhập (username), id của người dùng (user id), tên người dùng,. Ví dụ: { " username ": " ngtrongtrung ", " user_id ": 1, "name": " Trong Trung ", " admin ": true } Phần payload trong ví dụ sẽ được mã hóa Base64Url tạo thành phần thứ hai của chuỗi JWT. KIẾN THỨC NỀN TẢNG Signature Phần signature sẽ được tạo ra bằng cách mã hóa phần header và payload kèm theo một chuỗi được gọi là secret (khóa bí mật).

Thuật toán để mã hóa được mô tả ở phần header. Ví dụ: Từ hai ví dụ trong phần header và payload, phần signature được tạo bằng cách HMACSHA256 ( base64UrlEncode ( header ) + "." + base64UrlEncode ( payload ),secret ) Phần signature trong ví dụ tạo thành phần thứ ba của chuỗi JWT. Từ 3 ví dụ, với phần secret là "trongtrung", ta thu được một chuỗi JWT như sau: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im5ndHJvbmd0cnVuZyIsInVzZXJf aWQiOjEsIm5hbWUiOiJUcm9uZyBUcnVuZyIsImFkbWluIjp0cnVlfQ.iz8cFT9_rYboTj_C0Gw4SeQ9oQ k4Fp0EltrhFej_j5c Khi nào cần sử dụng JWT? • Xác thực (Authorization): Đây là trường hợp phổ biến nhất thường sử dụng JWT. Khi người dùng đã đăng nhập, những request tiếp theo từ phía người dùng sẽ chứa thêm mã JWT, cho phép người dùng được truy cập vào các dịch vụ, và tài nguyên mà mã token đó cho phép.

• Trao đổi thông tin: Nhờ vào phần signature của JWT, phía người nhận có thể biết được người gửi là ai. Thêm vào đó signature được tạo ra bằng việc kết hợp cả hai phần header và payload nên có thể xác định nội dung trao đổi có bị giả mạo hay không.2 Công nghệ nền tảng 2.1 Front-end ReactJS React (hay React.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ