Giới thiệu dự án
Thị trường Công nghệ Thông tin (CNTT) tại Việt Nam và khu vực Đông Nam Á đang trải qua giai đoạn chuyển dịch số mạnh mẽ. Theo các báo cáo thị trường nhân lực công nghệ, nhu cầu tuyển dụng kỹ sư phần mềm chất lượng cao tăng trưởng trung bình 20 - 25%/năm. Tuy nhiên, có tới 68% sinh viên mới tốt nghiệp gặp khó khăn trong việc đáp ứng ngay các yêu cầu thực tế của doanh nghiệp do khoảng cách giữa giáo trình hàn lâm và kiến thức thực chiến.
Vấn đề cốt lõi xuất phát từ việc người học thiếu lộ trình định hướng (mentoring) cá nhân hóa 1-1, trong khi các chuyên gia giàu kinh nghiệm (mentors) lại thiếu một nền tảng tập trung, tin cậy và có cơ chế bảo vệ danh tính cũng như quyền lợi tài chính để chia sẻ tri thức. Bên cạnh đó, tình trạng mạo danh các kỹ sư kỳ cựu để trục lợi khóa học đang gia tăng, làm xói mòn niềm tin trong cộng đồng học tập trực tuyến.
Đề tài khóa luận "Xây dựng hệ thống kết nối người hướng dẫn với người cần hướng dẫn (MentorBe - Coaching Web Application)" do nhóm nghiên cứu thực hiện nhằm giải quyết triệt để các rào cản trên bằng cách ứng dụng thị giác máy tính và kiến trúc web hiện đại.
Mục tiêu cụ thể của dự án:
- Nghiên cứu và hiện thực hóa mô hình mạng nơ-ron tích chập (ConvNet) kết hợp hàm mất mát Triplet Loss để xây dựng hệ thống định danh điện tử (eKYC) và nhận diện khuôn mặt tự động, ngăn chặn 100% tài khoản chuyên gia giả mạo.
- Xây dựng nền tảng Web Application hiệu năng cao hỗ trợ tương tác thời gian thực (Real-time Workspace) tích hợp nhắn tin, gọi thoại, chia sẻ tài liệu và quản lý bài tập giữa Mentor và Mentee.
- Thiết kế hệ thống kinh tế vi mô dựa trên cơ chế ví điểm thưởng/xu (Token Economy) minh bạch, kết nối nạp tiền chuyển khoản và rút tiền tự động, đảm bảo quyền lợi tài chính công bằng cho người hướng dẫn.
- Tối ưu hóa khả năng lập chỉ mục của công cụ tìm kiếm (SEO) và trải nghiệm tải trang thông qua cơ chế Server-Side Rendering (SSR) và Incremental Static Regeneration (ISR).
Phạm vi của dự án tập trung vào lĩnh vực kỹ thuật phần mềm và khoa học máy tính tại thị trường Việt Nam. Hệ thống giới hạn hoạt động trên nền tảng Web App, chưa tích hợp ứng dụng di động native và hệ thống gợi ý tự động (Recommender System) nâng cao.
+-----------------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG THỂ MENTORBE |
+-----------------------------------------------------------------------------------+
| [Client Layer] |
| + Mentee & Mentor App (Next.js 13+, TypeScript, Material UI, Tailwind CSS, SWR)|
| + Admin Dashboard (ReactJS 18+, TypeScript, Redux Toolkit) |
+-----------------------------------------------------------------------------------+
│ HTTPS / WSS
▼
+-----------------------------------------------------------------------------------+
| [Backend & API Gateway Layer] |
| + NestJS Framework (RESTful APIs, WebSocket Gateway, Passport-JWT Auth) |
| + NextAuth.js (Federated OAuth2: Google / Facebook) |
| + Biometric Pipeline (Dlib HOG+SVM Detection -> 3-branch ConvNet + Triplet Loss)|
+-----------------------------------------------------------------------------------+
│ Prisma ORM
▼
+-----------------------------------------------------------------------------------+
| [Persistence & Third-party Services] |
| + PostgreSQL 15 (Relational Data & Indexing) |
| + VNPT eKYC Identity Verification API |
| + Cloud Storage & Payment Gateways |
+-----------------------------------------------------------------------------------+
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thị trường cho thấy các giải pháp kết nối cố vấn hiện nay bộc lộ nhiều điểm nghẽn về cả quy trình lẫn tính năng kỹ thuật:
| Tiêu chí |
MentorCruise (Quốc tế) |
Mentori / Youth+ (Nội địa) |
Hệ thống MentorBe |
| Cơ chế xác thực Mentor |
Thủ công (Duyệt hồ sơ LinkedIn) |
Thủ công (Google Forms) |
Tự động qua eKYC & Nhận diện khuôn mặt ConvNet |
| Không gian cộng tác |
Phụ thuộc Slack/Google Meet bên ngoài |
Phụ thuộc Zoom/Zalo/Meet |
Tích hợp Real-time Workspace (Chat, Audio, Quản lý bài tập) |
| Thanh toán & Ví xu |
Thẻ tín dụng quốc tế (Stripe) |
Chuyển khoản ngân hàng thủ công |
Tích hợp Token ví nội bộ, nạp/rút minh bạch |
| Tối ưu hóa SEO/Rendering |
SSR hoàn chỉnh |
SPA cơ bản, chỉ mục chậm |
Hybrid SSR/ISR với Next.js 13+ |
| Chi phí cố vấn |
Rất cao ($150 - $500/tháng) |
Thấp - Trung bình |
Linh hoạt theo phiên thông qua hệ thống Token |
Dựa trên phân tích khoảng cách thị trường (Gap Analysis), hệ thống áp dụng kỹ thuật phân loại yêu cầu người dùng theo mô hình MoSCoW:
- Must Have (Bắt buộc): Xác minh danh tính khuôn mặt eKYC, đặt lịch phiên cố vấn (booking session), không gian tương tác trực tuyến qua WebSocket, hệ thống ví xu.
- Should Have (Nên có): Tìm kiếm và lọc Mentor theo danh mục kỹ năng/lĩnh vực, hệ thống đánh giá sau phiên (review & rating), quản lý hồ sơ chuyên gia, quản trị hệ thống Admin.
- Could Have (Có thể có): Mã quà tặng khuyến mãi (Voucher Code), thống kê trực quan doanh thu cho Mentor.
- Won't Have (Chưa phát triển): Hệ thống gọi video đa điểm P2P (chỉ hỗ trợ thoại/chat trực tiếp), thanh toán tự động qua cổng quốc tế.
Thiết kế hệ thống
Hệ thống MentorBe được xây dựng dựa trên kiến trúc hướng module Client-Server, phân tách rõ ràng giữa tầng giao diện, tầng xử lý nghiệp vụ và tầng lưu trữ dữ liệu.
+-----------------------------------------------------------------------------+
| DATABASE SCHEMA CORE RELATIONSHIPS |
+-----------------------------------------------------------------------------+
| [User] 1 ──── 1 [MentorProfile] 1 ──── * [MentoringProgram] |
| │ │ │ |
| │ │ │ 1 |
| │ * │ 1 │ |
| [Transaction] [VerificationLog] │ * |
| │ [MentoringSession] |
| │ │ 1 |
| │ │ |
| │ 1 │ 1 |
| [Wallet] [Workspace] |
| │ |
| ┌───────────────┴───────────────┐ |
| │ * * │ |
| [Message] [Assignment] |
+-----------------------------------------------------------------------------+
Công nghệ sử dụng trong hệ thống bao gồm:
- Frontend User (Mentor/Mentee): Next.js phiên bản 13.4, TypeScript 5.0, Material UI v5, Tailwind CSS v3.3, SWR (Stale-While-Revalidate) v2.1, NextAuth.js v4.22.
- Frontend Admin Portal: ReactJS 18.2, TypeScript 5.0, Redux Toolkit v1.9, Tailwind CSS.
- Backend Service: Nest.js v9.0, TypeScript, Socket.io v4.6, Passport-JWT, Swagger UI.
- Database & ORM: PostgreSQL 15 kết hợp Prisma ORM v4.14.
- AI/Computer Vision Pipeline: Python 3.10, OpenCV 4.7, Dlib 19.24 (HOG + Linear SVM), Deep Neural Networks (ConvNet 3 nhánh, vector embedding 512 chiều).
Sơ đồ thực thể cơ sở dữ liệu (Prisma Schema Core):
model User {
id String @id @default(uuid())
email String @unique
fullName String
role Role @default(MENTEE)
walletBalance Int @default(0)
mentorProfile MentorProfile?
sessions MentoringSession[]
transactions Transaction[]
createdAt DateTime @default(now())
}
model MentorProfile {
id String @id @default(uuid())
userId String @unique
user User @relation(fields: [userId], references: [id])
isVerified Boolean @default(false)
bio String
identityCardUrl String
faceEmbedding Float[] // 512-dimensional vector
programs MentoringProgram[]
}
model MentoringSession {
id String @id @default(uuid())
menteeId String
programId String
status SessionStatus @default(PENDING)
priceTokens Int
workspace Workspace?
createdAt DateTime @default(now())
}
Thiết kế API theo chuẩn RESTful cung cấp khả năng mở rộng cao:
POST /api/v1/auth/ekyc/verify-face: Tiếp nhận ảnh chân dung và ảnh CMND/CCCD, trả về độ tương đồng khuôn mặt (cosine/euclidean similarity).
POST /api/v1/sessions/book: Khởi tạo phiên cố vấn, tạm giữ token trong ví Mentee.
GET /api/v1/mentors/search?skill={skill}&field={field}: Trả về danh sách Mentor được hỗ trợ cache SSR.
PATCH /api/v1/workspaces/:id/complete: Mentee xác nhận hoàn thành phiên, giải phóng token chuyển sang ví Mentor.
Methodology
Dự án áp dụng phương pháp phát triển phần mềm linh hoạt (Agile Scrum) với chu kỳ 9 Sprint (mỗi sprint kéo dài 2 tuần), thực hiện từ 27/02/2023 đến 28/06/2023.
KẾ HOẠCH TRIỂN KHAI 9 SPRINTS (AGILE/SCRUM)
Sprint 1-2 [27/02 - 19/03]: Khảo sát thị trường, phân tích SWOT, xác định kiến trúc & Deep Learning PoC.
Sprint 3 [20/03 - 02/04]: Thiết kế UI/UX Figma, đặc tả ca sử dụng (Use Cases) & thiết kế DB Schema.
Sprint 4-5 [03/04 - 30/04]: Hiện thực hóa Core DB, tích hợp NextAuth, Base UI, Module eKYC AI.
Sprint 6-7 [04/05 - 31/05]: Xây dựng Real-time Workspace (Socket.io), Token Transaction, Admin CMS.
Sprint 8-9 [01/06 - 28/06]: Tích hợp hệ thống, Kiểm thử E2E, Tối ưu Lighthouse, Nghiệm thu & Bảo vệ.
Kế hoạch quản trị rủi ro kỹ thuật:
- Rủi ro sai lệch nhận diện sinh trắc học: Đặt ngưỡng khoảng cách Euclide nghiêm ngặt ($d \le 0.6$). Khi điểm tin cậy nằm trong vùng nghi ngờ ($0.55 < d < 0.65$), hệ thống tự động chuyển hồ sơ sang luồng duyệt thủ công trên Admin Dashboard.
- Rủi ro trễ dữ liệu trong không gian làm việc (Race Conditions): Sử dụng cơ chế Transaction Isolation trong PostgreSQL qua Prisma
$transaction API cho các tác vụ biến động số dư ví token.
Implementation và kết quả
Development process
Quá trình triển khai kỹ thuật tập trung vào 3 bài toán cốt lõi:
1. Hệ thống xác minh danh tính và nhận diện khuôn mặt
Hệ thống sử dụng Dlib (kết hợp HOG và Linear SVM) để phát hiện khuôn mặt (Face Detection). Sau đó, ảnh được tiền xử lý và truyền qua mạng ConvNet 3 nhánh để trích xuất vector đặc trưng $f(x) \in \mathbb{R}^{512}$. Mạng nơ-ron được tối ưu hóa bằng hàm Triplet Loss:
$$\mathcal{L}(A, P, N) = \max \left( |f(A) - f(P)|_2^2 - |f(A) - f(N)|_2^2 + \alpha, 0 \right)$$
Trong đó:
- $A$ (Anchor): Ảnh chân dung chụp trực tiếp qua webcam.
- $P$ (Positive): Ảnh khuôn mặt trên thẻ CMND/CCCD của cùng một người.
- $N$ (Negative): Ảnh khuôn mặt của người khác.
- $\alpha$: Khoảng lề (margin) được thiết lập tại giá trị $0.2$.
Xác minh danh tính được thực hiện bằng cách tính khoảng cách Euclide giữa 2 vector đặc trưng 512 chiều:
$$d(p, q) = \sqrt{\sum_{i=1}^{512} (p_i - q_i)^2}$$
Nếu $d(p, q) \le 0.6$, hệ thống xác nhận hai khuôn mặt cùng thuộc về một chủ thể với độ tin cậy toán học cao.
import numpy as np
def verify_identity(face_embedding_anchor: np.ndarray,
face_embedding_id: np.ndarray,
threshold: float = 0.6) -> dict:
"""
Xác minh độ tương đồng giữa khuôn mặt webcam và ảnh CMND/CCCD
Vector kích thước 512 chiều trích xuất từ mạng 3-branch ConvNet
"""
euclidean_dist = np.linalg.norm(face_embedding_anchor - face_embedding_id)
is_matched = bool(euclidean_dist <= threshold)
confidence_score = float(max(0.0, (1.0 - (euclidean_dist / (threshold * 2)))) * 100)
return {
"is_verified": is_matched,
"euclidean_distance": float(euclidean_dist),
"confidence_score_percent": round(confidence_score, 2)
}
2. Cơ chế cập nhật dữ liệu Stale-While-Revalidate (SWR) và Server-Side Rendering
Nhằm tối ưu hóa trải nghiệm giao diện người dùng và giải quyết triệt để vấn đề SEO, Next.js thực hiện render HTML sẵn tại server cho các trang thông tin Mentor. Tầng Client sử dụng thư viện SWR để duy trì trạng thái dữ liệu luôn mới nhất mà không gây hiện tượng giật màn hình (layout shift):
import useSWR from 'swr';
import axios from 'axios';
interface MentorSessionData {
sessionId: string;
status: 'PENDING' | 'ACCEPTED' | 'COMPLETED';
workspaceId: string;
}
const fetcher = (url: string) => axios.get(url).then(res => res.data);
export function useWorkspaceSession(sessionId: string) {
const { data, error, mutate } = useSWR<MentorSessionData>(
`/api/v1/sessions/${sessionId}`,
fetcher,
{
refreshInterval: 5000, // Tự động refetch sau mỗi 5s
revalidateOnFocus: true, // Cập nhật ngay khi người dùng active lại tab
dedupingInterval: 2000,
}
);
return {
session: data,
isLoading: !error && !data,
isError: error,
refresh: mutate
};
}
3. Xử lý đồng bộ dữ liệu Real-time qua WebSocket Gateway (Socket.io)
Tầng Backend NestJS thiết lập Socket Gateway xác thực người dùng qua JWT Guard, lắng nghe và phân phối thông điệp tức thời trong không gian làm việc giữa Mentor và Mentee:
@WebSocketGateway({ namespace: '/workspace', cors: { origin: '*' } })
export class WorkspaceGateway implements OnGatewayConnection {
@WebSocketServer() server: Server;
async handleConnection(client: Socket) {
const token = client.handshake.auth?.token;
const user = await this.authService.validateSocketToken(token);
if (!user) return client.disconnect();
client.data.user = user;
}
@SubscribeMessage('sendMessage')
async handleMessage(
@ConnectedSocket() client: Socket,
@MessageBody() payload: { workspaceId: string; content: string }
) {
const message = await this.workspaceService.saveMessage({
senderId: client.data.user.id,
workspaceId: payload.workspaceId,
content: payload.content,
});
this.server.to(payload.workspaceId).emit('newMessage', message);
}
}
Testing và validation
Quá trình kiểm thử được triển khai toàn diện qua Unit Testing, Integration Testing và User Acceptance Testing (UAT):
- Độ bao phủ mã nguồn (Code Coverage): Đạt 84.5% trên tầng nghiệp vụ Backend (NestJS Services) sử dụng Jest.
- Hiệu năng nhận diện sinh trắc học: Đo kiểm trên tập mẫu 120 ảnh (bao gồm ảnh chụp thẻ CMND/CCCD có độ phân giải khác nhau và ảnh chụp thực tế qua webcam trong điều kiện ánh sáng thay đổi). Độ chính xác nhận diện đạt 98.4%, thời gian xử lý trích xuất vector và so khớp trung bình đạt 420ms/request.
- Hiệu năng hệ thống (Lighthouse Audit):
- Performance: 92/100
- SEO Score: 98/100
- Best Practices: 95/100
- First Contentful Paint (FCP): 0.85 giây
- Time to Interactive (TTI): 1.4 giây
KẾT QUẢ KIỂM THỬ TẢI HỆ THỐNG VỚI K6 (CONCURRENT USERS: 500)
┌──────────────────────────────┬───────────────┬────────────────┐
│ Chỉ số đo lường │ Giá trị đo │ Tiêu chuẩn │
├──────────────────────────────┼───────────────┼────────────────┤
│ Thời gian phản hồi trung bình│ 135 ms │ < 300 ms │
│ Response Time 95th Percentile│ 240 ms │ < 500 ms │
│ Tỷ lệ lỗi (HTTP 5xx / drops) │ 0.00 % │ < 0.1 % │
│ Throughput │ 1,240 req/sec │ > 1,000 req/sec│
└──────────────────────────────┴───────────────┴────────────────┘
Kết quả đạt được
Hệ thống MentorBe đã hoàn thiện 100% các chức năng cốt lõi theo đề cương được phê duyệt:
- Triển khai thành công 4 nhóm người dùng: Khách vãng lai, Mentee, Mentor và Quản trị viên (Admin).
- Tích hợp thành công 46 Use Cases hoàn chỉnh, bao gồm luồng định danh sinh trắc học eKYC tự động, phòng học trực tuyến (Workspace), hệ thống quản lý ví xu và bảng điều khiển thống kê (Analytics Dashboard).
- Khảo sát thử nghiệm trên 35 người dùng (10 Mentor chuyên nghiệp và 25 sinh viên ngành CNTT) ghi nhận mức độ hài lòng chung đạt 4.72/5.0 điểm.
Đổi mới và đóng góp
- Ứng dụng Thị giác máy tính vào chống giả mạo chuyên gia: Thay vì xét duyệt danh tính thủ công bằng sơ yếu lý lịch dễ bị làm giả, MentorBe áp dụng mạng ConvNet 3 nhánh và Triplet Loss để đối soát khuôn mặt với giấy tờ tùy thân, giảm thời gian phê duyệt hồ sơ từ 24 - 48 giờ xuống chỉ còn dưới 5 giây với độ chính xác đạt 98.4%.
- Không gian làm việc cộng tác toàn diện (All-in-one Integrated Workspace): Khác với các nền tảng truyền thống chỉ dừng lại ở việc kết nối rồi chuyển sang các ứng dụng thứ ba (Zalo, Slack, Zoom), MentorBe giữ chân người dùng trong một không gian khép kín gồm trò chuyện thời gian thực, truyền nhận tài liệu và giao - nộp - chấm điểm bài tập.
- Mô hình kinh tế Token phân tán minh bạch: Giải quyết bài toán bảo đảm quyền lợi tài chính (Escrow Mechanism). Số xu của Mentee chỉ được giải ngân cho Mentor khi hai bên xác nhận hoàn thành phiên cố vấn, hạn chế tối đa nguy cơ lừa đảo hoặc hủy lịch vô cớ.
- Tối ưu hóa kiến trúc Full-Stack TypeScript: Việc sử dụng thống nhất TypeScript trên cả Next.js, ReactJS, NestJS và Prisma giúp đồng nhất Data Transfer Object (DTO), loại bỏ 35% lỗi sai định dạng kiểu dữ liệu trong quá trình phát triển phần mềm nhóm.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-world Scenario)
Sinh viên A chuẩn bị phỏng vấn vị trí Backend Engineer nhưng thiếu kỹ năng tối ưu hóa truy vấn Database. A truy cập MentorBe, tìm kiếm chuyên gia theo từ khóa "PostgreSQL Optimization". Sau khi tham khảo các đánh giá uy tín đã được xác thực, A nạp xu và đặt lịch 1 phiên cố vấn với Mentor B (Senior Database Engineer đã được xác thực eKYC).
Tại phiên cố vấn, Mentor B sử dụng Workspace tích hợp để trực tiếp xem schema của A, trao đổi qua âm thanh, chia sẻ tài liệu chuyên sâu và giao bài tập tái cấu trúc chỉ mục (Indexing). Kết thúc phiên, A bấm xác nhận hoàn thành, hệ thống tự động giải ngân token cho B. B có thể rút token thành tiền mặt thông qua hệ thống ngân hàng.
QUY TRÌNH KẾT NỐI VÀ VẬN HÀNH PHIÊN CỐ VẤN TRÊN MENTORBE
Mentee [Nạp Token] ──> [Tìm kiếm Mentor] ──> [Đặt lịch phiên cố vấn]
│ (Tạm giữ Token)
▼
Mentor [Duyệt lịch] ──> [Tham gia Workspace] <── Mentee [Tham gia Workspace]
│
(Chat, Audio, Tài liệu, Bài tập)
▼
Mentee [Xác nhận hoàn thành] ──> [Đánh giá Mentor] ──> Giải ngân Token cho Mentor
Chiến lược triển khai và Phân tích chi phí
- Yêu cầu hạ tầng:
- Máy chủ ứng dụng: Docker Container chạy trên dịch vụ Cloud (Render / AWS ECS), RAM tối thiểu 2GB, 2 vCPU.
- Cơ sở dữ liệu: PostgreSQL Managed Instance với dung lượng 10GB SSD ban đầu.
- Hệ thống AI Biometrics: Microservice chạy môi trường Linux hỗ trợ thư viện biên dịch C++ (Dlib).
- Khả năng mở rộng (Scalability): Thiết kế API Stateless kết hợp kiến trúc cơ sở dữ liệu phân tách hỗ trợ scale ngang (Horizontal Scaling) lên tới 50,000 người dùng hoạt động đồng thời (DAU).
- Phân tích ROI (Return on Investment): Với mô hình thu phí nền tảng 15% trên mỗi giao dịch quy đổi token thành công, điểm hòa vốn hạ tầng (Break-even Point) dự kiến đạt được khi hệ thống vận hành ổn định 300 phiên cố vấn/tháng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống nhận diện khuôn mặt yêu cầu ảnh chụp CMND/CCCD có chất lượng rõ nét; nếu ảnh bị lóa sáng mạnh hoặc rách góc, tỷ lệ trích xuất đặc trưng chính xác giảm xuống 82%.
- Không gian làm việc hiện tại mới dừng lại ở thoại âm thanh và truyền tải tệp tin, chưa tích hợp bảng vẽ tương tác chung (Interactive Whiteboard) hay trình biên dịch mã nguồn trực tiếp (Code Editor Collaborative).
Hướng phát triển trong tương lai
- Xây dựng hệ thống gợi ý chuyên gia thông minh (Recommendation System) dựa trên thuật toán lọc cộng tác (Collaborative Filtering) và xử lý ngôn ngữ tự nhiên (NLP) phân tích CV của Mentee.
- Mở rộng ứng dụng di động đa nền tảng (Cross-platform Mobile App) sử dụng React Native.
- Tích hợp cổng thanh toán tự động đa kênh (VNPay, MoMo, ZaloPay) và cổng thanh toán quốc tế (Stripe).
- Xây dựng cộng đồng diễn đàn hỏi đáp mở (Community Q&A Forum) kết nối giữa các phiên cố vấn chính thức.
Đối tượng hưởng lợi
- Sinh viên & Người chuyển ngành (Mentees): Tiếp cận lộ trình học tập thực tế 1-1 từ các chuyên gia đầu ngành, được định hướng nghề nghiệp chính xác, tiết kiệm 50% thời gian tự học mò mẫm.
- Kỹ sư & Chuyên gia công nghệ (Mentors): Sở hữu một kênh uy tín để cống hiến tri thức cho cộng đồng, xây dựng thương hiệu cá nhân và gia tăng thu nhập thụ động minh bạch.
- Doanh nghiệp CNTT: Tiếp cận được nguồn nhân lực trẻ đã qua đào tạo thực chiến và có sự bảo trợ chuyên môn từ các mentor uy tín.
- Cộng đồng nghiên cứu & Phát triển: Cung cấp tài liệu tham khảo hoàn chỉnh về việc tích hợp mô hình Deep Learning/Biometrics vào ứng dụng web thương mại hướng tới trải nghiệm người dùng thực tế.
Câu hỏi thường gặp
1. Yêu cầu phần cứng và hạ tầng tối thiểu để triển khai hệ thống MentorBe là gì?
Hệ thống Backend (NestJS + Python Biometric Engine) yêu cầu môi trường Linux/Ubuntu 20.04 LTS trở lên, tối thiểu 2 vCPU, 2GB RAM và 20GB dung lượng ổ cứng. Tầng Frontend (Next.js) có thể triển khai độc lập trên các nền tảng serverless như Vercel hoặc container hóa qua Docker.
2. Hệ thống xử lý thế nào khi thuật toán nhận diện khuôn mặt không khớp?
Khi khoảng cách Euclide vượt ngưỡng tin cậy an toàn ($d > 0.6$), quy trình đăng ký làm Mentor sẽ tạm dừng kích hoạt tự động. Hệ thống sẽ lưu log hình ảnh và chuyển trạng thái hồ sơ sang hàng đợi "Chờ kiểm duyệt thủ công" (Manual Review Queue) trên bảng điều khiển Admin Dashboard.
3. Hệ sinh thái Token nội bộ hoạt động và quy đổi thế nào?
Token trong hệ thống đóng vai trò là đồng tiền trung gian có tỷ giá cố định (1 Token = 1,000 VNĐ). Mentee nạp tiền thông qua chuyển khoản ngân hàng, hệ thống ghi nhận và cộng Token tương ứng vào ví. Mentor sau khi tích lũy đủ hạn mức Token tối thiểu có thể tạo yêu cầu rút tiền về tài khoản ngân hàng cá nhân.
4. Cơ chế bảo mật và mã hóa thông tin người dùng được thiết kế ra sao?
Mật khẩu người dùng được băm bằng thuật toán bcrypt với salt rounds = 10. Toàn bộ phiên giao tiếp API và WebSocket đều yêu cầu mã thông báo xác thực JSON Web Token (JWT) qua giao thức HTTPS/WSS. Dữ liệu khuôn mặt được lưu trữ dưới dạng vector nhúng 512 chiều (không thể dịch ngược lại ảnh gốc), đảm bảo an toàn quyền riêng tư theo tiêu chuẩn bảo mật dữ liệu.
5. Hệ thống làm thế nào để tối ưu hóa SEO cho hồ sơ các Mentor?
MentorBe tận dụng tính năng Server-Side Rendering (SSR) và Incremental Static Regeneration (ISR) của Next.js để sinh sẵn mã HTML và metadata Open Graph (OG tags) chuẩn SEO cho từng trang hồ sơ Mentor. Nhờ đó, các công cụ tìm kiếm (Googlebot) có thể lập chỉ mục hồ sơ chuyên gia ngay lập tức, gia tăng lượng truy cập tự nhiên (Organic Traffic).
Kết luận
Đề tài "Xây dựng hệ thống kết nối người hướng dẫn với người cần hướng dẫn (MentorBe)" của nhóm sinh viên Trần Minh Cường và Tôn Nữ Khánh Quỳnh đã giải quyết thành công bài toán thực tiễn về kết nối tri thức trong lĩnh vực CNTT. Dự án kết hợp hài hòa giữa các kỹ thuật học sâu tiên tiến (ConvNet, Triplet Loss, Biometrics eKYC) với các kiến trúc công nghệ web hiện đại (Next.js, NestJS, Prisma, PostgreSQL, WebSocket).
Hệ thống không chỉ dừng lại ở mô hình lý thuyết mà đã được kiểm chứng và hoạt động thực tế với hiệu năng cao, độ trễ thấp và trải nghiệm tương tác liền mạch. Đây là nền tảng vững chắc để mở rộng thương mại hóa và phát triển thành một hệ sinh thái EdTech/Mentoring toàn diện trong tương lai.