QuiNC Design System · FVC-Exam v1.0
FVC-Exam
Wireframe Blueprint
Toàn bộ thiết kế giao diện, luồng nghiệp vụ và lược đồ cơ sở dữ liệu cho hệ thống quản lý kỳ thi thăng cấp đai Vovinam — tối ưu cho FPT Vovinam Club.
13
Màn hình thiết kế
4
Luồng nghiệp vụ
12
Bảng DB schema
4
Vai trò người dùng
01 — Auth
Login & Authentication
F
FVC-Exam
Quản lý kỳ thi thăng đai Vovinam
Email / Tài khoản
btc@fvcexam.vn
Mật khẩu
••••••••••
Đăng nhập
Quên mật khẩu?
02 — Admin / BTC
Dashboard & Management
Tổng quan · FVC-2026-06
147
Võ sinh đăng ký
113
Đã đóng lệ phí
8
Thảm đấu
6
CLB tham dự
Tiến độ chấm điểm
ĐANG CHẤM
100 / 147 võ sinh đã được chấm điểm (68%)
Khóa điểm
Export báo cáo
Publish kết quả
Danh sách kỳ thi
Kỳ thi thăng cấp đai T6/2026
ĐANG CHẤM
FVC-2026-06 · 22/06/2026 · 147 võ sinh
Kỳ thi thăng cấp đai T12/2025
ĐÃ PUBLISH
FVC-2025-12 · 20/12/2025 · 203 võ sinh
Kỳ thi thăng cấp đai T6/2027
NHÁP
FVC-2027-06 · TBD · Chưa có võ sinh
| SBD | Họ tên | CLB | Cấp thi |
|---|---|---|---|
Sơ đồ thảm · 8 thảm · 147 võ sinh
THẢM 1 · Tự Vệ
TV-001
TV-002
TV-003
TV-004
THẢM 2 · Tự Vệ
TV-005
TV-006
TV-007
TV-008
THẢM 3 · Lam Đai
LD-001
LD-002
LD-003
LD-004
THẢM 4 · Lam Đai/3
LD-005
LD1-001
LD1-002
LD1-003
Highlight = SBD đang được tra cứu · Bấm ô để xem chi tiết
03 — Examiner
Chấm điểm (Mobile-first)
9:41
FVC-EXAM
Giám khảo ▾
Tìm võ sinh
Nhập SBD hoặc quét mã QR
LD-001
✕
Quét mã QR
Mở camera để quét thẻ võ sinh
ĐÃ TÌM THẤY
Nguyễn Minh Khôi
Lam Đai · CLB FVC · Thảm 1 Vị trí 3
Mở phiếu chấm điểm →
← Quay lại
Phiếu chấm điểm
Đã lưu
LD-001
Nguyễn Minh Khôi
Lam Đai → Lam Đai I · Nam
TIÊU CHÍ ĐƯỢC PHÂN CÔNG
GK CHẤM QUYỀN
Quyền thuật
7.5
Tác phong võ đạo
9.0
TIÊU CHÍ KHÁC (CHẤM CHÉO)
Thể lực, Đối luyện do Giám khảo khác phụ trách. Điểm số sẽ được hệ thống tự động tổng hợp chéo.
Điểm TB tiêu chí chấm
8.25
Lưu & Khóa điểm ↗
⚠ Sau khi khóa không thể chỉnh sửa
04 — Club Admin
Quản lý lệ phí CLB
ℹ Giá trị lệ phí được quản lý nội bộ. Chỉ hiển thị trạng thái đóng / chưa đóng.
| SBD | Họ và tên | Cấp thi lên | Trạng thái lệ phí | Cập nhật lúc | Toggle |
|---|---|---|---|---|---|
| LD-001 | Lam Đai I | ĐÃ ĐÓNG | 19/06 14:30 | ||
| LD-002 | Lam Đai I | CHƯA ĐÓNG | — | ||
| LD1-001 | Lam Đai II | ĐÃ ĐÓNG | 20/06 09:12 | ||
| LD1-002 | Lam Đai II | CHƯA ĐÓNG | — |
05 — Admin Review
Xem điểm & Publish kết quả
Kết quả sau Khóa điểm
LOCKED · Chưa Publish
Cấp đai ▾
CLB ▾
| SBD | Họ và tên | CLB | Cấp thi | Điểm TB (Ẩn) | Xếp hạng | Kết quả |
|---|---|---|---|---|---|---|
| LD1-001 | NEU | Lam Đai II | 8.73 | #1 | THỦ KHOA | |
| LD-001 | FVC | Lam Đai I | 7.93 | #1 | ĐẠT | |
| LD-002 | FVC | Lam Đai I | 6.41 | #2 | ĐẠT | |
| LD-003 | HUST | Lam Đai I | 4.20 | #5 | KHÔNG ĐẠT |
ĐẠT: 118 · KHÔNG ĐẠT: 22 · THỦ KHOA: 7 · Tỷ lệ: 84.3%
Hủy khóa điểm
05 — Public
Tra cứu kết quả (Không cần đăng nhập)
FVC-EXAM
Tra cứu kết quả thi
Kỳ thi thăng cấp đai · T6/2026
Họ và tên võ sinh
Nhập họ tên đầy đủ...
Ngày sinh
DD/MM/YYYY
Tra cứu kết quả
Nguyễn Minh Khôi
Lam Đai → Lam Đai I · CLB FVC
ĐẠT
Kết quả được công bố ngày 22/06/2026
FVC-EXAM
Kết quả thi
Kỳ thi thăng cấp đai · T6/2026
Trần Thị Thu Hà
Lam Đai I → Lam Đai II · CLB NEU Vovinam
THỦ KHOA
Thủ khoa cấp 4 · Kỳ thi T6/2026
Điểm chi tiết không được công bố
Phạm Quốc Đạt
Tự Vệ → Lam Đai · CLB FVC
KHÔNG ĐẠT
Tiếp tục cố gắng · Kỳ sau sẽ thành công
06 — Business Flows
4 Luồng nghiệp vụ cốt lõi (Dễ hiểu cho quản lý)
Flow 1: Nhập danh sách thi thông minh
1
BTC tải lên file Excel danh sách võ sinh thi thăng cấp
2
Hệ thống tự động đọc và kiểm tra định dạng cột Excel
3
Tự động tính cấp thi: Cấp dự thi = Cấp hiện tại + 1 cấp đai
4
Bắt lỗi logic: nhảy đai, trùng tên, hoặc đai vượt quá cấp sơ đẳng
5
Tự áp lệ phí thi: Lưu ẩn lệ phí theo cấp đai để giữ tế nhị tài chính
6
Lưu trữ an toàn: Chỉ lưu các võ sinh hợp lệ vào danh sách thi
7
Thông báo lập tức: Hiển thị số dòng thành công hoặc lỗi cho BTC
Flow 2: Tự cấp SBD & Xếp thảm đấu / Phòng thi
1
BTC kích hoạt nút "Tự động phân bổ thảm và phòng thi"
2
Gom nhóm võ sinh tự động theo cấp đai dự thi
3
Sắp xếp thứ tự theo bảng chữ cái ABC để dễ quản lý
4
Cấp SBD tự động theo tiền tố đai (Ví dụ: Tự Vệ là TV-001, Lam Đai là LD-001)
5
Chia thảm đấu / phòng lý thuyết: Phân chia đều số võ sinh vào các khu vực
6
Tạo mã QR token định danh duy nhất (in lên thẻ võ sinh)
7
Hoàn tất sơ đồ: Sẵn sàng xem trước thảm đấu và in file PDF
Flow 3: Giám khảo chấm điểm trực tiếp trên điện thoại
1
Giám khảo đăng nhập trên điện thoại cá nhân tại sân thi
2
Nhập SBD hoặc Quét mã QR trên thẻ võ sinh để chấm nhanh
3
Hệ thống kiểm tra: Nếu đã có điểm và đã khóa ➔ chuyển chỉ đọc (không cho sửa)
4
Form chấm điểm phân quyền: Chỉ hiển thị các tiêu chí được Ban tổ chức phân công chấm cho giám khảo đó (ví dụ: GK A chỉ chấm Quyền, GK B chỉ chấm Thể lực)
5
"Lưu & Khóa điểm": Giám khảo xác nhận khóa phiếu điểm sau khi nhập xong các tiêu chí của mình
6
Truyền điểm số ngay: Điểm số của từng tiêu chí tự động đồng bộ thời gian thực về máy chủ BTC
Flow 4: Khóa điểm phiên thi & Công bố kết quả
1
BTC bấm "Khóa điểm": Chuyển toàn bộ phiên thi sang chế độ hoàn tất
2
Tổng hợp chéo tiêu chí: Tính điểm trung bình của từng tiêu chí từ các giám khảo phụ trách tương ứng, sau đó tính điểm cuối cùng theo trọng số
3
Xếp hạng tự động vị trí từ cao xuống thấp của võ sinh trong nhóm đai
4
Tìm Thủ Khoa: Võ sinh xếp hạng 1 có điểm thi lớn hơn hoặc bằng điểm đạt tối thiểu
5
BTC duyệt kết quả trước khi bấm nút công bố chính thức
6
Công bố kết quả (Publish): Mở cổng tra cứu công cộng cho phụ huynh, võ sinh
7
Tra cứu võ sinh: Chỉ hiện ĐẠT/KHÔNG ĐẠT/THỦ KHOA (Ẩn điểm số & Lệ phí dự thi)
07 — Database
PostgreSQL Schema (Supabase)
Chú thích: PK = Primary Key · FK = Foreign Key · HIDDEN = Không expose API public · AUTO = Tự động tính/sinh
clubs
Tenant / CLB
idUUIDPK
nameTEXT
slugTEXT UNIQUE
logo_urlTEXT
is_activeBOOLEAN
created_atTIMESTAMPTZ
belt_ranks
Master Data
idUUIDPK
codeTEXT UNIQUE
nameTEXT
levelINT
exam_feeDECIMAL(12,2)HIDDEN
min_ageINT
sort_orderINT
exam_sessions
Kỳ thi
idUUIDPK
session_codeTEXT UNIQUE
nameTEXT
exam_dateDATE
statusTEXT (enum)
scores_locked_atTIMESTAMPTZ
published_atTIMESTAMPTZ
created_byUUIDFK→auth
candidates
Võ sinh đăng ký thi — CORE TABLE
idUUIDPK
exam_session_idUUIDFK
club_idUUIDFK
full_nameTEXT
date_of_birthDATE
genderTEXT (M/F)
current_belt_rank_idUUIDFK
target_belt_rank_idUUIDFKAUTO
registration_numberTEXT UNIQUEAUTO
mat_numberTEXTAUTO
fee_amountDECIMAL(12,2)HIDDEN
fee_paidBOOLEAN
final_statusTEXT (enum)AUTO
final_scoreDECIMAL(7,4)AUTO
rank_in_beltINTAUTO
score_sheets
Phiếu chấm
idUUIDPK
candidate_idUUIDFK
examiner_idUUIDFK→auth
is_lockedBOOLEAN
locked_atTIMESTAMPTZ
total_scoreDECIMAL(7,4)AUTO
score_details
Chi tiết điểm
idUUIDPK
score_sheet_idUUIDFK
criteria_idUUIDFK
scoreDECIMAL(5,2)
notesTEXT
user_profiles
Hồ sơ người dùng
idUUIDPK=auth.uid
full_nameTEXT
roleTEXT (enum)
club_idUUIDFK
is_activeBOOLEAN
Entity Relationship Overview
clubs (1) ────────── (N) candidates
│
exam_sessions (1) ─── (N) candidates
│
belt_ranks (1) ─── target → candidates ← current ─ (1) belt_ranks
│
(N) score_sheets ── (N) score_details
│
exam_criteria ─────────────────────────────── (1) criteria_id
│
belt_ranks (1) ── (N) exam_criteria
│
auth.users (1) ── (1) user_profiles
auth.users (1) ── (N) score_sheets (examiner_id)