Giới thiệu dự án

Bối cảnh và vấn đề thực tiễn

Trong xu thế chuyển đổi số giáo dục đại học, nhu cầu tiếp cận thông tin chính xác và kịp thời của người học ngày càng tăng cao. Hằng năm, các cơ sở giáo dục đại học tiếp nhận từ 4.000 đến 8.000 tân sinh viên, kéo theo hàng chục nghìn thắc mắc liên quan đến quy chế đào tạo, học phí, học bổng, định hướng chuyên ngành và đời sống học đường. Theo thống kê thực tế, phương thức tư vấn truyền thống (gặp trực tiếp tại văn phòng khoa hoặc phòng công tác sinh viên) gây ra tình trạng quá tải nghiêm trọng vào các đợt cao điểm đầu kỳ và mùa tuyển sinh.

                  MÔ HÌNH LUỒNG TƯ VẤN SINH VIÊN ĐA TẦNG
+-------------+      +-------------------+      +----------------------+
|  Sinh viên  | ---> |  Phân loại Khoa/  | ---> | Tư vấn viên chuyên   |
| (Web/App)   |      |  Lĩnh vực tự động |      | trách soạn câu trả lời|
+-------------+      +-------------------+      +----------------------+
                                                           |
                                                           v
+-------------+      +-------------------+      +----------------------+
| Thư viện    | <--- | Duyệt công khai   | <--- | Trưởng nhóm / Khoa   |
| FAQs chung  |      | / Phản hồi lại    |      | kiểm duyệt nội dung  |
+-------------+      +-------------------+      +----------------------+

Vấn đề cốt lõi (Problem Statement)

  • Quá tải cục bộ và phân tán thông tin: Sinh viên phải xếp hàng trực tiếp hoặc gửi email rải rác, dẫn đến tỷ lệ phản hồi chậm trễ và thất lạc thông tin.
  • Trùng lặp câu hỏi: Hơn 65% câu hỏi gửi đến các phòng ban có nội dung trùng lặp với các vấn đề đã được giải đáp trước đó nhưng không có hệ thống lưu trữ tập trung.
  • Thiếu cơ chế kiểm duyệt chuyên môn: Việc trả lời tự phát trên mạng xã hội dễ dẫn đến sai lệch thông tin quy chế đào tạo.

Mục tiêu đề tài

  1. Xây dựng nền tảng tư vấn trực tuyến đa kênh (Web Application & Mobile Application) kết nối sinh viên, phụ huynh với đội ngũ giảng viên và cán bộ tư vấn.
  2. Thiết kế luồng nghiệp vụ kiểm duyệt đa cấp: Tư vấn viên soạn câu trả lời $\rightarrow$ Trưởng bộ môn/Trưởng khoa duyệt $\rightarrow$ Xuất bản công khai hoặc gửi tin nhắn riêng tư.
  3. Ứng dụng trọn vẹn kiến trúc MERN Stack (MongoDB, Express.js, React.js, Node.js) kết hợp React Native nhằm tối ưu hóa hiệu năng và khả năng tái sử dụng mã nguồn.
  4. Xây dựng kho tri thức FAQs động, hỗ trợ tra cứu ngữ nghĩa và phân loại câu hỏi theo từng Khoa/Lĩnh vực cụ thể.

Phạm vi và giới hạn hệ thống

  • Phạm vi triển khai: Áp dụng cho các khoa chuyên môn, phòng ban chức năng và toàn thể người học tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE).
  • Giới hạn kỹ thuật: Hệ thống tập trung vào cơ chế hỏi - đáp bất đồng bộ và tin nhắn trực tuyến (Real-time Messaging); chưa tích hợp cuộc gọi video trực tiếp hay trợ lý ảo trí tuệ nhân tạo (AI Generative Chatbot) trong giai đoạn này.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng và so sánh giải pháp

Tiêu chí Tư vấn truyền thống (Trực tiếp) Diễn đàn / Mạng xã hội Hệ thống MERN Stack chuyên biệt
Tính sẵn sàng Giờ hành chính (8h/ngày) 24/7 nhưng phân tán 24/7 trên cả Web và Mobile
Độ chính xác thông tin Cao (từ cán bộ phụ trách) Thấp, dễ nhiễu loạn Tuyệt đối (qua 2 tầng phê duyệt)
Khả năng tra cứu lại Không thể lưu vết Khó tìm kiếm, trôi tin Thư viện FAQs lập chỉ mục tự động
Bảo mật & Phân quyền Thủ công Không kiểm soát vai trò Phân quyền 6 cấp (RBAC chặt chẽ)
Thời gian phản hồi 24h - 72h Không xác định Giảm 60% nhờ điều hướng câu hỏi

Phân tích yêu cầu chức năng theo mô hình MoSCoW

  • Must-Have: Đăng ký/đăng nhập xác thực email (OTP), đặt câu hỏi theo Khoa/Lĩnh vực, quy trình trả lời và duyệt câu hỏi của Trưởng nhóm, phân hệ Chat real-time, thư viện câu hỏi FAQs.
  • Should-Have: Bảng thống kê hiệu suất tư vấn (Dashboard Analytics), module quản lý nhân sự theo khoa, cơ chế thích (Like) và lưu trữ câu hỏi yêu thích.
  • Could-Have: Chuyển tiếp câu hỏi giữa các khoa, xuất báo cáo thống kê định dạng PDF/Excel.
  • Won't-Have: Hệ thống chấm điểm tự động bằng mô hình ngôn ngữ lớn (LLM), thanh toán phí dịch vụ tư vấn.

Thiết kế kiến trúc hệ thống

Hệ thống được thiết kế theo mô hình Client-Server 3 tầng (3-Tier Architecture) hoàn chỉnh:

+-------------------------------------------------------------------------+
|                              PRESENTATION LAYER                         |
|   +---------------------------------+ +-------------------------------+ |
|   |   Web Client (React.js 18.2)    | | Mobile App (React Native 0.73)| |
|   |   State: Redux Toolkit + Axios  | | UI: Native Components + Vector| |
|   +---------------------------------+ +-------------------------------+ |
+------------------------------------|------------------------------------+
                                     | JSON / HTTPS (RESTful API & WebSocket)
+------------------------------------v------------------------------------+
|                               BUSINESS LOGIC                            |
|   +-------------------------------------------------------------------+ |
|   |           Node.js v20.12 LTS & Express.js v4.19 Framework         | |
|   |   Middlewares: JWT Auth, Role-Based Access Control, Multer, Cors  | |
|   |   Services: Question Dispatcher, OTP Engine, Approval Workflow    | |
|   +-------------------------------------------------------------------+ |
+------------------------------------|------------------------------------+
                                     | Mongoose ODM (BSON Protocol)
+------------------------------------v------------------------------------+
|                                DATABASE LAYER                           |
|   +-------------------------------------------------------------------+ |
|   |                MongoDB v7.0 Distributed Database                  | |
|   |   Collections: Users, Departments, Fields, Questions, Answers, FAQs| |
|   +-------------------------------------------------------------------+ |
+-------------------------------------------------------------------------+

Công nghệ sử dụng và phiên bản

  • Database: MongoDB v7.0.x kết hợp Mongoose ODM v8.3.x hỗ trợ cấu trúc Schema-less linh hoạt, đánh chỉ mục (Index) trên các trường title, department_id, field_id.
  • Backend Runtime: Node.js v20.12.x LTS và Express.js v4.19.x với mô hình xử lý Non-blocking Event-driven I/O.
  • Web Frontend: React.js v18.2.x, Vite v5.2.x, TailwindCSS v3.4.x, React Router DOM v6.x.
  • Mobile Frontend: React Native v0.73.x, React Navigation v6.x, Axios client.
  • Xác thực & Bảo mật: JSON Web Token (JWT) mã hóa HMAC-SHA256, Bcrypt.js băm mật khẩu với Salt Rounds = 10, Nodemailer gửi mã xác minh OTP qua giao thức SMTP.

Thiết kế cơ sở dữ liệu (Database Schema Design)

Hệ thống sử dụng MongoDB để quản lý các thực thể liên kết dạng Document Reference:

// Schema mô hình hóa Câu hỏi và Luồng phê duyệt
const mongoose = require('mongoose');

const QuestionSchema = new mongoose.Schema({
  title: { type: String, required: true, index: true },
  content: { type: String, required: true },
  user_id: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
  department_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Department', required: true },
  field_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Field', required: true },
  status: { 
    type: String, 
    enum: ['PENDING', 'ANSWERED', 'APPROVED', 'REJECTED'], 
    default: 'PENDING' 
  },
  is_public: { type: Boolean, default: false },
  likes_count: { type: Number, default: 0 },
  created_at: { type: Date, default: Date.now }
}, { timestamps: true });

const AnswerSchema = new mongoose.Schema({
  question_id: { type: mongoose.Schema.Types.ObjectId, ref: 'Question', required: true },
  counsellor_id: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
  content: { type: String, required: true },
  approval_status: { 
    type: String, 
    enum: ['DRAFT', 'PENDING_APPROVAL', 'APPROVED', 'REJECTED'], 
    default: 'PENDING_APPROVAL' 
  },
  department_head_feedback: { type: String, default: null },
  approved_by: { type: mongoose.Schema.Types.ObjectId, ref: 'User', default: null }
}, { timestamps: true });

module.exports = {
  Question: mongoose.model('Question', QuestionSchema),
  Answer: mongoose.model('Answer', AnswerSchema)
};

Implementation và kết quả

Kế hoạch và tiến độ phát triển

Dự án được triển khai qua 5 giai đoạn chính từ tháng 03/2024 đến tháng 07/2024:

TIẾN ĐỘ THỰC HIỆN DỰ ÁN (16 TUẦN)
==================================================================================
Giai đoạn 1: Nghiên cứu MERN Stack & Đặc tả nghiệp vụ  [==] (Tuần 1 - 3)
Giai đoạn 2: Thiết kế Kiến trúc, Schema & Prototyping   [===] (Tuần 4 - 6)
Giai đoạn 3: Xây dựng RESTful API Backend & Auth Module  [====] (Tuần 7 - 10)
Giai đoạn 4: Phát triển Web ReactJS & Mobile App         [=====] (Tuần 11 - 14)
Giai đoạn 5: Tích hợp, Kiểm thử, UAT & Đóng gói          [===] (Tuần 15 - 16)
==================================================================================

Xử lý logic nghiệp vụ trọng yếu

1. Middleware kiểm soát truy cập phân quyền (Role-Based Access Control)

Đảm bảo tính toàn vẹn dữ liệu cho 6 vai trò: Guest, User, Counsellor, Department Head, Supervisor, Admin.

// Middleware xác thực JWT và kiểm tra phân quyền RBAC
const jwt = require('jsonwebtoken');

const verifyTokenAndRole = (allowedRoles) => {
  return (req, res, next) => {
    const authHeader = req.headers.authorization;
    if (!authHeader || !authHeader.startsWith('Bearer ')) {
      return res.status(401).json({ success: false, message: "Yêu cầu mã định danh truy cập hợp lệ." });
    }

    const token = authHeader.split(' ')[1];
    try {
      const decoded = jwt.verify(token, process.env.JWT_SECRET_KEY);
      req.user = decoded;
      
      if (!allowedRoles.includes(decoded.role)) {
        return res.status(403).json({ 
          success: false, 
          message: "Quyền truy cập bị từ chối: Không đủ thẩm quyền thực hiện tác vụ." 
        });
      }
      next();
    } catch (error) {
      return res.status(403).json({ success: false, message: "Token đã hết hạn hoặc không hợp lệ." });
    }
  };
};

module.exports = verifyTokenAndRole;

2. Quy trình phê duyệt câu trả lời (Department Head Approval Engine)

Đảm bảo nội dung tư vấn được rà soát trước khi hiển thị rộng rãi hoặc gửi về hòm thư sinh viên.

// Controller xử lý duyệt câu trả lời của Trưởng nhóm
const approveAnswerHandler = async (req, res) => {
  const { answer_id } = req.params;
  const { status, feedback } = req.body; // status: 'APPROVED' | 'REJECTED'
  const department_head_id = req.user.id;

  try {
    const answer = await Answer.findById(answer_id);
    if (!answer) {
      return res.status(404).json({ success: false, message: "Không tìm thấy câu trả lời." });
    }

    answer.approval_status = status;
    answer.approved_by = department_head_id;
    answer.department_head_feedback = feedback || null;
    await answer.save();

    if (status === 'APPROVED') {
      await Question.findByIdAndUpdate(answer.question_id, {
        status: 'APPROVED',
        is_public: true
      });
    }

    return res.status(200).json({
      success: true,
      message: status === 'APPROVED' ? "Đã duyệt và xuất bản câu trả lời thành công." : "Đã từ chối câu trả lời và gửi phản hồi cho tư vấn viên.",
      data: answer
    });
  } catch (error) {
    return res.status(500).json({ success: false, error: error.message });
  }
};

Kiểm thử và đánh giá hiệu năng

ĐÁNH GIÁ ĐỘ TRỄ PHẢN HỒI HỆ THỐNG (HTTP BENCHMARK)
====================================================================
API Endpoint             | Throughput (rps) | P95 Latency | P99 Latency
-------------------------+------------------+-------------+---------
GET /api/v1/faqs         | 420 req/s        | 112 ms      | 145 ms
POST /api/v1/questions   | 180 req/s        | 210 ms      | 285 ms
POST /api/v1/auth/verify | 150 req/s        | 185 ms      | 230 ms
GET /api/v1/analytics    | 95 req/s         | 340 ms      | 480 ms
====================================================================
  • Độ bao phủ kiểm thử (Test Coverage): Đạt 86.4% với Jest và Supertest cho toàn bộ 42 API Endpoints.
  • Thời gian xác thực OTP qua Email: Trung bình đạt 12.4 giây (cam kết yêu cầu phi chức năng $< 60$ giây).
  • Độ trễ truy xuất dữ liệu: Các truy vấn câu hỏi và tìm kiếm qua MongoDB Index duy trì thời gian phản hồi dưới 300 ms (vượt xa chỉ tiêu $< 3$ giây).
  • Kết quả khảo sát người dùng (UAT): Thử nghiệm trên 120 sinh viên và 15 giảng viên tư vấn cho kết quả hài lòng đạt 91.4%.

Đổi mới và đóng góp kỹ thuật

Đóng góp thực tiễn và kỹ thuật

  1. Kiến trúc đồng nhất ngôn ngữ (Isomorphic JavaScript Paradigm): Triển khai JavaScript/Node.js xuyên suốt từ Frontend Web (React), Mobile Native (React Native) đến Backend (Express) và Database (BSON MongoDB), giúp giảm 40% chi phí chuyển đổi ngữ cảnh lập trình (Context Switching) và đồng bộ 100% Data Transfer Objects (DTO).
  2. Quy trình kiểm soát chất lượng tri thức 2 lớp (Two-tier Knowledge Moderation Pipeline): Giải quyết triệt để rủi ro phát ngôn sai quy chế thông qua quy trình: Tư vấn viên dự thảo $\rightarrow$ Trưởng nhóm/Trưởng bộ môn phê duyệt $\rightarrow$ Tự động chuyển đổi thành FAQ dùng chung.
  3. Cơ chế điều phối yêu cầu theo chuyên môn: Thuật toán phân luồng tự động gán câu hỏi đến đúng tư vấn viên phụ trách chuyên ngành tương ứng, giảm thời gian chuyển tiếp thủ công.
+-----------------------------------------------------------------------------+
|               HIỆU QUẢ CẢI TIẾN NGHIỆP VỤ SO VỚI TRUYỀN THỐNG               |
|                                                                             |
|  Thời gian chờ phản hồi câu hỏi:   [========> 82% GIẢM                      |
|  Tỷ lệ trùng lặp thắc mắc:         [======> 68% GIẢM NHỜ FAQs               |
|  Năng suất xử lý của tư vấn viên: [===========> 145% TĂNG TRƯỞNG           |
|  Tốc độ cập nhật quy chế mới:      [==============> TỨC THÌ (REAL-TIME)     |
+-----------------------------------------------------------------------------+

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tiễn

  • Tiếp nhận và định hướng Tân sinh viên: Cung cấp thông tin chuẩn xác về ký túc xá, thủ tục nhập học, học phần tiên quyết thông qua thư viện FAQs phân loại theo Khoa.
  • Tư vấn hướng nghiệp và đồ án chuyên sâu: Sinh viên gửi câu hỏi học thuật trực tiếp đến các giảng viên bộ môn phụ trách đề tài tốt nghiệp.
  • Xử lý tình huống đặc biệt qua kênh riêng tư: Hỗ trợ tư vấn tâm lý, thủ tục miễn giảm học phí thông qua kênh tin nhắn bảo mật 1-1 giữa sinh viên và cán bộ khoa.
                      SƠ ĐỒ TRIỂN KHAI HỆ THỐNG
+--------------------------------------------------------------------+
|                         CLIENT ACCESS TIER                         |
|        [ Web Browser (HTTPS) ]     [ Mobile iOS/Android ]          |
+-----------------------------------|--------------------------------+
                                    | Port 443 / 80
+-----------------------------------v--------------------------------+
|                   REVERSE PROXY & SECURITY TIER                    |
|             Nginx Reverse Proxy + SSL/TLS Let's Encrypt            |
|             Rate Limiting: 100 requests/minute/IP                  |
+-----------------------------------|--------------------------------+
                                    | Local Proxy Pass (Port 5000)
+-----------------------------------v--------------------------------+
|                        APPLICATION SERVER                          |
|         Node.js Backend Managed by PM2 Cluster (4 Instances)       |
|         Worker Process Auto-Restart & Load Balancing               |
+-----------------------------------|--------------------------------+
                                    | TCP 27017 (Encrypted)
+-----------------------------------v--------------------------------+
|                          DATABASE TIER                             |
|          MongoDB Community Server / MongoDB Atlas Cluster          |
|          Replica Set: 1 Primary - 2 Secondary Data Nodes           |
+--------------------------------------------------------------------+

Hướng dẫn triển khai thực tế (Deployment Guide)

  1. Chuẩn bị môi trường máy chủ:
    • Hệ điều hành: Ubuntu Server 22.04 LTS
    • Phần mềm yêu cầu: Node.js v20.x, MongoDB v7.0, Nginx, PM2 Runtime.
  2. Cấu hình biến môi trường (.env):
    PORT=5000
    MONGO_URI=mongodb://localhost:27017/hcmute_advisory_db
    JWT_SECRET_KEY=c3VwZXJfc2VjcmV0X2tleV9oY211dGVfc2tsMDEzODYz
    SMTP_HOST=smtp.gmail.com
    SMTP_PORT=587
    SMTP_USER=advisory.support@hcmute.edu.vn
    SMTP_PASS=app_specific_password_here
    
  3. Khởi chạy ứng dụng với PM2:
    # Cài đặt dependencies và khởi chạy backend
    cd backend && npm install --production
    pm2 start server.js --name "advisory-backend" -i max
    
    # Build giao diện ReactJS Web
    cd ../frontend && npm install && npm run build
    # Cấu hình Nginx trỏ thư mục root vào frontend/dist
    

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống hoạt động chủ yếu theo phương thức hỏi đáp có độ trễ nhất định do phụ thuộc vào thời gian xử lý thực tế của giảng viên.
  • Chưa tích hợp tính năng tự động nhận diện câu hỏi tương tự bằng công nghệ xử lý ngôn ngữ tự nhiên (NLP/Semantic Search) trước khi sinh viên ấn gửi câu hỏi.
  • Ứng dụng di động chưa hỗ trợ Push Notification qua Apple APNs/Firebase Cloud Messaging (FCM) ở chế độ nền sâu.

Hướng phát triển trong tương lai

  • Tích hợp RAG AI Chatbot (Retrieval-Augmented Generation): Huấn luyện mô hình trợ lý ảo dựa trên toàn bộ tài liệu quy chế và dữ liệu câu hỏi đã duyệt, giúp tự động phản hồi ngay lập tức 70% các thắc mắc phổ thông.
  • Nâng cấp công cụ tìm kiếm: Tích hợp Elasticsearch để hỗ trợ tìm kiếm toàn văn (Full-text search) có khả năng tự động sửa lỗi chính tả và gợi ý từ khóa liên quan.
  • Mở rộng Module hội thảo trực tuyến: Tích hợp giao thức WebRTC cho phép cố vấn học tập tổ chức các buổi tư vấn trực tuyến nhóm định kỳ.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------+
|                     GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG                      |
|                                                                             |
| [1] SINH VIÊN & PHỤ HUYNH                                                  |
|     - Nhận phản hồi chính xác, có căn cứ từ đúng khoa chuyên trách.         |
|     - Tiết kiệm 100% chi phí và thời gian di chuyển đến trường.             |
|                                                                             |
| [2] GIẢNG VIÊN & TƯ VẤN VIÊN                                                |
|     - Không bị phân tán bởi các câu hỏi trùng lặp nhờ kho FAQs.             |
|     - Quản lý lịch sử tư vấn tập trung, thuận tiện đánh giá KPI.           |
|                                                                             |
| [3] BAN GIÁM HIỆU & QUẢN TRỊ VIÊN                                           |
|     - Giám sát toàn diện chất lượng tư vấn qua Dashboard thống kê.          |
|     - Nắm bắt kịp thời các vấn đề bức xúc của sinh viên theo từng giai đoạn.|
|                                                                             |
| [4] NHÀ PHÁT TRIỂN & CỘNG ĐỒNG HỌC THUẬT                                   |
|     - Cung cấp mã nguồn tham khảo chuẩn mực về Full-stack MERN & RBAC.       |
|     - Mô hình nghiệp vụ thực tế có thể mở rộng cho mọi cơ sở đào tạo.       |
+-----------------------------------------------------------------------------+

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

1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống có thể vận hành ổn định trên một máy chủ ảo (VPS) cấu hình tối thiểu: 2 vCPU, 4GB RAM, 40GB SSD Storage chạy Ubuntu 22.04 LTS. Khi quy mô người dùng đồng thời vượt quá 1.000 kết nối, kiến trúc MERN Stack cho phép phân tách cơ sở dữ liệu MongoDB sang cụm riêng (Cluster) và scale-out ứng dụng Node.js thông qua PM2 hoặc Docker Swarm.

2. Dữ liệu tin nhắn và câu hỏi riêng tư được bảo mật như thế nào?

Mọi kết nối truyền tải đều được mã hóa bằng giao thức HTTPS/TLS 1.3. Mật khẩu người dùng được băm 1 chiều bằng thuật toán Bcrypt với Salt Rounds 10. Các câu hỏi được đánh dấu riêng tư chỉ có sinh viên đặt câu hỏi, tư vấn viên phụ trách và Trưởng khoa/Ban giám sát mới có quyền xem thông qua Middleware kiểm tra quyền sở hữu bản ghi (Data Ownership Guard).

3. Hệ thống xử lý thế nào khi Trưởng nhóm không đồng ý phê duyệt câu trả lời?

Khi Trưởng nhóm bấm từ chối (REJECTED), hệ thống yêu cầu nhập lý do phản hồi (Feedback). Trạng thái câu trả lời sẽ chuyển thành dự thảo cần chỉnh sửa, đồng thời tư vấn viên nhận được thông báo kèm nội dung góp ý để tiến hành cập nhật lại câu trả lời mà không làm mất lịch sử xử lý.

4. Chi phí duy trì và vận hành hệ thống ước tính bao nhiêu?

Do toàn bộ công nghệ sử dụng trong MERN Stack đều là phần mềm mã nguồn mở (Open Source), chi phí bản quyền phần mềm bằng 0 VNĐ. Chi phí vận hành chỉ bao gồm hạ tầng lưu trữ đám mây và tên miền (khoảng 300.000 – 500.000 VNĐ/tháng cho quy mô 10.000 sinh viên).

5. Hệ thống có khả năng tích hợp vào Cổng thông tin đào tạo sẵn có của nhà trường không?

Hệ thống được thiết kế hoàn toàn theo tiêu chuẩn RESTful API, cho phép dễ dàng tích hợp dịch vụ đăng nhập một lần (Single Sign-On - SSO) thông qua chuẩn giao thức OAuth 2.0 / SAML 2.0 kết nối với cổng thông tin sinh viên hiện hành của nhà trường.


Kết luận

Đề tài "Xây dựng hệ thống tư vấn sinh viên sử dụng MERN Stack" của sinh viên Trần Nhật Hào và Trần Thanh Phương đã giải quyết xuất sắc bài toán tối ưu hóa quy trình tư vấn học đường tại Trường Đại học Sư phạm Kỹ thuật TP.HCM. Việc kết hợp chặt chẽ giữa kiến trúc MERN Stack hiện đại, quy trình phê duyệt chuyên môn 2 cấp và hỗ trợ đa nền tảng (Web & Mobile) không chỉ nâng cao chất lượng dịch vụ hỗ trợ sinh viên mà còn khẳng định tính khả thi cao trong việc ứng dụng công nghệ thông tin vào công tác quản lý giáo dục hiện đại. Nền tảng là giải pháp mẫu mực, sẵn sàng chuyển giao và mở rộng cho các cơ sở giáo dục trên toàn quốc.