Bối cảnh và vấn đề nghiên cứu

Trong quản lý tổ chức giáo dục nói chung và các trung tâm đào tạo ngoại ngữ nói riêng, công tác vận hành giữ vai trò cốt lõi đối với sự ổn định và phát triển của đơn vị. Thực tiễn hoạt động tại các trung tâm Anh ngữ cho thấy sự gia tăng liên tục về quy mô nhân sự (giảng viên, nhân viên tư vấn, bộ phận hỗ trợ) cùng số lượng học viên theo học khiến khối lượng thông tin cần xử lý ngày một lớn. Việc duy trì phương thức quản lý thủ công truyền thống bộc lộ nhiều điểm nghẽn: dễ phát sinh sai sót trong lưu trữ và đối soát dữ liệu, chậm trễ trong việc nhận diện các khó khăn vận hành, đồng thời dẫn đến những sai lệch về số liệu thống kê thu chi và doanh thu định kỳ.

Trước yêu cầu chuyển đổi số công tác hành chính đào tạo, đề tài "Xây dựng website quản lý trung tâm Anh ngữ sử dụng MEAN Stack" được thực hiện nhằm xây dựng một hệ thống phần mềm web hoàn chỉnh, hỗ trợ quản lý dữ liệu tập trung, theo dõi các chỉ số tài chính - học viên và tối ưu hóa quy trình tương tác giữa trung tâm với người học.

Nhiệm vụ nghiên cứu và thực hiện đề tài được xác định theo văn bản giao nhiệm vụ gồm các phần cụ thể sau:

  1. Nội dung lý thuyết:
    • Tìm hiểu, nghiên cứu và áp dụng nền tảng công nghệ MEAN Stack vào phát triển hệ thống.
    • Nghiên cứu cơ chế vận hành và phương thức xây dựng giao diện lập trình ứng dụng RESTful API.
  2. Nội dung thực hành:
    • Khảo sát và phân tích các quy trình nghiệp vụ, chức năng vận hành thực tế của các mô hình trung tâm Anh ngữ.
    • Phân tích yêu cầu, thiết kế và xây dựng các khối chức năng quản lý cốt lõi cho trang quản trị trung tâm.
  3. Sản phẩm bàn giao:
    • Trang quản lý thông tin trung tâm Anh ngữ (dành cho người quản trị, giảng viên và nhân viên).
    • Trang giao diện tương tác người dùng công cộng (cho phép học viên xem thông tin, đăng ký và tương tác với các khóa học).
    • Hệ thống các API xử lý logic nghiệp vụ và tích hợp dịch vụ phụ trợ.
  • Đối tượng nghiên cứu: Quy trình quản lý đào tạo, hành chính, tài chính tại trung tâm Anh ngữ; mô hình kiến trúc ứng dụng web Full-stack trên nền tảng JavaScript (MEAN Stack) kết hợp các dịch vụ bên thứ ba (Momo, Google Drive, reCAPTCHA, Google Mail).
  • Phạm vi nghiên cứu:
    • Không gian: Đề tài được triển khai trong khuôn khổ Đồ án tốt nghiệp ngành Công nghệ thông tin, Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh; mô hình nghiệp vụ tập trung vào hoạt động của các trung tâm đào tạo tiếng Anh.
    • Thời gian thực hiện: Từ ngày 24/02/2020 đến ngày 01/07/2020 (khóa học 2016 – 2020).

Cơ sở lý thuyết và phương pháp

Đồ án ứng dụng bộ giải pháp công nghệ MEAN Stack nhằm đồng bộ hóa ngôn ngữ lập trình JavaScript trên toàn bộ các tầng kiến trúc từ giao diện người dùng, logic máy chủ cho đến cơ sở dữ liệu.

Thành phần kiến trúc / Dịch vụ Tên công nghệ / Thư viện Phiên bản theo văn bản Vai trò kỹ thuật trong hệ thống
Nền tảng thực thi máy chủ NodeJS 10.4 Môi trường JavaScript Runtime xây dựng trên V8 engine của Chrome, đảm nhiệm xử lý bất đồng bộ các kết nối API
Khung ứng dụng máy chủ ExpressJS (Không ghi số hiệu) Framework của NodeJS, định tuyến HTTP request và quản lý middleware
Thư viện phân tích dữ liệu body-parser V1.2 Middleware hỗ trợ trích xuất dữ liệu từ body của HTTP request gửi lên server
Cơ sở dữ liệu MongoDB (Không ghi số hiệu) Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (document), lưu trữ dữ liệu dưới định dạng JSON
Khung giao diện phía máy khách Angular (Không ghi số hiệu) Framework JavaScript xây dựng Single Page Application (SPA), hỗ trợ Two-Way Data Binding và Modular Design
Xác thực an toàn dịch vụ reCAPTCHA API V2 Dịch vụ của Google ngăn chặn phần mềm tự động (bot) và thư rác tại các biểu mẫu gửi thông tin
Dịch vụ lưu trữ tệp Google Drive API V3 Giao diện lưu trữ đám mây dùng để lưu và quản lý tập tin ảnh của hệ thống
Cổng thanh toán trực tuyến Momo Payment Platform API (Không ghi số hiệu) Xử lý thanh toán học phí qua mã QR và ứng dụng ví điện tử MoMo
Cơ chế bảo mật và trao đổi JSON Web Token (JWT) (Không ghi số hiệu) Mã hóa phiên đăng nhập và phân quyền truy cập giữa client và server
Dịch vụ thư điện tử Google Mail Server (Không ghi số hiệu) Hệ thống máy chủ của Google thực hiện gửi thông báo và tài liệu học tập qua email

Phương pháp nghiên cứu thực tế được nhóm tác giả vận dụng gồm:

  • Phương pháp nghiên cứu tài liệu kỹ thuật: Phân tích các tài liệu chuyên ngành về kiến trúc Single Page Application, cơ chế hoạt động của RESTful API, phương thức Two-Way Data Binding trong Angular và mô hình lưu trữ dạng Document của MongoDB.
  • Phương pháp phân tích và mô hình hóa hệ thống: Khảo sát các quy trình nghiệp vụ đào tạo thực tế, xác định các tác nhân (Actors) tham gia hệ thống; sử dụng chuẩn mô hình hóa Unified Modeling Language (UML) để xây dựng biểu đồ Use Case tổng quát, các Use Case chi tiết và biểu đồ tuần tự (Sequence Diagram).
  • Phương pháp phát triển phần mềm: Áp dụng mô hình phát triển phân rã chức năng (Client - API Server), phân định rõ ràng giữa tầng hiển thị và tầng dịch vụ dữ liệu.
  • Phương pháp kiểm thử phần mềm: Thiết kế và thực thi các trường hợp kiểm thử chức năng (Functional Test Cases) theo kỹ thuật hộp đen để đánh giá tính đúng đắn của các tác vụ nhập liệu, cập nhật và xác thực người dùng.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng dựa trên giao thức RESTful API. Phía máy khách (Client) bao gồm ứng dụng web công cộng dành cho khách vãng lai và ứng dụng web quản trị dành cho nhân sự nội bộ, đều được phát triển bằng Angular. Phía máy chủ (Server) do NodeJS kết hợp ExpressJS đảm nhiệm, chịu trách nhiệm thiết lập các tuyến đường HTTP (Routing), thực thi các lớp trung gian (Middleware) để phân tích yêu cầu, xác thực phiên qua JWT và truy xuất dữ liệu từ cơ sở dữ liệu MongoDB dạng JSON.

Hệ thống cơ sở dữ liệu MongoDB được cấu trúc thành các bộ sưu tập (Collections) tài liệu, trong đó hai cấu trúc dữ liệu nền tảng được mô tả chi tiết gồm:

  • Bảng Tài Khoản: Chứa thông tin nhận dạng đăng nhập, mật khẩu mã hóa và cấp độ phân quyền trong hệ thống.
  • Bảng Quản Trị: Lưu trữ chi tiết thông tin nhân sự điều hành, liên kết với tài khoản tương ứng.
  • (Các cấu trúc bảng/collection liên quan khác: Giảng viên, Học viên, Khóa học, Lớp học, Lớp học phần, Phòng học).

Hệ thống xây dựng 13 nhóm API chuyên biệt để xử lý toàn bộ các giao tiếp dữ liệu:

STT Nhóm API Chức năng nghiệp vụ cụ thể
1 API đăng nhập Xác thực tài khoản người dùng và cấp mã định danh phiên làm việc
2 API liên hệ Tiếp nhận và quản lý các thông tin phản hồi, yêu cầu hỗ trợ từ khách
3 API giảng viên Thực hiện các thao tác quản lý dữ liệu hồ sơ giảng viên
4 API danh sách lớp học Trích xuất và cập nhật danh sách học viên trong từng lớp
5 API học viên Thực hiện các thao tác quản lý dữ liệu học viên tại trung tâm
6 API khóa học Quản lý thông tin các chương trình đào tạo của trung tâm
7 API lớp học Điều phối và quản lý dữ liệu các lớp học mở theo chương trình
8 API lớp học phần Quản lý chi tiết từng đơn vị học phần và kế hoạch học tập
9 API phòng học Quản lý danh mục cơ sở vật chất và phân bổ phòng học
10 API quản trị viên Quản lý hồ sơ và quyền hạn của các tài khoản điều hành
11 API gửi mail Kết nối hệ thống gửi thư điện tử tự động đến học viên
12 API thời khóa biểu Cung cấp dữ liệu lịch giảng dạy cho giảng viên theo thời gian
13 API upload ảnh Giao tiếp Google Drive API để lưu trữ và truy xuất tệp hình ảnh

Quy trình tích hợp dịch vụ bên ngoài được chuẩn hóa thông qua các sơ đồ hoạt động:

  1. Thanh toán ví MoMo (9 bước): (1) Client gửi yêu cầu tạo thanh toán đến server hệ thống; (2) Server hệ thống gọi yêu cầu sang server MoMo; (3) Server MoMo phản hồi URL chuyển hướng; (4) Hiển thị mã QR thanh toán trên giao diện người dùng; (5, 6) Người dùng quét mã thanh toán bằng ứng dụng MoMo trên điện thoại; (7) Hệ thống chuyển hướng về trang client và gửi thông báo xác nhận đến server hệ thống; (8) Server hệ thống xử lý ghi nhận giao dịch; (9) Giao diện hiển thị kết quả thanh toán thành công cho người dùng.
  2. Lưu trữ ảnh qua Google Drive API (4 bước): (1) Client tải tệp ảnh lên máy chủ trung gian của hệ thống; (2) Server xác thực và đẩy tệp ảnh sang máy chủ lưu trữ Google Drive; (3) Máy chủ Google trả kết quả xác nhận và đường dẫn tệp về server hệ thống; (4) Server hệ thống lưu liên kết và gửi phản hồi thành công về phía client.
  3. Bảo vệ biểu mẫu bằng reCAPTCHA V2 (8 bước): Khởi tạo mã từ server Google, hiển thị khung kiểm tra trên giao diện client, gửi mã phản hồi lên server hệ thống để đối soát chéo với server Google, nhận kết quả xác nhận trước khi cho phép ghi nhận dữ liệu form vào cơ sở dữ liệu.

Môi trường triển khai bao gồm: công cụ quản trị Robo 3T dùng để kiểm tra dữ liệu MongoDB; môi trường NodeJS và trình quản lý gói NPM; framework ExpressJS đóng vai trò backend service; Angular CLI phục vụ biên dịch giao diện người dùng.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương 1 thiết lập tính cấp thiết của đề tài thông qua việc phân tích những bất cập trong quản trị thủ công tại các trung tâm ngoại ngữ có quy mô nhân sự và học viên tăng nhanh. Tác giả xác định mục tiêu xây dựng một ứng dụng web tập trung nhằm quản lý thông tin toàn diện, theo dõi biến động doanh thu, thu chi và hỗ trợ ra quyết định phát triển. Ứng dụng được thiết kế phân định thành hai không gian tương tác: phân hệ người dùng công cộng (tra cứu khóa học, đăng ký, thanh toán trực tuyến) và phân hệ quản trị nội bộ dành cho Quản trị viên, Giảng viên và Nhân viên hỗ trợ (xem thời khóa biểu, quản lý lớp học, xử lý thắc mắc, gửi thư báo).

Chương 2: Cơ sở lý thuyết

Nội dung chương này trình bày chi tiết về các công nghệ thuộc kiến trúc MEAN Stack và các dịch vụ ngoại vi. Tác giả phân tích các đặc tính kỹ thuật cốt lõi:

  • NodeJS: Nền tảng thực thi JavaScript phía máy chủ viết bằng C++, tối ưu cho các tác vụ xử lý nhanh, thời gian thực và kiến trúc RESTful API.
  • ExpressJS: Khung ứng dụng hỗ trợ tạo lập middleware, định tuyến URL dựa trên các phương thức HTTP và trả dữ liệu định dạng JSON.
  • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL lưu trữ dữ liệu dạng Document (tài liệu JSON) theo Collection (bộ sưu tập), thay thế cho bảng và dòng trong CSDL quan hệ truyền thống, giúp nâng cao tốc độ truy vấn.
  • Angular: Khung phát triển ứng dụng phía client từ Google với các tính năng: Two-Way Data Binding (đồng bộ tự động giữa View và Component Class), cơ chế Routing tải trang bất đồng bộ cho ứng dụng SPA, mở rộng cú pháp HTML và tổ chức mã nguồn theo hướng Module.
  • Các dịch vụ thứ ba: Cung cấp sơ đồ hoạt động và phương thức tích hợp của cổng thanh toán MoMo (Momo Payment Platform API), lưu trữ đám mây Google Drive (Google Drive API V3) và công cụ lọc spam reCAPTCHA V2.

Chương 3: Xác định và mô hình hóa yêu cầu

Chương 3 tiến hành khảo sát và phân loại các yêu cầu phần mềm. Tác giả xác định 4 tác nhân (Actors) vận hành trong hệ thống:

Tác nhân (Actor) Mô tả vai trò và quyền hạn
Admin (Quản trị viên) Người giữ vai trò quản lý toàn diện, theo dõi hoạt động, quản lý tài khoản, cấu hình dữ liệu và xem thống kê doanh thu
Giảng viên Cán bộ giảng dạy tại trung tâm; có quyền tra cứu thời khóa biểu cá nhân, xem danh sách học viên các lớp phụ trách và gửi thư thông báo
Nhân viên Nhân sự nghiệp vụ; tiếp nhận và giải đáp email liên hệ, theo dõi dữ liệu lớp học và thông tin học viên
Guest (Khách) Người dùng bên ngoài; xem thông tin khóa học, lớp học phần, đăng ký học, thanh toán qua ví MoMo và gửi yêu cầu tư vấn

Chương này xây dựng hệ thống biểu đồ Use Case tổng thể và 17 Use Case phân rã chức năng: đăng nhập, chăm sóc khách hàng, quản lý danh sách lớp học, quản lý giảng viên, quản lý học viên, quản lý khóa học, quản lý lớp học, quản lý lớp học phần, quản lý phòng học, quản lý quản trị viên, quản lý thông tin cá nhân, thời khóa biểu, thống kê, khóa học (dành cho khách), liên hệ, báo nghỉ và báo bù. Mỗi Use Case đều được lập bảng đặc tả chi tiết về tác nhân kích hoạt, tiền điều kiện, luồng sự kiện chính và hậu điều kiện.

Chương 4: Phân tích và thiết kế

Chương 4 chuyển hóa các yêu cầu thành mô hình kỹ thuật. Phần thiết kế cơ sở dữ liệu mô tả cấu trúc các bảng tài khoản và bảng phân quyền quản trị trong MongoDB. Về mặt thiết kế xử lý, tác giả trình bày kiến trúc tổng thể của hệ thống, thiết lập biểu đồ tuần tự (Sequence Diagram) cho các quy trình then chốt: Đăng nhập hệ thống, Đăng ký lớp học và Gửi liên hệ hỗ trợ.

Chương này công bố chi tiết đặc tả cho 13 nhóm RESTful API (từ API đăng nhập đến API upload ảnh) và thiết kế giao diện cho 18 màn hình chức năng chia thành hai phân vùng:

  • Phía khách hàng: Màn hình xem khóa học, chi tiết lớp học phần, thanh toán học phí qua MoMo, giới thiệu giảng viên, liên hệ.
  • Phía quản trị: Màn hình đăng nhập, chăm sóc khách hàng, danh sách lớp học, quản lý học viên, quản lý khóa học, quản lý lớp học phần, quản lý lớp học, quản lý giảng viên, quản lý phòng học, quản lý quản trị viên, bảng điều khiển thống kê, thông tin cá nhân và thời khóa biểu.

Chương 5: Cài đặt và kiểm thử

Chương 5 ghi lại quy trình hiện thực hóa mã nguồn và triển khai môi trường thực tế gồm: cài đặt cơ sở dữ liệu MongoDB và kết nối kiểm tra qua Robo 3T, cài đặt NodeJS, cấu hình NPM, tích hợp ExpressJS và cài đặt Angular.

Kế hoạch kiểm thử được xây dựng dựa trên phương pháp kiểm thử chức năng hộp đen. Nhóm tác giả thiết kế 4 kịch bản kiểm thử (Test Cases) chi tiết đại diện cho các nghiệp vụ cốt lõi:

  1. Đăng nhập hệ thống: Kiểm tra xác thực với các trường hợp dữ liệu hợp lệ và không hợp lệ.
  2. Thêm học viên: Kiểm tra tính hợp thức của biểu mẫu nhập thông tin học viên mới.
  3. Chỉnh sửa lớp học: Kiểm tra cập nhật thông tin phòng học, thời gian và trạng thái lớp.
  4. Chỉnh sửa thông tin cá nhân: Kiểm tra thay đổi thông tin cơ bản, mật khẩu và ảnh đại diện.

Kết quả kiểm thử được tổng hợp và ghi nhận: toàn bộ các trường hợp kiểm thử thực tế đều trả về kết quả đạt (Pass), hệ thống hoạt động đúng kịch bản thiết kế.

Chương 6: Kết luận và hướng phát triển

Chương cuối cùng tổng kết các kết quả đạt được về mặt nắm bắt kiến trúc MEAN Stack, xây dựng hoàn chỉnh hai phân hệ ứng dụng web và kết nối các dịch vụ API mở rộng. Tác giả đồng thời nêu rõ các nhược điểm kỹ thuật còn tồn đọng và đề ra các định hướng hoàn thiện trong tương lai.

Kết quả và đóng góp

Đồ án ghi nhận các kết quả cụ thể đạt được trong văn bản nghiệm thu như sau:

  • Kết quả phần mềm và chức năng:

    • Xây dựng hoàn chỉnh trang web quản lý trung tâm Anh ngữ tích hợp đầy đủ các chức năng quản lý nghiệp vụ: quản lý học viên, giảng viên, nhân sự quản trị, phòng học, khóa học, lớp học và lớp học phần.
    • Thiết lập phân hệ thống kê trực quan cho phép ban quản lý theo dõi số liệu doanh thu và số lượng học viên đăng ký theo từng giai đoạn.
    • Xây dựng cổng giao diện công cộng hỗ trợ người dùng tìm kiếm khóa học, xem chi tiết lịch học phần, tiến hành đăng ký lớp học và thanh toán học phí online thông qua cổng thanh toán ví MoMo.
    • Thiết lập cơ chế gửi thư điện tử tự động thông qua máy chủ mail của Google để thông báo lịch học, gửi tài liệu cho học viên và trả lời thắc mắc khách hàng.
    • Triển khai phân quyền truy cập chặt chẽ cho 4 nhóm tác nhân (Admin, Giảng viên, Nhân viên, Khách), bảo mật thông tin bằng cơ chế mã hóa JSON Web Token (JWT) và bảo vệ hệ thống trước tấn công tự động bằng reCAPTCHA V2.
    • Ứng dụng thành công Google Drive API V3 vào việc lưu trữ và phân phối tệp tin hình ảnh của toàn hệ thống.
  • Đóng góp của đồ án theo tự đánh giá của tác giả:

    • Tin học hóa thành công quy trình quản lý hành chính đào tạo của trung tâm tiếng Anh, thay thế phương thức quản lý thủ công rời rạc trước đây.
    • Giúp chủ trung tâm có cái nhìn tổng thể về định hướng phát triển, kiểm soát chính xác số liệu doanh thu và học viên, hạn chế các sai sót tác nghiệp, đồng thời tiết kiệm đáng kể thời gian và chi phí vận hành.
    • Chứng minh tính khả thi và hiệu quả của việc ứng dụng trọn vẹn bộ công nghệ MEAN Stack vào bài toán xây dựng phần mềm quản lý doanh nghiệp giáo dục vừa và nhỏ.

Hạn chế và hướng nghiên cứu tiếp

Căn cứ theo nội dung tự đánh giá tại Chương 6 của văn bản, các hạn chế và hướng phát triển được xác định cụ thể:

  • Hạn chế của đề tài:

    • Các chức năng quản lý được cài đặt chủ yếu đáp ứng các nghiệp vụ cơ bản của trung tâm, chưa bao quát được toàn bộ các nghiệp vụ phát sinh phức tạp trong thực tế (như quản lý bảng điểm chi tiết, điểm danh tự động, quản lý lương giảng viên).
    • Khả năng vận hành của một số chức năng (thanh toán, lưu ảnh, gửi mail) phụ thuộc trực tiếp vào tính ổn định và kết nối mạng của các dịch vụ bên thứ ba (MoMo, Google Drive, Gmail).
    • Quy trình kiểm thử mới tập trung vào các ca kiểm thử chức năng đơn lẻ trên một số màn hình chính, chưa thực hiện kiểm thử tải (Load Testing), kiểm thử hiệu năng và kiểm thử bảo mật nâng cao.
  • Hướng phát triển tiếp theo:

    • Nghiên cứu và bổ sung các phân hệ nghiệp vụ đào tạo chuyên sâu: chức năng quản lý điểm số, theo dõi chuyên cần, đánh giá kết quả học tập của học viên trực tuyến.
    • Mở rộng phương thức thanh toán học phí trực tuyến, tích hợp thêm các cổng thanh toán ngân hàng nội địa và thẻ quốc tế bên cạnh ví MoMo.
    • Tối ưu hóa giao diện ứng dụng để tương thích tốt hơn trên các thiết bị di động (phát triển Mobile Application hoặc Responsive Web).
    • Xây dựng thêm các thuật toán tự động hóa hỗ trợ xếp lịch giảng dạy, tối ưu hóa việc phân bổ phòng học và đề xuất giảng viên thông minh.

Giá trị tham khảo

Đồ án tốt nghiệp này mang lại giá trị tham khảo học thuật và ứng dụng thực tiễn cho các đối tượng:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo thực tế về cấu trúc một đồ án tốt nghiệp công nghệ web chuẩn mực, từ khâu khảo sát, mô hình hóa Use Case, phân tích cơ sở dữ liệu NoSQL, thiết kế RESTful API đến cài đặt và kiểm thử.
  • Lập trình viên nghiên cứu bộ công nghệ MEAN Stack: Cung cấp mô hình tham chiếu rõ ràng về việc phối hợp giữa Angular ở tầng Front-end và NodeJS/ExpressJS/MongoDB ở tầng Back-end trong một ứng dụng Single Page Application.
  • Người phát triển ứng dụng tích hợp dịch vụ bên thứ ba: Phần sơ đồ quy trình và các bước xử lý tích hợp MoMo Payment Platform API (9 bước), Google Drive API V3 (4 bước) và Google reCAPTCHA V2 (8 bước) tại Chương 2 và Chương 4 là các tài liệu kỹ thuật có tính ứng dụng cao cho các dự án thương mại điện tử và dịch vụ công.

Câu hỏi thường gặp

1. Đồ án sử dụng các công nghệ nào trong bộ giải pháp MEAN Stack và phiên bản cụ thể được ghi nhận là bao nhiêu?
Hệ thống sử dụng MongoDB làm cơ sở dữ liệu hướng tài liệu, ExpressJS làm khung máy chủ web, Angular làm framework xây dựng giao diện Single Page Application và NodeJS phiên bản 10.4 làm môi trường chạy máy chủ. Ngoài ra, hệ thống sử dụng thư viện body-parser phiên bản V1.2.

2. Quy trình thanh toán học phí qua ví điện tử MoMo trên hệ thống diễn ra theo các bước nào?
Quy trình gồm 9 bước: (1) Client yêu cầu thanh toán tới server; (2) Server hệ thống gửi yêu cầu tới server MoMo; (3) Server MoMo trả về URL chuyển hướng; (4) Hệ thống hiển thị mã QR thanh toán; (5, 6) Khách hàng quét mã QR qua ứng dụng MoMo; (7) Chuyển hướng về website client và gửi thông báo tới server hệ thống; (8) Server hệ thống xử lý kết quả giao dịch; (9) Hiển thị thông báo kết quả hoàn tất cho người dùng.

3. Hệ thống phân chia quyền hạn cho những tác nhân nào và quyền của từng tác nhân được quy định ra sao?
Hệ thống phân chia thành 4 tác nhân:

  • Admin: Toàn quyền quản trị hệ thống, quản lý tài khoản quản trị viên, giảng viên, học viên, phòng học, khóa học, lớp học, xem thống kê doanh thu và báo nghỉ/bù.
  • Giảng viên: Xem thời khóa biểu cá nhân, xem danh sách học viên trong các lớp đảm nhận, gửi thư thông báo và quản lý thông tin cá nhân.
  • Nhân viên: Tiếp nhận liên hệ khách hàng, quản lý danh sách lớp học, quản lý thông tin học viên và hỗ trợ giải đáp thắc mắc.
  • Guest (Khách): Xem khóa học, xem chi tiết lớp học phần, đăng ký lớp học, thanh toán học phí qua MoMo và gửi thư yêu cầu tư vấn.

4. Dữ liệu hình ảnh của hệ thống được lưu trữ và quản lý bằng giải pháp nào?
Toàn bộ tệp tin hình ảnh của hệ thống không lưu trữ trực tiếp trên máy chủ cục bộ mà được tích hợp lưu trữ đám mây thông qua Google Drive API phiên bản V3. Khi người dùng tải ảnh lên, máy chủ trung gian tiếp nhận, gửi xác thực và đẩy tệp lên thư mục lưu trữ chuyên dụng trên Google Drive, sau đó lưu lại đường dẫn định danh để hiển thị trên giao diện web.

5. Nhóm tác giả đã tiến hành kiểm thử thực tế trên những chức năng cụ thể nào?
Trong Chương 5, nhóm tác giả xây dựng kịch bản kiểm thử hộp đen chi tiết cho 4 chức năng cốt lõi: Đăng nhập hệ thống, Thêm học viên mới, Chỉnh sửa thông tin lớp học và Chỉnh sửa thông tin cá nhân. Cả 4 trường hợp kiểm thử này đều đạt kết quả thành công theo dữ liệu nghiệm thu của đồ án.

Kết luận

Đồ án tốt nghiệp "Xây dựng website quản lý trung tâm Anh ngữ sử dụng MEAN Stack" của sinh viên Trần Viết Bảo và Đoàn Văn Hiệp đã hoàn thành trọn vẹn mục tiêu tin học hóa quy trình quản lý hành chính và đào tạo cho trung tâm ngoại ngữ. Nhóm tác giả đã làm chủ và ứng dụng đồng bộ kiến trúc MEAN Stack cùng giao tiếp RESTful API, đồng thời tích hợp thành công các tiện ích ngoại vi quan trọng như thanh toán ví MoMo, lưu trữ đám mây Google Drive và xác thực bảo mật reCAPTCHA. Sản phẩm phần mềm cung cấp hai phân hệ tương tác riêng biệt, đáp ứng các yêu cầu nghiệp vụ thực tế của đơn vị đào tạo và tạo dựng cơ sở kỹ thuật vững chắc cho các nghiên cứu nâng cấp tính năng quản trị chuyên sâu trong tương lai.