:::info Phạm vi Thời gian: 3 tháng | Mục tiêu: LLL & CPD (Life-Long Learning & Continuous Professional Development) Tạo ra giá trị học tập suốt đời và kết nối tri thức đa thế hệ. :::

Tổng quan các bảng

#NhómTên bảngMô tả
1Đào tạot_huca_training_programsChương trình đào tạo
2Đào tạot_huca_program_registrationsĐăng ký chương trình
3Đào tạot_huca_certificatesChứng chỉ số
4Cố vấnt_huca_mentorsHồ sơ Mentor
5Cố vấnt_huca_mentorship_matchesGhép cặp Mentor-Mentee
6Cố vấnt_huca_mentorship_appointmentsLịch hẹn cố vấn
7Thit_huca_exam_banksNgân hàng đề thi
8Thit_huca_examsKỳ thi trực tuyến
9Thit_huca_exam_questionsCâu hỏi thi
10Thit_huca_exam_submissionsBài thi nộp
11Gamet_huca_pointsĐiểm thưởng
12Gamet_huca_badgesHuy hiệu số
13Gamet_huca_user_badgesHuy hiệu của người dùng
14Gamet_huca_leaderboardsBảng xếp hạng

1. Cổng Học tập Suốt đời (LLL Portal)

t_huca_training_programs

ProgramType  NVARCHAR(50) NOT NULL:
    -- Master      → Thạc sĩ
    -- PhD         → Tiến sĩ
    -- Certificate → Chứng chỉ hành nghề
    -- ShortCourse → Khóa ngắn hạn
    -- Workshop    → Hội thảo thực hành
    -- Seminar     → Hội thảo chuyên đề
Ví dụ chứng chỉ hành nghề của HUCE:
  • Định giá xây dựng
  • Chỉ huy trưởng công trình
  • Giám sát thi công
  • Thiết kế kết cấu

t_huca_program_registrations

Vòng đời đăng ký:
Pending → Approved → Completed
        ↘ Rejected

Approved → Withdrawn  (CSV hủy đăng ký)

t_huca_certificates

Chứng chỉ số với xác thực bằng QR:
CertificateCode  NVARCHAR(50) UNIQUE,   -- Mã duy nhất: "HUCA-2026-001234"
QrVerifyUrl      NVARCHAR(500),         -- URL: https://huca.vn/verify?code=HUCA-2026-001234
FileUrl          NVARCHAR(500),         -- PDF chứng chỉ có chữ ký số
:::tip Xác thực chứng chỉ Doanh nghiệp hoặc bên thứ ba có thể scan QR hoặc nhập CertificateCode tại trang xác thực để kiểm tra tính hợp lệ mà không cần tài khoản HUCA. :::

2. Cố vấn Nghề nghiệp (Mentorship)

Luồng Mentorship hoàn chỉnh

[CSV đăng ký Mentor]
    → Điền t_huca_mentors (chuyên môn, dịch vụ cung cấp)
    → IsAvailable = true

[Mentee tìm Mentor]
    → Hệ thống Smart Matching theo ngành, lĩnh vực
    → Insert t_huca_mentorship_matches (Status = 'Pending')
    → Mentor xác nhận (Status = 'Active')

[Cố vấn diễn ra]
    → Đặt lịch hẹn: t_huca_mentorship_appointments
    → Gặp Online/InPerson

[Kết thúc]
    → Status = 'Completed'
    → Mentor feedback, Mentee feedback, Rating (1-5)

t_huca_mentors

Dịch vụ cố vấn có thể cung cấp:
TrườngMô tả
OfferCvReviewGóp ý CV
OfferMockInterviewPhỏng vấn thử
OfferCareerAdviceTư vấn định hướng nghề nghiệp
OfferJobReferralGiới thiệu việc làm

Smart Matching

Hệ thống gợi ý ghép cặp dựa trên:
Mentor.Expertise LIKE Mentee.WorkField
AND Mentor.FacultyId = Mentee.FacultyId     -- cùng ngành
AND Mentor.IsAvailable = 1
AND Mentor.CurrentMentees < Mentor.MaxMentees
ORDER BY Mentor.YearsOfExperience DESC, Rating DESC

t_huca_mentorship_appointments

MeetingType   NVARCHAR(20):  Online, InPerson
Status        NVARCHAR(20):  Scheduled, Completed, Cancelled, NoShow

3. Thi tuyển dụng trực tuyến

Kiến trúc hệ thống thi

t_huca_exam_banks (Ngân hàng đề)
    ↓ (có thể dùng chung hoặc tạo riêng)
t_huca_exams (Kỳ thi)

t_huca_exam_questions (Câu hỏi)

t_huca_exam_submissions (Bài làm của thí sinh)

t_huca_exams — Cấu hình thi

ShuffleQuestions  BIT DEFAULT 1,    -- Xáo trộn thứ tự câu hỏi
DetectTabSwitch   BIT DEFAULT 1,    -- Phát hiện chuyển tab
RecordBehavior    BIT DEFAULT 1,    -- Ghi nhận hành vi bất thường
MaxAttempts       INT DEFAULT 1,    -- Số lần thi tối đa
DurationMinutes   INT NOT NULL,     -- Thời gian làm bài
PassingScore      DECIMAL(5,2),     -- Điểm đạt (%)

t_huca_exam_questions

QuestionType  NVARCHAR(20):  MultipleChoice, TrueFalse, Essay
OptionsJson   NVARCHAR(MAX): '[{"key":"A","text":"..."},{"key":"B","text":"..."}]'
CorrectAnswer NVARCHAR(500): "A"  -- hoặc "True", hoặc keywords

t_huca_exam_submissions — Chống gian lận

TabSwitchCount  INT DEFAULT 0,      -- Số lần chuyển tab
BehaviorFlags   NVARCHAR(500),      -- JSON: hành vi bất thường
-- Ví dụ BehaviorFlags:
-- '{"tabSwitch":[{"time":"10:05:23"},{"time":"10:08:11"}],"copyPaste":true}'
Luồng làm bài:
Thí sinh bắt đầu → StartedAt ghi nhận
    → Hệ thống giám sát TabSwitch, CopyPaste
    → Thí sinh nộp bài → SubmittedAt ghi nhận
    → Chấm điểm tự động (MultipleChoice, TrueFalse)
    → Tính ScorePercent, IsPassed
    → Status = 'Graded'

4. Trò chơi hóa (Gamification)

Hệ thống tích điểm

t_huca_points

Mỗi hành động tích cực tạo 1 bản ghi điểm:
ActionĐiểmMô tả
ProfileComplete+50Hoàn thiện 100% hồ sơ
EventAttend+20Tham gia 1 sự kiện
Mentoring+100Hoàn thành 1 phiên cố vấn
Donation+30Đóng góp quỹ
ExamPass+50Vượt qua kỳ thi
CourseComplete+80Hoàn thành khóa học
Tổng điểm = SUM(Points) GROUP BY UserId → lưu vào t_huca_leaderboards.TotalPoints.

t_huca_badges — Huy hiệu số

CodeTênĐiều kiện
PROFILE_COMPLETEHồ sơ hoàn chỉnhPoints >= 50, tự động
ACTIVE_PARTICIPANTNgười tham gia tích cựcPoints >= 200, tự động
LIFELONG_LEARNERNgười học suốt đờiPoints >= 300, tự động
TOP_CONTRIBUTORTop ContributorPoints >= 1000, tự động
MENTOR_OUTSTANDINGMentor Tiêu biểuDo Admin trao
GOLD_DONORNhà tài trợ VàngDo Admin trao
SILVER_DONORNhà tài trợ BạcDo Admin trao

t_huca_leaderboards

Bảng xếp hạng phân loại đa chiều:
Period      VARCHAR(10):   Monthly, Yearly, AllTime
PeriodValue VARCHAR(20):   "2026-01", "2026", "all"
FacultyId   INT,           -- Xếp hạng trong Khoa
AcademicYearId INT,        -- Xếp hạng trong Khóa
Truy vấn Top 10 toàn thời gian:
SELECT u.FullName, u.AvatarUrl, l.TotalPoints, l.Rank
FROM t_huca_leaderboards l
JOIN t_huca_users u ON u.Id = l.UserId
WHERE l.Period = 'AllTime' AND l.PeriodValue = 'all'
ORDER BY l.TotalPoints DESC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;