ĐẠI HC PHENIKAA
TRƯỜNG CÔNG NGH THÔNG TIN PHENIKAA
TÊN HC PHN: PHÂN TÍCH VÀ THIT K PHN MM-1-
1-25(N04)
TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIT K H THNG
CHATBOT “GTCHAT”
Giảng viên hướng dn: Th.S Nguyn Th Vân
Sinh viên thc hin: Trn Anh Tú (23010332)
Trn Th Thu Giang (23010474)
Khoá: K17- CNTT
Lp tín ch: Phân tích và thiết kế phn mm-1-1-25(N04)
Hà Nội, tháng 10 năm 2025
2
PHÂN CÔNG NHIM V Đ ÁN
Danh sách các công vic/nhim v
Mô t tóm tt công vic
Công vic 1
Kho sát và thu thp thông tin
Công vic 2
Xác định mục tiêu, đối tượng và phm vi
nghiên cu
Công vic 3
Xác định, phân tích yêu cu ca h thng
Công vic 4
Mô hình hóa h thng
Công vic 5
Kiến trúc tng th
Công vic 6
Thiết kế chi tiết (cơ sở d liu, thành phn
phn mm, giao diện người dùng, logic x
lý)
Công vic 7
Cài đặt và kim th phn mm
Công vic 8
Đánh giá, kết luận và định hướng phát
trin
TT
Mã sinh
viên
Họ và tên
Nhiệm vụ phân
công
Nội dung đã thực hiện
1
23010474
Trần Thị Thu
Giang
Công vic 1
Kho sát và thu thp thông
tin.
Xác định mục tiêu, đối
ng và phm vi nghiên
cu.
Mô hình hóa h thng: Vẽ
các biểu đồ UML
(Sequence, Class Diagram.
Prototype. Thiết kế giao
diện.
Công vic 2
Công vic 3
Công vic 4
3
Công vic 7
Đánh giá, kết luận và định
hướng phát trin
Cài đặt và kim th phn
mm
ng vic 8
2
23010332
Trần Anh Tú
Công vic 1
Kho sát và thu thp thông
tin.
Xác định mục tiêu, đối
ng và phm vi nghiên
cu
Vẽ các biểu đồ UML (Use
Case, Activity).
Thiết kế kiến trúc (CSDL,
ERD).
Prototype. Thiết kế giao
diện
Công vic 2
Công vic 3
Công vic 5
Công vic 6
4
MC LC
PHÂN CÔNG NHIM V ĐỒ ÁN ................................................................................ 2
MC LC ................................................................................................................... 4
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI .............................................................................. 9
1.1. Lý do chọn đề tài (Đặt vấn đề) .......................................................................................... 9
1.2. Mc tiêu và phm vi nghiên cu ...................................................................................... 9
1.3. Đối tượng và phương pháp nghiên cứu ......................................................................... 10
1.4. Ý nghĩa khoa học và thc tin ........................................................................................ 11
1.5. B cục đồ án ...................................................................................................................... 11
CHƯƠNG 2: CƠ SỞ LÝ THUYT .............................................................................. 13
2.1. Tổng quan lĩnh vực .......................................................................................................... 13
2.2. Các khái nim và mô hình liên quan .............................................................................. 13
2.2.1. Lp Trình din (Presentation Layer):. ..................................................... 14
2.2.2. Lp Logic nghip v (Business Logic Layer) ............................................ 14
2.2.3. Lp Truy cp d liu (Data Access Layer). .............................................. 15
2.3. Các công trình, nghiên cu liên quan ....................................................................... 15
2.4. Công ngh, ngôn ng và công c s dng ................................................................ 16
CHƯƠNG 3: PHÂN TÍCH HỆ THNG ...................................................................... 17
3.1. Kho sát hin trng .......................................................................................................... 17
3.2. Phân tích yêu cu ............................................................................................................. 18
3.3. Mô hình ca s dng (Use Case Model) ........................................................................... 19
3.3.1. Danh sách các Use case ................................................................................ 20
3.3.2. Biểu đồ Use Case tng quát .......................................................................... 21
3.3.3. Các Use Case chi tiết ................................................................................... 22
3.3.3.1. Use case Đăng nhập ............................................................................... 22
3.3.3.2. Use case Đăng ký ................................................................................... 23
3.3.3.3. Use case Quên mt khu ........................................................................ 24
3.3.3.4. Use case Trò chuyn (Chatbot) ............................................................... 25
3.3.3.5. Use case Khám phá ............................................................................... 26
3.3.3.6. Use case Cộng đồng ............................................................................... 27
3.3.3.7. Use case Cài đặt .................................................................................... 28
5
3.3.3.8 Use case Trang cá nhân .......................................................................... 30
3.3.3.9. Use case Tạo bài đăng ............................................................................ 31
3.3.3.10. Use case Thông báo.............................................................................. 32
3.3.3.11. Use case Đăng xuất .............................................................................. 33
3.4. Các biểu đồ phân tích ...................................................................................................... 33
3.4.1 Các Activity Diagram ................................................................................... 33
3.4.1.1. Activity Diagram Đăng nhập .................................................................. 34
3.4.1.2. Activity Diagram Đăng ..................................................................... 35
3.4.1.3 Activity Diagram Quên mt khu ............................................................ 36
3.4.1.4. Activity Diagram Trò chuyn ................................................................. 37
3.4.1.5. Activity Diagram Tạo bài đăng .............................................................. 38
3.4.1.6. Activity Diagram Tìm kiếm văn bản ....................................................... 39
3.4.1.7. Activity Diagram Tìm kiếm đa phương tiện ............................................ 40
3.4.1.8. Activity Diagram Tìm kiếm lch s chat .................................................. 41
3.4.1.9. Activity Diagram Tìm kiếm mô hình/chatbot .......................................... 42
3.4.1.10. Activity Diagram Tương tác với bài đăng .............................................. 43
3.4.1.11. Activity Diagram Theo dõi ................................................................... 44
3.4.1.12. Activity Diagram Chnh sa h ........................................................ 45
3.4.1.13. Activity Diagram Thông báo ................................................................ 46
3.4.1.14. Activity Diagram Cài đặt tài khon ....................................................... 48
3.4.1.15. Activity Diagram Cài đặt chung ........................................................... 49
3.4.1.16. Activity Diagram Đăng xuất tài khon .................................................. 50
3.4.2. Sequence Diagram tng quát ........................................................................ 51
3.4.3. Class Diagram tng quát .............................................................................. 52
3.5. Kết luận chương ............................................................................................................... 53
CHƯƠNG 4: THIẾT K H THNG ......................................................................... 54
4.1. Kiến trúc tng th ............................................................................................................ 54
4.1.1. Mô hình Kiến trúc 3 lp ............................................................................... 54
4.1.2. Mô t chi tiết Kiến trúc 3 lp ca ng dng GTChat ..................................... 55
4.1.2.1. Presentation Layer (Lp giao diện người dùng) ....................................... 55
4.1.2.2. Business Logic Layer (Lp x lý nghip v / Dch v API) ....................... 56
6
4.1.2.3. Data Access Layer (Lp truy cp d liu) ............................................... 56
4.2. Thiết kế cơ sở d liu ....................................................................................................... 57
4.2.1. Mô hình Quan h thc th (ERD) ................................................................. 57
4.2.1.1. Các mô hình thc th ERD .................................................................... 58
4.2.2 Các bng d liu chính ........................................................................... 60
4.2.2.1 Bảng users ............................................................................................. 60
4.2.2.2. Bảng user_profiles ................................................................................. 60
4.2.2.3. Bảng user_settings ................................................................................. 61
4.2.2.4. Bảng user_sessions ................................................................................ 61
4.2.2.5. Bảng user_links ..................................................................................... 62
4.2.2.6. Bảng deleted_users ................................................................................ 62
4.2.2.7. Bảng chat_history ................................................................................. 62
4.2.2.8. Bảng messages ...................................................................................... 63
4.2.2.9. Bảng msg_files ...................................................................................... 63
4.2.2.10. Bảng models ........................................................................................ 64
4.2.2.11. Bảng model_versions ........................................................................... 64
4.2.2.12. Bảng chatbots ...................................................................................... 64
4.2.2.13. Bảng posts ........................................................................................... 65
4.2.2.14. Bảng post_media ................................................................................. 66
4.2.2.15. Bảng comments ................................................................................... 66
4.2.2.16. Bảng reviews ....................................................................................... 66
4.2.2.17. Bảng notifications ................................................................................ 67
4.2.2.18. Bảng post_likes ................................................................................... 67
4.2.2.19. Bảng post_shares ................................................................................. 67
4.2.2.20. Bảng follows ........................................................................................ 68
4.2.2.21. Bảng reports ....................................................................................... 68
4.2.2.22. Bảng hidden_content ........................................................................... 68
4.2.2.23. Bảng categories ................................................................................... 69
4.2.2.24. Bảng chatbot_categories ...................................................................... 69
4.2.2.25. Bảng likes ........................................................................................... 69
4.2.2.26. Bảng rankings ..................................................................................... 69
7
4.2.2.27. Bảng search_logs ................................................................................. 70
4.2.2.28. Bảng system_logs ................................................................................. 70
4.2.2.29. Bảng feedback ..................................................................................... 70
4.3. Thiết kế thành phn phn mm ...................................................................................... 72
4.3.1. Class Diagram chi tiết .................................................................................. 72
4.4. Thiết kế giao diện người dùng ........................................................................................ 75
4.4.1. Prototype ............................................................................................... 75
4.4.2. Màn hình chính ...................................................................................... 84
4.4.2.1 Màn hình: Chào mng & La chn truy cp ........................................... 84
4.4.2.2. Màn hình: Xác thực người dùng (Đăng nhập & Đăng ký) ........................ 86
4.4.2.3. Màn hình: Quên mt khu ..................................................................... 88
4.4.2.4. Màn hình: Trò chuyn (Chat) ................................................................ 90
4.4.2.5. Màn hình: Khám phá ............................................................................ 92
4.4.2.6. Màn hình: Cộng đồng ............................................................................ 94
4.4.2.7. Màn hình: Cài đặt ................................................................................. 96
4.5. Thiết kế x .................................................................................................................... 98
4.5.1. Sequence Diagram - Đăng nhập h thng ................................................. 98
4.5.2. Sequence Diagram - Đăng ký tài khoản ................................................... 99
4.5.3. Sequence Diagram - Trò chuyn vi Chatbot ......................................... 100
4.5.4. Sequence Diagram - Tạo bài đăng ......................................................... 100
4.5.5. Sequence Diagram - Tương tác bài đăng ................................................ 101
4.5.6. Sequence Diagram - Hin th h sơ người dùng ...................................... 102
4.5.7. Sequence Diagram - Chnh sa trang cá nhân ........................................ 103
4.6. Kết luận chương ............................................................................................................. 103
CHƯƠNG 5: CÀI ĐẶT VÀ KT QU TH NGHIM .............................................. 104
5.1. Môi trường trin khai .................................................................................................... 104
5.2. Cài đặt các chức năng chính ......................................................................................... 104
5.3. Kết qu thc nghim ..................................................................................................... 104
5.4. Đánh giá hệ thng .......................................................................................................... 104
Nhược điểm ............................................................................................................................ 104
Kết luận và hướng phát trin ............................. Li! Th đnh du không đưc xc đnh.
I. Kết qu đạt được ............................................................................................................... 105
8
II. Hn chế ............................................................................................................................. 105
III. Hướng phát trin tiếp theo ............................................................................................ 105
9
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1. Lý do chọn đề tài (Đặt vấn đề)
Trong bi cnh cuc Cách mng công nghip ln th đang din ra mnh m, Trí tu
nhân tạo (AI), đc bit các hình Ngôn ng Lớn (LLM), đã đang to ra những bước đột
phá mang tính thay đi sâu sc. Tuy nhiên, vic tiếp cn các công c AI tiên tiến này thường gp
rào cn v chi phí hoặc đòi hỏi người dùng phi có kiến thc k thut nhất định. Song song đó, xu
hướng kết ni và chia s tri thc trên các nn tng cộng đồng ngày càng tr nên quan trng.
Th trường Vit Nam, vi mt bi cnh s đặc thù, là mt minh chng rõ nét cho tiềm năng
của đề tài. Theo các thng kê gần đây, Việt Nam có tới hơn 76.5 triệu người dùng hoạt động hàng
tháng trên các nn tng xã hội, và 83% người dùng Internet tham gia tích cc vào các mng xã hi.
S thng tr ca các ng dụng như Zalo, Facebook, TikTok đã định hình mt thói quen "mobile-
first" (ưu tiên thiết b di động) sâu sc trong dân số. Đồng thi, s tăng trưởng ca các nn tng
dựa trên văn bản (text-based platforms) như Threads và X cho thấy nhu cu ln v mt không gian
trao đổi thông tin nhanh chóng, đặc biệt trong nhóm người dùng tr thuc thế h Gen Z.
Tuy nhiên, qua kho sát thc tế, có th nhn thy mt khong trống đáng kể: s thiếu vng
mt nn tng chuyên bit, min phí, kết hp sc mnh ca AI chatbot với các tính năng
tương tác của mng xã hội, được thiết kế tối ưu cho người dùng Vit Nam. Người dùng hin
ti buc phi s dng các công c AI mt cách riêng l tham gia tho lun trên các diễn đàn,
mng xã hi không chuyên bit, to ra mt tri nghim ri rc và thiếu tính h thng.
T nhng phân tích trên, tính cp thiết của đề tài được khẳng định:
Bình dân hóa công ngh: Cn mt giải pháp giúp người dùng cơ bn có th d dàng tiếp
cn và khai thác công ngh AI chatbot mà không gp rào cn k thut hay tài chính.
Xây dng cộng đồng tri thc: Cn mt không gian tập trung để người dùng th chia
s kiến thc, kinh nghim s dụng, và cùng nhau đánh giá, khám phá các mô hình AI.
Đáp ứng xu hướng th trường: Cn mt sn phm tuân th nghiêm ngt nguyên tc thiết
kế ưu tiên di động (mobile-first), phù hp vi hành vi s dng của đại đa số người dùng
trong nước.
những do đó, đ tài “Xây dựng GTChat - Nn tng Mng hi Tích hp
Chatbot AI” được đề xut nhm phát trin mt h sinh thái toàn din, gii quyết các vấn đề đã
nêu.
1.2. Mc tiêu và phm vi nghiên cu
Xây dng phát trin nn tng GTChat thành mt ng dng hoàn chnh, cung cấp dưới
dng min phí, kết hp lin mch chức năng trò chuyện với AI các tính năng tương tác mng
xã hi, vi kiến trúc ưu tiên cho thiết b di động và có kh năng đáp ứng trên đa nền tng.
Da trên các sn phm mẫu (prototype) đã được thiết kế trên Figma, đề tài đặt ra các mc
tiêu c th sau:
Phát trin giao din: Hin thc hóa giao diện người dùng (UI/UX) theo triết
10
mobile-first đã được thiết kế, đảm bo tính trc quan và d s dng.
Xây dng phiên bản đa nền tng: Phát trin phiên bn cho máy tính (desktop)
như một s nâng cp tiến b (progressive enhancement) t phiên bản di động, đồng b hóa
tri nghim và d liu mt cách nht quán.
Tích hp Chatbot: Tích hp API ca nhiu hình AI, qun phân loi
chúng vào các danh mc chatbot chuyên dụng để phc v các nhu vực đa dng (hc tp,
lp trình, sáng to...).
Xây dng thut toán gi ý: Nghiên cu và phát trin thut toán cho trang "Khám
phá", có kh năng nhân hóa và gợi ý ni dung (chatbot, bài viết) phù hp vi hành vi
s thích của người dùng.
Đối tượng người dùng: Cộng đồng người dùng ph thông t 18 tui tr lên ti
Việt Nam, quan tâm đến công ngh AI nhưng không yêu cầu trình độ k thut chuyên
sâu.
Nn tng phát trin: Xây dựng dưới dng mt ng dụng web lũy tiến (Progressive
Web App - PWA) để đảm bo kh năng tiếp cn trên mi thiết b (di động, máy tính bng,
máy tính) thông qua trình duyt web.
Phm vi chức năng: Tập trung vào các tính năng cốt lõi bao gồm: tương tác
chatbot, đăng tải bài viết, bình luận, đánh giá, chia sẻ, và khám phá ni dung.
Phạm vi địa lý: Ban đầu tp trung vào th trường Vit Nam, vi kiến trúc được
thiết kế để có kh năng mở rng ra các th trường khác trong tương lai.
1.3. Đối tượng và phương pháp nghiên cứu
Đối tượng chính: Kiến trúc mô hình ca mt nn tng tích hp AI chatbot cộng đồng
trc tuyến.
Đối tượng kho sát: Người dùng cui (end-users) độ tui t 18 tr lên, hành vi s
dng mng xã hi và quan tâm ti công ngh.
Các trường hp s dng (Use Cases): Tp trung vào các kch bn phc v mục đích kết
ni cộng đồng, h tr giáo dục và thúc đẩy sáng to.
Đề tài áp dng tng hợp các phương pháp nghiên cứu hiện đại trong lĩnh vực phát trin phn mm:
Phương pháp nghiên cứu người dùng:
Tiến hành lp bản đồ hành trình người dùng (User Journey Mapping) da trên kết
qu kim th các prototype.
Phân tích hành vi cộng đồng da trên c mô hình thành công và thói quen s dng
mng xã hi của người Vit.
Thc hin kim th kh năng sử dng (Usability Testing) vi các mu thiết kế trên
Figma cho c hai nn tảng di động và máy tính.
11
Phương pháp thiết kế và phát trin:
Tuân th phương pháp luận thiết kế ưu tiên di động (Mobile-First Design).
Áp dng k thut nâng cp tiến b (Progressive Enhancement) để m rng tính
năng từ phiên bản di động lên máy tính.
Xây dng mt h thng thiết kế da trên thành phn (Component-Based Design
System) để đảm bo tính nht quán kh năng tái s dng trong toàn b ng dng.
Phương pháp nghiên cứu k thut:
Nghiên cu các mu thiết kế tích hợp API (API Integration Patterns) đ m vic
hiu qu vi nhiu nhà cung cp chatbot.
Phân tích các kiến trúc cho tính năng hội (Social Features Architecture) nhm
đảm bo kh năng mở rộng trong tương lai.
Nghiên cu các k thut tối ưu hóa hiệu sut cho thiết b di động và các k thut x
lý ngôn ng t nhiên tiếng Việt cơ bản.
1.4. Ý nghĩa khoa học và thc tin
Đóng góp vào lĩnh vc nghiên cu thiết kế phn mm một trường hợp đin hình (case
study) v vic xây dng nn tng chatbot kết hp cộng đồng theo triết mobile-first cho th trường
đặc thù như Việt Nam.
Đề xut và th nghim mt thut toán khám phá ni dung, góp phần vào lĩnh vực h thng
gi ý (recommender systems) cho các nn tng có nội dung đa dạng (công c và xã hi).
Cung cp d liu nghiên cu v tri nghiệm người dùng đa thiết b (cross-device UX) thông
qua quá trình kim th và phát trin PWA.
Bình dân hóa AI: To ra mt nn tng miễn phí, đóng vai trò cầu nối giúp đông đảo
người dùng Vit Nam tiếp cn công ngh AI, góp phn thc hin mc tiêu chuyển đổi s
quc gia.
Xây dng cộng đồng: Tr thành ht nhân hình thành mt cộng đồng AI mnh m ti Vit
Nam, là nơi quy tụ, chia s và lan ta tri thc.
Tối ưu hóa cho di động: Đáp ứng nhu cu thc tế ca th trường khi có đến 88% thi gian
trc tuyến của người Việt được dành cho ng dụng di động.
Tác động kinh tế - xã hi: H tr các doanh nghip va và nh (SMEs), sinh viên, và
nhân hội tìm hiu, ng dng các gii pháp AI không tốn chi phí ban đu, t đó
nâng cao năng lực cnh tranh và k năng số.
1.5. B cục đồ án
Ngoài phn M đầu, Kết lun Tài liu tham kho, ni dung chính ca báo cáo được cu
trúc thành các chương sau:
Chương 1 - Tổng quan đ tài: Gii thiu tng quan v nn tng GTChat, lun gii lý do
12
chọn đề tài, xác định mc tiêu, phạm vi, phương pháp nghiên cứu và ý nghĩa của đề tài.
Chương 2 - Cơ sởthuyết: Trình bày các cơ slun v kiến trúc phn mm, các
hình thiết kế ưu tiên di động, và các nguyên tc xây dng nn tng mng xã hi.
Chương 3 - Phân tích h thng: Phân tích chi tiết các yêu cu chức năng phi chức
năng rút ra từ kho sát prototype, phân tích kch bản tương thích mobile-desktop, và hình
hóa h thng bng ngôn ng UML.
Chương 4 - Thiết kế h thng: Trình bày chi tiết các quyết định thiết kế, bao gm kiến
trúc h thng, thiết kế s d liu, thiết kế API, thiết kế các thành phn giao din da trên
bn dng Figma.
Chương 5 - Cài đặt trin khai: t kế hoch quá trình hin thc hóa sn phm
t các bn thiết kế, chiến lược kim th đa nền tảng, đề xut kế hoch trin khai, phát trin
trong tương lai.
13
CHƯƠNG 2: CƠ S LÝ THUYT
2.1. Tổng quan lĩnh vực
D án GTChat được định v mt h thng tích hp phc hp, nm giao điểm ca ba
lĩnh vực công ngh ct lõi: H thng thông tin qun (MIS), Trí tu nhân to ng dng
(Applied AI), và Nn tng Mng xã hi (Social Network Platforms).
H thng thông tin qun lý: Đây là nền tng ca d án, chu trách nhim qun lý toàn b
vòng đời d liu. H thng không ch qun lý nội dung do người dùng tạo ra (bài đăng, bình luận)
còn phi qun mt thư viện các chatbot chuyên dng do chính GTChat biên son
cung cp. Điều này đòi hỏi mt h thng backend vng chắc để lưu trữ, phân loi, và qun lý các
cấu hình chatbot này, đặc biệt là các "System Prompt" định nghĩa hành vi cho từng chatbot.
Trí tu nhân to ng dng và Tích hp API: Trng tâm ca d án là vic khai thác sc
mnh ca các hình Ngôn ng Ln (LLM) t bên th ba thông qua API. GTChat hoạt động
như mt lp trung gian (middleware layer) thông minh. Thay vì ch đơn thuần chuyn tiếp yêu cu
của người dùng, h thng s chèn thêm các "System Prompt" đã được định nghĩa trước để "hướng
dn" LLM tng quát hành x theo mt vai trò chuyên bit (ví d: trlp trình, chuyên gia ngôn
ng, nhà nghiên cu).
Nn tng Mng xã hi: Yếu t cộng đồng được xây dng xung quanh các công c AI do
GTChat cung cấp. Đây là không gian đ người dùng tho luận, đánh giá hiệu qu ca các mô hình,
chia s các mo s dng chatbot hiu qu, và đăng tải các bài viết phân tích v lĩnh vực AI. Trang
"Khám phá" không ch giúp người dùng tìm kiếm chatbot hin th các bài viết liên quan giúp
người dùng có cái nhìn trc quan, to ra mt vòng lặp tương tác giá trị gia công c cộng đồng.
2.2. Các khái nim và mô hình liên quan
Để đảm bo tính khoa hc và kh năng mở rng, d án áp dng các mô hình và khái nim
đã được chun hóa.
UML là công c trc quan hóa thiết kế h thng.
Biểu đồ Ca s dng (Use Case Diagram): Phân định vai trò của người dùng cui
qun tr viên.
Actor "Ngưi dùng" (User): Qun tài khon, Trò chuyn vi LLM tng quát,
Tìm kiếm s dng Chatbot chuyên dng, Tạo bài đăng, Bình lun/Thích bài
đăng, Đánh giá Chatbot.
Biểu đồ Lp (Class Diagram): t cấu trúc tĩnh của h thng. Lp SpecializedBot s
mt thc th trung tâm, cha các thuc tính quan trọng như name, description, category,
quan trng nht system_prompt (kiu text). Lp này s không mi quan h "to
bi" trc tiếp vi lớp User, thay vào đó nó đưc qun lý bi Qun tr viên và có mi quan
h "s dng bi" nhiu User.
Mô hình quan h là la chn phù hợp để qun lý d liu có cu trúc và các mi liên kết cht ch.
14
Thiết kế ợc đồ (Schema Design): S mt bng Specialized_Bots làm bng "master"
cha danh sách các chatbot do GTChat cung cp. Bng này s có các trường như id, name,
description, system_prompt, base_llm_id (tham chiếu đến LLM nn tảng được s dng).
Các bảng khác như Posts, Comments, Likes th s khóa ngoi tham chiếu đến
Specialized_Bots.id để người dùng có th tho lun hoặc đánh giá một chatbot c th.
Kiến trúc 3 lp giúp phân tách rõ ràng các thành phn chức năng:
2.2.1. Lp Trình din (Presentation Layer): Giao din ng dụng di động (Flutter), nơi người
dùng tương tác.
Đăng nhập Cho phép người dùng truy cp vào h thng bng email hoc tài khon mng
xã hi.
Quên mt khu H tr người dùng đặt li mt khu qua email xác thc.
Đăng xuất Kết thúc phiên làm việc và đưa người dùng v trang đăng nhập.
Chat vi mô hình / Chatbot Cung cp giao din trò chuyn giữa người dùng và mô hình
AI.
Gi yêu cu API ti server Chuyn yêu cu t giao diện đến các dch v xnghip
v.
Khám phá Hin th danh sách chatbot, mô hình hoặc bài đăng nổi bt.
Tạo bài đăng / tương tác cộng đồng Cho phép người dùng viết bài, thích, bình lun
hoc chia s.
Thông báo Hin th các thông báo mi nhận được.
Cp nht h / Cài đặt Cho phép người dùng chnh sa thông tin nhân tùy chnh
giao din.
2.2.2. Lp Logic nghip v (Business Logic Layer): X toàn b logic cốt lõi. Khi người
dùng chn mt chatbot chuyên dng và gi tin nhn, lp nghip v s có trách nhim:
Xác thực người dùng (Login/OAuth) Kiểm tra thông tin đăng nhập, to hoc xác minh
phiên làm vic.
X lý Chatbot (System Prompt, Gi mô hình LLM) To yêu cu hi thoi và gửi đến
mô hình AI để sinh phn hi.
Tìm kiếm hình / Chatbot Lc tr v danh sách hình phù hp theo truy vn
người dùng.
Hin th thông tin chi tiết Chatbot Ly d liu t, thông s hiu sut ca tng
chatbot.
X lý bài đăng To, chnh sa hoặc xóa bài đăng người dùng gi lên.
Tương tác (Like, Bình luận, Chia s) Quản lý các hành động tương tác với bài viết.
Qun lý thông báo Gửi, lưu và đồng b thông báo đến người dùng.
Cài đặt tài khon Thay đổi ngôn ng, giao din hoc tùy chn thông báo.
Cp nht / Chnh sa h X lý yêu cầu thay đổi thông tin cá nhân của người dùng.
15
2.2.3. Lp Truy cp d liu (Data Access Layer): Chu trách nhim giao tiếp vi CSDL, cung
cp d liệu (như system_prompt, thông tin bài đăng) cho lớp nghip v.
Bng User Lưu thông tin người dùng (email, tên, mt khu, token phiên).
Bng Models Lưu dữ liu v mô hình AI (cu hình, phiên bn, mô t).
Bng Chatbots Lưu thông tin chatbot và prompt khởi to.
Bng Chat_history Ghi li lch s hi thoi giữa người dùng và chatbot.
Bng Post Lưu nội dung bài đăng trong cộng đồng.
Bng Post_like / share / comment Lưu các tương tác của người dùng vi bài viết.
Bng Notification Lưu thông báo gửi đến người dùng.
Bng User_settings Lưu tùy chỉnh ngôn ng, ch đề và chế độ thông báo.
Bng User_profiles Lưu thông tin hồ sơ cá nhân và ảnh đại din của người dùng.
2.3. Các công trình, nghiên cu liên quan
Phân tích các sn phẩm tương tự giúp định v GTChat và hc hi các mô hình thành công.
H thng
Ưu điểm
Nhược điểm
Bài hc cho GTChat
Character.AI
- Cung cp một thư
vin khng l các
chatbot chuyên bit
(da trên các nhân
vt).
- Tri nghiệm tương
tác rt tp trung
thú v.
- Yếu t cộng đồng
không mnh, ch yếu
để người dùng to
chia s các "nhân vt"
ca riêng h.
- Ít tp trung vào các
chatbot mang tính công
c/hc thut.
- Chất lượng s đa dạng
của thư viện chatbot đưc
biên son yếu t sng
còn.
- GTChat cn tp trung vào
các chatbot hu ích cho hc
tp, nghiên cu, lập trình để
to ra s khác bit.
Poe by Quora
- Cho phép người
dùng t to bot bng
prompt, to ra s đa
dng ln.
- Tích hp nhiu
LLM nn tng.
- Chất lượng ca các
bot do người dùng to
ra không đồng đều,
nhiu bot "rác".
- Người dùng th b
choáng ngp bi s
ng.
- Vic GTChat biên son
kim duyt chất lượng
chatbot mt li thế cnh
tranh quan trọng, đảm bo
tri nghiệm người dùng
luôn mc cao.
16
ChatGPT
(Custom
GPTs)
- Tính năng mạnh
mẽ, cho phép ngưi
dùng chuyên sâu to
ra các GPT tùy chnh
vi kiến thc hành
động riêng.
- Yêu cầu người dùng
phi tài khon tr
phí (Plus).
- một tính năng
trong mt h sinh thái
ln, không phi mt
nn tng cộng đồng độc
lp.
- Cung cp các công c cht
ng cao, chuyên dng
mt nhu cu tht.
GTChat th nhắm đến
vic cung cp các công c
này mt cách d tiếp cn
hơn xây dựng mt cng
đồng xung quanh chúng.
Bng 2.3.1. So sánh gia GTChat và các sn phm liên quan
2.4. Công ngh, ngôn ng và công c s dng
La chn công ngh được thc hin da trên yêu cu ca d án và s ph biến trong ngành.
Frontend (ng dụng di đng): Ngôn ng/Framework: Dart/Flutter. La chn tối ưu cho
vic xây dng ng dụng di động đa nền tng vi giao diện người dùng phc tp, hiệu năng cao.
Backend (Máy ch ng dng): Ngôn ng/Framework: Python vi Django. Django
mt la chn rt phù hp cho hình này cung cp sn mt giao din qun tr (Admin
Panel) cc k mnh m. Giao din này cho phép các Qun tr viên ca GTChat th d dàng
thêm, sa, xóa và qun lý toàn b thư viện chatbot chuyên dng và các System Prompt ca chúng
mà không cn viết thêm nhiu mã lnh.
s d liu: H qun tr CSDL: PostgreSQL. Mnh m, ổn định, kh năng mở
rng tốt để x lý c d liu quan h ca mng xã hội và lưu trữ các chuỗi văn bản dài ca System
Prompt.
Công c phát trin và Qun lý:
IDE: Visual Studio Code.
H thng qun lý phiên bn: Git / GitHub.
Kim th API: Postman.
Thiết kế UI/UX: Figma.
Qun lý d án: Trello hoc Jira.
17
CHƯƠNG 3: PHÂN TÍCH HỆ THNG
3.1. Kho sát hin trng
Để xác định các yêu cu mục tiêu cho GTChat, đội ngũ đã tiến hành kho sát quy
trình mà người dùng hin tại đang thc hiện để đáp ứng các nhu cầu tương t, t đó chỉ ra nhng
bt cp cần được gii quyết.
Hin ti, không có mt h thng duy nhất nào đáp ứng trn vn nhu cu va s dng công
c AI, va tham gia cộng đồng tho lun chuyên sâu. Quy trình của người dùng mục tiêu thưng
din ra mt cách ri rc và phân mnh qua nhiu nn tng khác nhau:
1. S dng các hình AI: Người dùng phi truy cp vào nhiu website hoc ng dng
riêng biệt như trang chủ của ChatGPT, Google Gemini, Poe, Perplexity AI, etc. đ tương
tác vi các LLM khác nhau. Mi ln chuyển đổi, h phi m tab mới, đăng nhp li và ng
cnh trò chuyện không được liên kết.
2. Tìm kiếm các công c chuyên dng: Khi cn mt chatbot cho mục đích cụ th (ví d: h
tr viết code, dch thuật), người dùng thường phi tìm kiếm trên Google, đc các bài blog
review, hoc m trong các danh sách tng hp. Quá trình này tn thi gian kết qu
thường không được đảm bo v chất lượng.
3. Tham gia tho lun hc hi: Người dùng tìm đến các cộng đồng trc tuyến như các
subreddit (ví d: r/ChatGPT, r/LocalLLaMA), các nhóm Facebook, diễn đàn công nghệ,
hoặc blog để đọc các bài đánh giá, chia sẻ các "prompt" hay, hoc tho lun v các tin tc
mi nhất trong lĩnh vực AI.
4. Áp dng kiến thc: Sau khi thu thập được mt k thut hay mt "prompt" thú v t cng
đồng, người dùng li phi quay tr li các ng dng chatbot ớc 1 để th nghim và áp
dng.
Quy trình nghip v hin ti bc l nhiu vấn đề và hn chế ln:
Tri nghiệm người dùng phân mnh: Người dùng buc phi di chuyn liên tc gia các
nn tng khác nhau (nn tng chat AI, nn tng mng hi, blog), gây ra s bt tin
làm gián đoạn lung công việc, tư duy.
Thiếu tính hp nht: Không có s liên kết cht ch gia "công c" và "cộng đồng". Kiến
thc tho lun trên mng xã hội không được tích hp trc tiếp vào công c và ngược li.
Khó khăn trong việc khám phá và đánh giá: Vic tìm kiếm mt chatbot tùy chnh cht
ng cao, phù hp vi nhu cu mt thách thức. Người dùng thiếu mt nguồn đáng tin
cậy để khám phá và xem các đánh giá khách quan từ những người dùng khác.
Thiếu môi trường tp trung: Chưa có một "mái nhà chung" cho cộng đồng yêu thích và
làm vic vi AI ti Việt Nam, nơi họ va có th s dng các công c mnh m, va có th
xây dng tri thc và kết ni vi nhau.
=> Kết lun: Tn ti mt khong trng ln trên th trường cho mt ng dng "tt c trong mt",
hp nht tri nghim s dng chatbot AI vi mt không gian cộng đng sôi ni chuyên môn.
18
GTChat được đề xuất để gii quyết chính xác khong trng này.
3.2. Phân tích yêu cu
BR1: Xây dng mt nn tảng di động duy nht, cung cp giao din hp nhất để tương tác
vi nhiu mô hình LLM và các chatbot chuyên dng.
BR2: Phát trin một thư viện các chatbot chuyên dụng, được GTChat biên soạn đảm
bo chất lượng, phc v các nhu cu ph biến như học tp, nghiên cu, lp trình.
BR3: Xây dựng các tính năng mng xã hội cho phép người dùng to và chia s ni dung,
tho luận, đánh giá về các mô hình AI và chatbot.
BR4: Cung cp mt tri nghiệm người dùng lin mch, trc quan, khuyến khích s tương
tác và gn bó lâu dài của người dùng vi nn tng.
Các yêu cu chức năng được phân loại thành các module chính như sau:
FN-AUTH (Module Quản lý Người dùng)
FN-AUTH-01: H thống cho phép người dùng đăng tài khoản mi bng email
và mt khu.
FN-AUTH-02: H thống cho phép người dùng đăng nhập vào ng dng bng tài
khoản đã đăng ký.
FN-AUTH-03: H thống cho phép người dùng đăng nhập/đăng bằng các nn
tng bên th ba như Google, Apple,..
FN-AUTH-04: H thống cho phép người dùng đăng xuất khi tài khon.
FN-AUTH-05: H thống cho phép người dùng quên mt khu cp nht li mt
khu.
FN-AUTH-06: H thống cho phép người dùng xem và chnh sa thông tin h
nhân (tên hin th, ảnh đại din, tiu s).
FN-CHAT (Module Tương tác AI)
FN-CHAT-01: H thng cung cp giao din trò chuyn trực quan để người dùng
có th gi tin nhn và nhn phn hi t AI.
FN-CHAT-02: H thống cho phép người dùng la chn trò chuyn vi các LLM
nn tng (GPT, Gemini, Claude...).
FN-CHAT-03: H thống cho phép người dùng la chn s dng các chatbot
chuyên dng t thư viện do GTChat cung cp.
FN-CHAT-04: H thống lưu trhin th lch s các cuc trò chuyn của người
dùng.
FN-SOCIAL (Module Mng xã hi)
FN-SOCIAL-01: H thống cho phép người dùng to một bài đăng mi vi ni dung
văn bản và hình nh.
FN-SOCIAL-02: H thng hin th các bài đăng từ cộng đồng trên mt dòng thi
gian (timeline).
FN-SOCIAL-03: H thống cho phép người dùng xem chi tiết một bài đăng.
FN-SOCIAL-04: H thống cho phép người dùng viết bình lun cho một bài đăng.
FN-SOCIAL-05: H thống cho phép người dùng "Thích" một bài đăng hoặc mt
19
bình lun.
FN-SOCIAL-06: H thống cho phép người dùng chia s một bài đăng.
FN-DISCOVERY (Module Khám phá)
FN-DISCOVERY-01: H thng cung cp một trang "Khám phá" để gii thiu các
chatbot chuyên dụng và các bài đăng nổi bt.
FN-DISCOVERY-02: H thống cho phép người dùng tìm kiếm chatbot hoc bài
đăng theo từ khóa.
FN-DISCOVERY-03: H thống cho phép người dùng lc chatbot theo danh mc
(hc tp, lp trình, nghiên cu...).
FN-DISCOVERY-04: H thống cho phép người dùng đánh giá (xếp hng sao)
viết nhn xét cho các chatbot chuyên dng.
NFR-PERF-01 (Hiệu năng): Thi gian phn hi ca các thao tác trên giao diện người
dùng (m màn hình, cun danh sách) phi dưới 1 giây. Thi gian nhn phn hi t AI ph
thuc vào API ca bên th ba nhưng hệ thng phi hin th trng thái ch mt cách ràng.
NFR-USAB-01 (Tính d s dng): Giao din ng dng phải được thiết kế trc quan, nht
quán, và d dàng cho người dùng mi làm quen và s dng.
NFR-SECU-01 (Bo mt): Mt khẩu người dùng phải được băm (hashing) trước khi lưu
vào sở d liu. Mi giao tiếp gia client và server phải được a bng giao thc
HTTPS.
NFR-AVAIL-01 (Tính sn sàng): H thng phải đảm bảo độ sn sàng 99.5%, gim thiu
thi gian chết (downtime).
NFR-SCAL-01 (Kh năng mở rng): Kiến trúc backend phi cho phép d dàng tích hp
thêm các mô hình LLM mới trong tương lai mà không ảnh hưởng lớn đến các thành phn
hin có.
3.3. Mô hình ca s dng (Use Case Model)
Trong giai đoạn phân tích yêu cu ca quy trình phát trin phn mm, Biểu đồ Ca s dng
(Use Case Diagram) mt trong nhng công c hình hóa quan trng nht ca UML. Nó xut
phát t nguyên tắc cơ bản rng mt h thống được định nghĩa bởi các chc năng mà nó cung cp
cho môi trường xung quanh.
Tương tác Tác nhân (Actor): Mt h thng không tn ti một cách đc lp luôn
tương tác với các Tác nhân (Actor) bên ngoài. Tác nhân th một người dùng cui,
mt h thng phn cng/phn mm khác, hoc thm chí thời gian (đối vi các tác v
theo lch trình).
Hành vi và Ca s dng (Use Case): Các hành vi ca h thng, hay các chức năng mà nó
cung cấp cho tác nhân, được mô t thông qua các Ca s dng (Use Case). Mi ca s dng
là mt chuỗi các hành đng h thng thc hiện để mang li mt kết qugiá tr cho
mt tác nhân c th.
Nguyên tc "What, not How": Điểm đặc trưng quan trọng nht ca phân tích ca s dng
s tp trung vào yêu cu chức năng (What), hoàn toàn b qua các chi tiết v cách thc
cài đặt (How). Nguyên tc này giúp gi cho giai đon phân tích tp trung vào yêu cu
20
nghip vụ, tránh sa đà vào các quyết định thiết kế sm.
Tóm li, Biểu đồ Ca s dụng đóng vai trò như một "bản đồ chức năng" của h thng.
t mt cách trc quan:
Các chức năng mong đợi ca h thng (các use case).
Môi trường tương tác của nó (các actor).
Ranh gii gia bên trong và bên ngoài h thng.
3.3.1. Danh sách các Use case
Mô hình ca s dng mô t các tương tác giữa người dùng (actor) và h thống để đạt được mt
mc tiêu c th.
STT
Tên Use Case
Mô t
1
Đăng ký
Người dùng cung cp thông tin (email, mt khẩu) để
to mt tài khon mi trên h thng.
2
Đăng nhập
Người dùng cung cp email và mt khẩu để xác thc và
truy cp vào h thng.
3
Đăng xuất
Người dùng kết thúc phiên làm việc và đăng xuất khi
tài khon hin ti.
4
Quên mt khu
Người dùng quên mt khu t mt tài khoản đã đăng
ký trước đây.
5
Trang cá nhân
Người dùng xem và cp nhật các thông tin cá nhân như
tên hin th, ảnh đại din, tiu s.
6
Trò chuyn vi
AI(Chatbot)
Người dùng bắt đầu mt cuc trò chuyn, gi tin nhn
ti mt LLM nn tng và nhn phn hi.
7
Tạo bài đăng
Người dùng son thảo và đăng tải mt bài viết mi
(văn bản, hình nh) lên cộng đồng.
8
Cộng đồng
H thng hin th một danh sách các bài đăng cho
người dùng xem. Người dùng thc hin tương tác đối
với bài đăng, xem trang cá nhân của các user khác
9
Khám phá
Người dùng s dng chức năng tìm kiếm, duyt trang
Khám phá để tìm chatbot hoc bài viết theo nhu cu.
10
Thông báo
Người dùng tương tác, bật tt thông báo.

Preview text:

ĐẠI HỌC PHENIKAA
TRƯỜNG CÔNG NGHỆ THÔNG TIN PHENIKAA
TÊN HỌC PHẦN: PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM-1- 1-25(N04)
TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHATBOT “GTCHAT”
Giảng viên hướng dẫn: Th.S Nguyễn Thị Vân
Sinh viên thực hiện: Trần Anh Tú (23010332)
Trần Thị Thu Giang (23010474) Khoá: K17- CNTT
Lớp tín chỉ: Phân tích và thiết kế phần mềm-1-1-25(N04)
Hà Nội, tháng 10 năm 2025
PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN
Danh sách các công việc/nhiệm vụ
Mô tả tóm tắt công việc Công việc 1
Khảo sát và thu thập thông tin Công việc 2
Xác định mục tiêu, đối tượng và phạm vi nghiên cứu Công việc 3
Xác định, phân tích yêu cầu của hệ thống Công việc 4 Mô hình hóa hệ thống Công việc 5 Kiến trúc tổng thể Công việc 6
Thiết kế chi tiết (cơ sở dữ liệu, thành phần
phần mềm, giao diện người dùng, logic xử lý) Công việc 7
Cài đặt và kiểm thử phần mềm Công việc 8
Đánh giá, kết luận và định hướng phát triển TT Mã sinh Họ và tên Nhiệm vụ phân
Nội dung đã thực hiện Đánh giá viên công 1 23010474 Trần Thị Thu Công việc 1
Khảo sát và thu thập thông 50% Giang tin. Công việc 2
Xác định mục tiêu, đối
tượng và phạm vi nghiên cứu. Công việc 3
Mô hình hóa hệ thống: Vẽ các biểu đồ UML (Sequence, Class Diagram. Công việc 4 Prototype. Thiết kế giao diện. 2 Công việc 7
Đánh giá, kết luận và định hướng phát triển Công việc 8
Cài đặt và kiểm thử phần mềm 2 23010332 Trần Anh Tú Công việc 1
Khảo sát và thu thập thông 50% tin. Công việc 2
Xác định mục tiêu, đối
tượng và phạm vi nghiên cứu
Vẽ các biểu đồ UML (Use Công việc 3 Case, Activity). Công việc 5
Thiết kế kiến trúc (CSDL, ERD). Công việc 6 Prototype. Thiết kế giao diện 3 MỤC LỤC
PHÂN CÔNG NHIỆM VỤ ĐỒ ÁN ................................................................................ 2
MỤC LỤC ................................................................................................................... 4
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI .............................................................................. 9
1.1. Lý do chọn đề tài (Đặt vấn đề) .......................................................................................... 9
1.2. Mục tiêu và phạm vi nghiên cứu ...................................................................................... 9
1.3. Đối tượng và phương pháp nghiên cứu ......................................................................... 10
1.4. Ý nghĩa khoa học và thực tiễn ........................................................................................ 11
1.5. Bố cục đồ án ...................................................................................................................... 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................. 13
2.1. Tổng quan lĩnh vực .......................................................................................................... 13
2.2. Các khái niệm và mô hình liên quan .............................................................................. 13 2.2.1.
Lớp Trình diễn (Presentation Layer):. ..................................................... 14 2.2.2.
Lớp Logic nghiệp vụ (Business Logic Layer) ............................................ 14 2.2.3.
Lớp Truy cập dữ liệu (Data Access Layer). .............................................. 15 2.3.
Các công trình, nghiên cứu liên quan ....................................................................... 15 2.4.
Công nghệ, ngôn ngữ và công cụ sử dụng ................................................................ 16
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG ...................................................................... 17
3.1. Khảo sát hiện trạng .......................................................................................................... 17
3.2. Phân tích yêu cầu ............................................................................................................. 18
3.3. Mô hình ca sử dụng (Use Case Model) ........................................................................... 19
3.3.1. Danh sách các Use case ................................................................................ 20
3.3.2. Biểu đồ Use Case tổng quát .......................................................................... 21
3.3.3. Các Use Case chi tiết ................................................................................... 22
3.3.3.1. Use case Đăng nhập ............................................................................... 22
3.3.3.2. Use case Đăng ký ................................................................................... 23
3.3.3.3. Use case Quên mật khẩu ........................................................................ 24
3.3.3.4. Use case Trò chuyện (Chatbot) ............................................................... 25
3.3.3.5. Use case Khám phá ............................................................................... 26
3.3.3.6. Use case Cộng đồng ............................................................................... 27
3.3.3.7. Use case Cài đặt .................................................................................... 28 4
3.3.3.8 Use case Trang cá nhân .......................................................................... 30
3.3.3.9. Use case Tạo bài đăng ............................................................................ 31
3.3.3.10. Use case Thông báo.............................................................................. 32
3.3.3.11. Use case Đăng xuất .............................................................................. 33
3.4. Các biểu đồ phân tích ...................................................................................................... 33
3.4.1 Các Activity Diagram ................................................................................... 33
3.4.1.1. Activity Diagram Đăng nhập .................................................................. 34
3.4.1.2. Activity Diagram Đăng ký ..................................................................... 35
3.4.1.3 Activity Diagram Quên mật khẩu ............................................................ 36
3.4.1.4. Activity Diagram Trò chuyện ................................................................. 37
3.4.1.5. Activity Diagram Tạo bài đăng .............................................................. 38
3.4.1.6. Activity Diagram Tìm kiếm văn bản ....................................................... 39
3.4.1.7. Activity Diagram Tìm kiếm đa phương tiện ............................................ 40
3.4.1.8. Activity Diagram Tìm kiếm lịch sử chat .................................................. 41
3.4.1.9. Activity Diagram Tìm kiếm mô hình/chatbot .......................................... 42
3.4.1.10. Activity Diagram Tương tác với bài đăng .............................................. 43
3.4.1.11. Activity Diagram Theo dõi ................................................................... 44
3.4.1.12. Activity Diagram Chỉnh sửa hồ sơ ........................................................ 45
3.4.1.13. Activity Diagram Thông báo ................................................................ 46
3.4.1.14. Activity Diagram Cài đặt tài khoản ....................................................... 48
3.4.1.15. Activity Diagram Cài đặt chung ........................................................... 49
3.4.1.16. Activity Diagram Đăng xuất tài khoản .................................................. 50
3.4.2. Sequence Diagram tổng quát ........................................................................ 51
3.4.3. Class Diagram tổng quát .............................................................................. 52
3.5. Kết luận chương ............................................................................................................... 53
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG ......................................................................... 54
4.1. Kiến trúc tổng thể ............................................................................................................ 54
4.1.1. Mô hình Kiến trúc 3 lớp ............................................................................... 54
4.1.2. Mô tả chi tiết Kiến trúc 3 lớp của ứng dụng GTChat ..................................... 55
4.1.2.1. Presentation Layer (Lớp giao diện người dùng) ....................................... 55
4.1.2.2. Business Logic Layer (Lớp xử lý nghiệp vụ / Dịch vụ API) ....................... 56 5
4.1.2.3. Data Access Layer (Lớp truy cập dữ liệu) ............................................... 56
4.2. Thiết kế cơ sở dữ liệu ....................................................................................................... 57
4.2.1. Mô hình Quan hệ thực thể (ERD) ................................................................. 57
4.2.1.1. Các mô hình thực thể ERD .................................................................... 58 4.2.2
Các bảng dữ liệu chính ........................................................................... 60
4.2.2.1 Bảng users ............................................................................................. 60
4.2.2.2. Bảng user_profiles ................................................................................. 60
4.2.2.3. Bảng user_settings ................................................................................. 61
4.2.2.4. Bảng user_sessions ................................................................................ 61
4.2.2.5. Bảng user_links ..................................................................................... 62
4.2.2.6. Bảng deleted_users ................................................................................ 62
4.2.2.7. Bảng chat_history ................................................................................. 62
4.2.2.8. Bảng messages ...................................................................................... 63
4.2.2.9. Bảng msg_files ...................................................................................... 63
4.2.2.10. Bảng models ........................................................................................ 64
4.2.2.11. Bảng model_versions ........................................................................... 64
4.2.2.12. Bảng chatbots ...................................................................................... 64
4.2.2.13. Bảng posts ........................................................................................... 65
4.2.2.14. Bảng post_media ................................................................................. 66
4.2.2.15. Bảng comments ................................................................................... 66
4.2.2.16. Bảng reviews ....................................................................................... 66
4.2.2.17. Bảng notifications ................................................................................ 67
4.2.2.18. Bảng post_likes ................................................................................... 67
4.2.2.19. Bảng post_shares ................................................................................. 67
4.2.2.20. Bảng follows ........................................................................................ 68
4.2.2.21. Bảng reports ....................................................................................... 68
4.2.2.22. Bảng hidden_content ........................................................................... 68
4.2.2.23. Bảng categories ................................................................................... 69
4.2.2.24. Bảng chatbot_categories ...................................................................... 69
4.2.2.25. Bảng likes ........................................................................................... 69
4.2.2.26. Bảng rankings ..................................................................................... 69 6
4.2.2.27. Bảng search_logs ................................................................................. 70
4.2.2.28. Bảng system_logs ................................................................................. 70
4.2.2.29. Bảng feedback ..................................................................................... 70
4.3. Thiết kế thành phần phần mềm ...................................................................................... 72
4.3.1. Class Diagram chi tiết .................................................................................. 72
4.4. Thiết kế giao diện người dùng ........................................................................................ 75 4.4.1.
Prototype ............................................................................................... 75 4.4.2.
Màn hình chính ...................................................................................... 84
4.4.2.1 Màn hình: Chào mừng & Lựa chọn truy cập ........................................... 84
4.4.2.2. Màn hình: Xác thực người dùng (Đăng nhập & Đăng ký) ........................ 86
4.4.2.3. Màn hình: Quên mật khẩu ..................................................................... 88
4.4.2.4. Màn hình: Trò chuyện (Chat) ................................................................ 90
4.4.2.5. Màn hình: Khám phá ............................................................................ 92
4.4.2.6. Màn hình: Cộng đồng ............................................................................ 94
4.4.2.7. Màn hình: Cài đặt ................................................................................. 96
4.5. Thiết kế xử lý .................................................................................................................... 98 4.5.1.
Sequence Diagram - Đăng nhập hệ thống ................................................. 98 4.5.2.
Sequence Diagram - Đăng ký tài khoản ................................................... 99 4.5.3.
Sequence Diagram - Trò chuyện với Chatbot ......................................... 100 4.5.4.
Sequence Diagram - Tạo bài đăng ......................................................... 100 4.5.5.
Sequence Diagram - Tương tác bài đăng ................................................ 101 4.5.6.
Sequence Diagram - Hiển thị hồ sơ người dùng ...................................... 102 4.5.7.
Sequence Diagram - Chỉnh sửa trang cá nhân ........................................ 103
4.6. Kết luận chương ............................................................................................................. 103
CHƯƠNG 5: CÀI ĐẶT VÀ KẾT QUẢ THỬ NGHIỆM .............................................. 104
5.1. Môi trường triển khai .................................................................................................... 104
5.2. Cài đặt các chức năng chính ......................................................................................... 104
5.3. Kết quả thực nghiệm ..................................................................................................... 104
5.4. Đánh giá hệ thống .......................................................................................................... 104
Nhược điểm ............................................................................................................................ 104
Kết luận và hướng phát triển ............................. Lỗi! Thẻ đánh dấu không được xác định.
I. Kết quả đạt được ............................................................................................................... 105 7
II. Hạn chế ............................................................................................................................. 105
III. Hướng phát triển tiếp theo ............................................................................................ 105 8
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1. Lý do chọn đề tài (Đặt vấn đề)
Trong bối cảnh cuộc Cách mạng công nghiệp lần thứ tư đang diễn ra mạnh mẽ, Trí tuệ
nhân tạo (AI), đặc biệt là các Mô hình Ngôn ngữ Lớn (LLM), đã và đang tạo ra những bước đột
phá mang tính thay đổi sâu sắc. Tuy nhiên, việc tiếp cận các công cụ AI tiên tiến này thường gặp
rào cản về chi phí hoặc đòi hỏi người dùng phải có kiến thức kỹ thuật nhất định. Song song đó, xu
hướng kết nối và chia sẻ tri thức trên các nền tảng cộng đồng ngày càng trở nên quan trọng.
Thị trường Việt Nam, với một bối cảnh số đặc thù, là một minh chứng rõ nét cho tiềm năng
của đề tài. Theo các thống kê gần đây, Việt Nam có tới hơn 76.5 triệu người dùng hoạt động hàng
tháng trên các nền tảng xã hội, và 83% người dùng Internet tham gia tích cực vào các mạng xã hội.
Sự thống trị của các ứng dụng như Zalo, Facebook, TikTok đã định hình một thói quen "mobile-
first" (ưu tiên thiết bị di động) sâu sắc trong dân số. Đồng thời, sự tăng trưởng của các nền tảng
dựa trên văn bản (text-based platforms) như Threads và X cho thấy nhu cầu lớn về một không gian
trao đổi thông tin nhanh chóng, đặc biệt trong nhóm người dùng trẻ thuộc thế hệ Gen Z.
Tuy nhiên, qua khảo sát thực tế, có thể nhận thấy một khoảng trống đáng kể: sự thiếu vắng
một nền tảng chuyên biệt, miễn phí, kết hợp sức mạnh của AI chatbot với các tính năng
tương tác của mạng xã hội, được thiết kế tối ưu cho người dùng Việt Nam.
Người dùng hiện
tại buộc phải sử dụng các công cụ AI một cách riêng lẻ và tham gia thảo luận trên các diễn đàn,
mạng xã hội không chuyên biệt, tạo ra một trải nghiệm rời rạc và thiếu tính hệ thống.
Từ những phân tích trên, tính cấp thiết của đề tài được khẳng định:
Bình dân hóa công nghệ: Cần một giải pháp giúp người dùng cơ bản có thể dễ dàng tiếp
cận và khai thác công nghệ AI chatbot mà không gặp rào cản kỹ thuật hay tài chính.
Xây dựng cộng đồng tri thức: Cần một không gian tập trung để người dùng có thể chia
sẻ kiến thức, kinh nghiệm sử dụng, và cùng nhau đánh giá, khám phá các mô hình AI.
Đáp ứng xu hướng thị trường: Cần một sản phẩm tuân thủ nghiêm ngặt nguyên tắc thiết
kế ưu tiên di động (mobile-first), phù hợp với hành vi sử dụng của đại đa số người dùng trong nước.
Vì những lý do đó, đề tài “Xây dựng GTChat - Nền tảng Mạng xã hội và Tích hợp
Chatbot AI” được đề xuất nhằm phát triển một hệ sinh thái toàn diện, giải quyết các vấn đề đã nêu.
1.2. Mục tiêu và phạm vi nghiên cứu
Xây dựng và phát triển nền tảng GTChat thành một ứng dụng hoàn chỉnh, cung cấp dưới
dạng miễn phí, kết hợp liền mạch chức năng trò chuyện với AI và các tính năng tương tác mạng
xã hội, với kiến trúc ưu tiên cho thiết bị di động và có khả năng đáp ứng trên đa nền tảng.
Dựa trên các sản phẩm mẫu (prototype) đã được thiết kế trên Figma, đề tài đặt ra các mục tiêu cụ thể sau:
Phát triển giao diện: Hiện thực hóa giao diện người dùng (UI/UX) theo triết lý 9
mobile-first đã được thiết kế, đảm bảo tính trực quan và dễ sử dụng.
Xây dựng phiên bản đa nền tảng: Phát triển phiên bản cho máy tính (desktop)
như một sự nâng cấp tiến bộ (progressive enhancement) từ phiên bản di động, đồng bộ hóa
trải nghiệm và dữ liệu một cách nhất quán.
Tích hợp Chatbot: Tích hợp API của nhiều mô hình AI, quản lý và phân loại
chúng vào các danh mục chatbot chuyên dụng để phục vụ các nhu vực đa dạng (học tập,
lập trình, sáng tạo...).
Xây dựng thuật toán gợi ý: Nghiên cứu và phát triển thuật toán cho trang "Khám
phá", có khả năng cá nhân hóa và gợi ý nội dung (chatbot, bài viết) phù hợp với hành vi và
sở thích của người dùng.
Đối tượng người dùng: Cộng đồng người dùng phổ thông từ 18 tuổi trở lên tại
Việt Nam, quan tâm đến công nghệ AI nhưng không yêu cầu có trình độ kỹ thuật chuyên sâu.
Nền tảng phát triển: Xây dựng dưới dạng một Ứng dụng web lũy tiến (Progressive
Web App - PWA) để đảm bảo khả năng tiếp cận trên mọi thiết bị (di động, máy tính bảng,
máy tính) thông qua trình duyệt web.
Phạm vi chức năng: Tập trung vào các tính năng cốt lõi bao gồm: tương tác
chatbot, đăng tải bài viết, bình luận, đánh giá, chia sẻ, và khám phá nội dung.
Phạm vi địa lý: Ban đầu tập trung vào thị trường Việt Nam, với kiến trúc được
thiết kế để có khả năng mở rộng ra các thị trường khác trong tương lai.
1.3. Đối tượng và phương pháp nghiên cứu
Đối tượng chính: Kiến trúc và mô hình của một nền tảng tích hợp AI chatbot và cộng đồng trực tuyến.
Đối tượng khảo sát: Người dùng cuối (end-users) có độ tuổi từ 18 trở lên, có hành vi sử
dụng mạng xã hội và quan tâm tới công nghệ.
Các trường hợp sử dụng (Use Cases): Tập trung vào các kịch bản phục vụ mục đích kết
nối cộng đồng, hỗ trợ giáo dục và thúc đẩy sáng tạo.
Đề tài áp dụng tổng hợp các phương pháp nghiên cứu hiện đại trong lĩnh vực phát triển phần mềm:
Phương pháp nghiên cứu người dùng:
Tiến hành lập bản đồ hành trình người dùng (User Journey Mapping) dựa trên kết
quả kiểm thử các prototype.
Phân tích hành vi cộng đồng dựa trên các mô hình thành công và thói quen sử dụng
mạng xã hội của người Việt.
Thực hiện kiểm thử khả năng sử dụng (Usability Testing) với các mẫu thiết kế trên
Figma cho cả hai nền tảng di động và máy tính. 10
Phương pháp thiết kế và phát triển:
Tuân thủ phương pháp luận thiết kế ưu tiên di động (Mobile-First Design).
Áp dụng kỹ thuật nâng cấp tiến bộ (Progressive Enhancement) để mở rộng tính
năng từ phiên bản di động lên máy tính.
Xây dựng một hệ thống thiết kế dựa trên thành phần (Component-Based Design
System) để đảm bảo tính nhất quán và khả năng tái sử dụng trong toàn bộ ứng dụng.
Phương pháp nghiên cứu kỹ thuật:
Nghiên cứu các mẫu thiết kế tích hợp API (API Integration Patterns) để làm việc
hiệu quả với nhiều nhà cung cấp chatbot.
Phân tích các kiến trúc cho tính năng xã hội (Social Features Architecture) nhằm
đảm bảo khả năng mở rộng trong tương lai.
Nghiên cứu các kỹ thuật tối ưu hóa hiệu suất cho thiết bị di động và các kỹ thuật xử
lý ngôn ngữ tự nhiên tiếng Việt cơ bản.
1.4. Ý nghĩa khoa học và thực tiễn
Đóng góp vào lĩnh vực nghiên cứu thiết kế phần mềm một trường hợp điển hình (case
study) về việc xây dựng nền tảng chatbot kết hợp cộng đồng theo triết lý mobile-first cho thị trường đặc thù như Việt Nam.
Đề xuất và thử nghiệm một thuật toán khám phá nội dung, góp phần vào lĩnh vực hệ thống
gợi ý (recommender systems) cho các nền tảng có nội dung đa dạng (công cụ và xã hội).
Cung cấp dữ liệu nghiên cứu về trải nghiệm người dùng đa thiết bị (cross-device UX) thông
qua quá trình kiểm thử và phát triển PWA.
Bình dân hóa AI: Tạo ra một nền tảng miễn phí, đóng vai trò là cầu nối giúp đông đảo
người dùng Việt Nam tiếp cận công nghệ AI, góp phần thực hiện mục tiêu chuyển đổi số quốc gia.
Xây dựng cộng đồng: Trở thành hạt nhân hình thành một cộng đồng AI mạnh mẽ tại Việt
Nam, là nơi quy tụ, chia sẻ và lan tỏa tri thức.
Tối ưu hóa cho di động: Đáp ứng nhu cầu thực tế của thị trường khi có đến 88% thời gian
trực tuyến của người Việt được dành cho ứng dụng di động.
Tác động kinh tế - xã hội: Hỗ trợ các doanh nghiệp vừa và nhỏ (SMEs), sinh viên, và cá
nhân có cơ hội tìm hiểu, ứng dụng các giải pháp AI mà không tốn chi phí ban đầu, từ đó
nâng cao năng lực cạnh tranh và kỹ năng số.
1.5. Bố cục đồ án
Ngoài phần Mở đầu, Kết luận và Tài liệu tham khảo, nội dung chính của báo cáo được cấu
trúc thành các chương sau:
Chương 1 - Tổng quan đề tài: Giới thiệu tổng quan về nền tảng GTChat, luận giải lý do 11
chọn đề tài, xác định mục tiêu, phạm vi, phương pháp nghiên cứu và ý nghĩa của đề tài.
Chương 2 - Cơ sở lý thuyết: Trình bày các cơ sở lý luận về kiến trúc phần mềm, các mô
hình thiết kế ưu tiên di động, và các nguyên tắc xây dựng nền tảng mạng xã hội.
Chương 3 - Phân tích hệ thống: Phân tích chi tiết các yêu cầu chức năng và phi chức
năng rút ra từ khảo sát và prototype, phân tích kịch bản tương thích mobile-desktop, và mô hình
hóa hệ thống bằng ngôn ngữ UML.
Chương 4 - Thiết kế hệ thống: Trình bày chi tiết các quyết định thiết kế, bao gồm kiến
trúc hệ thống, thiết kế cơ sở dữ liệu, thiết kế API, và thiết kế các thành phần giao diện dựa trên bản dựng Figma.
Chương 5 - Cài đặt và triển khai: Mô tả kế hoạch và quá trình hiện thực hóa sản phẩm
từ các bản thiết kế, chiến lược kiểm thử đa nền tảng, và đề xuất kế hoạch triển khai, phát triển trong tương lai. 12
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan lĩnh vực
Dự án GTChat được định vị là một hệ thống tích hợp phức hợp, nằm ở giao điểm của ba
lĩnh vực công nghệ cốt lõi: Hệ thống thông tin quản lý (MIS), Trí tuệ nhân tạo Ứng dụng
(Applied AI)
, và Nền tảng Mạng xã hội (Social Network Platforms).
Hệ thống thông tin quản lý: Đây là nền tảng của dự án, chịu trách nhiệm quản lý toàn bộ
vòng đời dữ liệu. Hệ thống không chỉ quản lý nội dung do người dùng tạo ra (bài đăng, bình luận)
mà còn phải quản lý một thư viện các chatbot chuyên dụng do chính GTChat biên soạn và
cung cấp
. Điều này đòi hỏi một hệ thống backend vững chắc để lưu trữ, phân loại, và quản lý các
cấu hình chatbot này, đặc biệt là các "System Prompt" định nghĩa hành vi cho từng chatbot.
Trí tuệ nhân tạo Ứng dụng và Tích hợp API: Trọng tâm của dự án là việc khai thác sức
mạnh của các Mô hình Ngôn ngữ Lớn (LLM) từ bên thứ ba thông qua API. GTChat hoạt động
như một lớp trung gian (middleware layer) thông minh. Thay vì chỉ đơn thuần chuyển tiếp yêu cầu
của người dùng, hệ thống sẽ chèn thêm các "System Prompt" đã được định nghĩa trước để "hướng
dẫn" LLM tổng quát hành xử theo một vai trò chuyên biệt (ví dụ: trợ lý lập trình, chuyên gia ngôn ngữ, nhà nghiên cứu).
Nền tảng Mạng xã hội: Yếu tố cộng đồng được xây dựng xung quanh các công cụ AI do
GTChat cung cấp. Đây là không gian để người dùng thảo luận, đánh giá hiệu quả của các mô hình,
chia sẻ các mẹo sử dụng chatbot hiệu quả, và đăng tải các bài viết phân tích về lĩnh vực AI. Trang
"Khám phá" không chỉ giúp người dùng tìm kiếm chatbot và hiển thị các bài viết liên quan giúp
người dùng có cái nhìn trực quan, tạo ra một vòng lặp tương tác giá trị giữa công cụ và cộng đồng.
2.2. Các khái niệm và mô hình liên quan
Để đảm bảo tính khoa học và khả năng mở rộng, dự án áp dụng các mô hình và khái niệm đã được chuẩn hóa.
UML là công cụ trực quan hóa thiết kế hệ thống.
Biểu đồ Ca sử dụng (Use Case Diagram): Phân định rõ vai trò của người dùng cuối và quản trị viên.
Actor "Người dùng" (User): Quản lý tài khoản, Trò chuyện với LLM tổng quát,
Tìm kiếm và sử dụng Chatbot chuyên dụng, Tạo bài đăng, Bình luận/Thích bài
đăng
, Đánh giá Chatbot.
Biểu đồ Lớp (Class Diagram): Mô tả cấu trúc tĩnh của hệ thống. Lớp SpecializedBot sẽ
là một thực thể trung tâm, chứa các thuộc tính quan trọng như name, description, category,
và quan trọng nhất là system_prompt (kiểu text). Lớp này sẽ không có mối quan hệ "tạo
bởi" trực tiếp với lớp User, thay vào đó nó được quản lý bởi Quản trị viên và có mối quan
hệ "sử dụng bởi" nhiều User.
Mô hình quan hệ là lựa chọn phù hợp để quản lý dữ liệu có cấu trúc và các mối liên kết chặt chẽ. 13
Thiết kế Lược đồ (Schema Design): Sẽ có một bảng Specialized_Bots làm bảng "master"
chứa danh sách các chatbot do GTChat cung cấp. Bảng này sẽ có các trường như id, name,
description, system_prompt, base_llm_id (tham chiếu đến LLM nền tảng được sử dụng).
Các bảng khác như Posts, Comments, Likes có thể sẽ có khóa ngoại tham chiếu đến
Specialized_Bots.id để người dùng có thể thảo luận hoặc đánh giá một chatbot cụ thể.
Kiến trúc 3 lớp giúp phân tách rõ ràng các thành phần chức năng:
2.2.1. Lớp Trình diễn (Presentation Layer): Giao diện ứng dụng di động (Flutter), nơi người dùng tương tác.
Đăng nhập – Cho phép người dùng truy cập vào hệ thống bằng email hoặc tài khoản mạng xã hội.
Quên mật khẩu – Hỗ trợ người dùng đặt lại mật khẩu qua email xác thực.
Đăng xuất – Kết thúc phiên làm việc và đưa người dùng về trang đăng nhập.
Chat với mô hình / Chatbot – Cung cấp giao diện trò chuyện giữa người dùng và mô hình AI.
Gửi yêu cầu API tới server – Chuyển yêu cầu từ giao diện đến các dịch vụ xử lý nghiệp vụ.
Khám phá – Hiển thị danh sách chatbot, mô hình hoặc bài đăng nổi bật.
Tạo bài đăng / tương tác cộng đồng – Cho phép người dùng viết bài, thích, bình luận hoặc chia sẻ.
Thông báo – Hiển thị các thông báo mới nhận được.
Cập nhật hồ sơ / Cài đặt – Cho phép người dùng chỉnh sửa thông tin cá nhân và tùy chỉnh giao diện.
2.2.2. Lớp Logic nghiệp vụ (Business Logic Layer): Xử lý toàn bộ logic cốt lõi. Khi người
dùng chọn một chatbot chuyên dụng và gửi tin nhắn, lớp nghiệp vụ sẽ có trách nhiệm:
Xác thực người dùng (Login/OAuth) – Kiểm tra thông tin đăng nhập, tạo hoặc xác minh phiên làm việc.
Xử lý Chatbot (System Prompt, Gọi mô hình LLM) – Tạo yêu cầu hội thoại và gửi đến
mô hình AI để sinh phản hồi.
Tìm kiếm mô hình / Chatbot – Lọc và trả về danh sách mô hình phù hợp theo truy vấn người dùng.
Hiển thị thông tin chi tiết Chatbot – Lấy dữ liệu mô tả, thông số và hiệu suất của từng chatbot.
Xử lý bài đăng – Tạo, chỉnh sửa hoặc xóa bài đăng người dùng gửi lên.
Tương tác (Like, Bình luận, Chia sẻ) – Quản lý các hành động tương tác với bài viết.
Quản lý thông báo – Gửi, lưu và đồng bộ thông báo đến người dùng.
Cài đặt tài khoản – Thay đổi ngôn ngữ, giao diện hoặc tùy chọn thông báo.
Cập nhật / Chỉnh sửa hồ sơ – Xử lý yêu cầu thay đổi thông tin cá nhân của người dùng. 14
2.2.3. Lớp Truy cập dữ liệu (Data Access Layer): Chịu trách nhiệm giao tiếp với CSDL, cung
cấp dữ liệu (như system_prompt, thông tin bài đăng) cho lớp nghiệp vụ.
Bảng User – Lưu thông tin người dùng (email, tên, mật khẩu, token phiên).
Bảng Models – Lưu dữ liệu về mô hình AI (cấu hình, phiên bản, mô tả).
Bảng Chatbots – Lưu thông tin chatbot và prompt khởi tạo.
Bảng Chat_history – Ghi lại lịch sử hội thoại giữa người dùng và chatbot.
Bảng Post – Lưu nội dung bài đăng trong cộng đồng.
Bảng Post_like / share / comment – Lưu các tương tác của người dùng với bài viết.
Bảng Notification – Lưu thông báo gửi đến người dùng.
Bảng User_settings – Lưu tùy chỉnh ngôn ngữ, chủ đề và chế độ thông báo.
Bảng User_profiles – Lưu thông tin hồ sơ cá nhân và ảnh đại diện của người dùng.
2.3. Các công trình, nghiên cứu liên quan
Phân tích các sản phẩm tương tự giúp định vị GTChat và học hỏi các mô hình thành công. Hệ thống Ưu điểm Nhược điểm Bài học cho GTChat Character.AI
- Cung cấp một thư - Yếu tố cộng đồng - Chất lượng và sự đa dạng
viện khổng lồ các không mạnh, chủ yếu là của thư viện chatbot được
chatbot chuyên biệt để người dùng tạo và biên soạn là yếu tố sống
(dựa trên các nhân chia sẻ các "nhân vật" còn. vật). của riêng họ.
- GTChat cần tập trung vào
- Trải nghiệm tương - Ít tập trung vào các các chatbot hữu ích cho học
tác rất tập trung và chatbot mang tính công tập, nghiên cứu, lập trình để thú vị. cụ/học thuật. tạo ra sự khác biệt. Poe by Quora
- Cho phép người - Chất lượng của các - Việc GTChat biên soạn
dùng tự tạo bot bằng bot do người dùng tạo và kiểm duyệt chất lượng
prompt, tạo ra sự đa ra không đồng đều, có chatbot là một lợi thế cạnh dạng lớn. nhiều bot "rác".
tranh quan trọng, đảm bảo
trải nghiệm người dùng
- Tích hợp nhiều - Người dùng có thể bị luôn ở mức cao. LLM nền tảng. choáng ngợp bởi số lượng. 15 ChatGPT
- Tính năng mạnh - Yêu cầu người dùng - Cung cấp các công cụ chất (Custom
mẽ, cho phép người phải có tài khoản trả lượng cao, chuyên dụng là GPTs)
dùng chuyên sâu tạo phí (Plus). một nhu cầu có thật. ra các GPT tùy chỉnh
GTChat có thể nhắm đến - Là một tính năng với kiến thức và hành
việc cung cấp các công cụ trong một hệ sinh thái động riêng.
này một cách dễ tiếp cận
lớn, không phải là một hơn và xây dựng một cộng
nền tảng cộng đồng độc đồng xung quanh chúng. lập.
Bảng 2.3.1. So sánh giữa GTChat và các sản phẩm liên quan
2.4. Công nghệ, ngôn ngữ và công cụ sử dụng
Lựa chọn công nghệ được thực hiện dựa trên yêu cầu của dự án và sự phổ biến trong ngành.
Frontend (Ứng dụng di động): Ngôn ngữ/Framework: Dart/Flutter. Lựa chọn tối ưu cho
việc xây dựng ứng dụng di động đa nền tảng với giao diện người dùng phức tạp, hiệu năng cao.
Backend (Máy chủ ứng dụng): Ngôn ngữ/Framework: Python với Django. Django là
một lựa chọn rất phù hợp cho mô hình này vì nó cung cấp sẵn một giao diện quản trị (Admin
Panel) cực kỳ mạnh mẽ. Giao diện này cho phép các Quản trị viên của GTChat có thể dễ dàng
thêm, sửa, xóa và quản lý toàn bộ thư viện chatbot chuyên dụng và các System Prompt của chúng
mà không cần viết thêm nhiều mã lệnh.
Cơ sở dữ liệu: Hệ quản trị CSDL: PostgreSQL. Mạnh mẽ, ổn định, và có khả năng mở
rộng tốt để xử lý cả dữ liệu quan hệ của mạng xã hội và lưu trữ các chuỗi văn bản dài của System Prompt.
Công cụ phát triển và Quản lý:

IDE: Visual Studio Code.
Hệ thống quản lý phiên bản: Git / GitHub.
Kiểm thử API: Postman.
Thiết kế UI/UX: Figma.
Quản lý dự án: Trello hoặc Jira. 16
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG
3.1. Khảo sát hiện trạng
Để xác định rõ các yêu cầu và mục tiêu cho GTChat, đội ngũ đã tiến hành khảo sát quy
trình mà người dùng hiện tại đang thực hiện để đáp ứng các nhu cầu tương tự, từ đó chỉ ra những
bất cập cần được giải quyết.
Hiện tại, không có một hệ thống duy nhất nào đáp ứng trọn vẹn nhu cầu vừa sử dụng công
cụ AI, vừa tham gia cộng đồng thảo luận chuyên sâu. Quy trình của người dùng mục tiêu thường
diễn ra một cách rời rạc và phân mảnh qua nhiều nền tảng khác nhau:
1. Sử dụng các mô hình AI: Người dùng phải truy cập vào nhiều website hoặc ứng dụng
riêng biệt như trang chủ của ChatGPT, Google Gemini, Poe, Perplexity AI, etc. để tương
tác với các LLM khác nhau. Mỗi lần chuyển đổi, họ phải mở tab mới, đăng nhập lại và ngữ
cảnh trò chuyện không được liên kết.
2. Tìm kiếm các công cụ chuyên dụng: Khi cần một chatbot cho mục đích cụ thể (ví dụ: hỗ
trợ viết code, dịch thuật), người dùng thường phải tìm kiếm trên Google, đọc các bài blog
review, hoặc tìm trong các danh sách tổng hợp. Quá trình này tốn thời gian và kết quả
thường không được đảm bảo về chất lượng.
3. Tham gia thảo luận và học hỏi: Người dùng tìm đến các cộng đồng trực tuyến như các
subreddit (ví dụ: r/ChatGPT, r/LocalLLaMA), các nhóm Facebook, diễn đàn công nghệ,
hoặc blog để đọc các bài đánh giá, chia sẻ các "prompt" hay, hoặc thảo luận về các tin tức
mới nhất trong lĩnh vực AI.
4. Áp dụng kiến thức: Sau khi thu thập được một kỹ thuật hay một "prompt" thú vị từ cộng
đồng, người dùng lại phải quay trở lại các ứng dụng chatbot ở bước 1 để thử nghiệm và áp dụng.
Quy trình nghiệp vụ hiện tại bộc lộ nhiều vấn đề và hạn chế lớn:
Trải nghiệm người dùng phân mảnh: Người dùng buộc phải di chuyển liên tục giữa các
nền tảng khác nhau (nền tảng chat AI, nền tảng mạng xã hội, blog), gây ra sự bất tiện và
làm gián đoạn luồng công việc, tư duy.
Thiếu tính hợp nhất: Không có sự liên kết chặt chẽ giữa "công cụ" và "cộng đồng". Kiến
thức thảo luận trên mạng xã hội không được tích hợp trực tiếp vào công cụ và ngược lại.
Khó khăn trong việc khám phá và đánh giá: Việc tìm kiếm một chatbot tùy chỉnh chất
lượng cao, phù hợp với nhu cầu là một thách thức. Người dùng thiếu một nguồn đáng tin
cậy để khám phá và xem các đánh giá khách quan từ những người dùng khác.
Thiếu môi trường tập trung: Chưa có một "mái nhà chung" cho cộng đồng yêu thích và
làm việc với AI tại Việt Nam, nơi họ vừa có thể sử dụng các công cụ mạnh mẽ, vừa có thể
xây dựng tri thức và kết nối với nhau.
=> Kết luận: Tồn tại một khoảng trống lớn trên thị trường cho một ứng dụng "tất cả trong một",
hợp nhất trải nghiệm sử dụng chatbot AI với một không gian cộng đồng sôi nổi và chuyên môn. 17
GTChat được đề xuất để giải quyết chính xác khoảng trống này.
3.2. Phân tích yêu cầu
BR1: Xây dựng một nền tảng di động duy nhất, cung cấp giao diện hợp nhất để tương tác
với nhiều mô hình LLM và các chatbot chuyên dụng.
BR2: Phát triển một thư viện các chatbot chuyên dụng, được GTChat biên soạn và đảm
bảo chất lượng, phục vụ các nhu cầu phổ biến như học tập, nghiên cứu, lập trình.
BR3: Xây dựng các tính năng mạng xã hội cho phép người dùng tạo và chia sẻ nội dung,
thảo luận, đánh giá về các mô hình AI và chatbot.
BR4: Cung cấp một trải nghiệm người dùng liền mạch, trực quan, khuyến khích sự tương
tác và gắn bó lâu dài của người dùng với nền tảng.
Các yêu cầu chức năng được phân loại thành các module chính như sau:
FN-AUTH (Module Quản lý Người dùng)
FN-AUTH-01: Hệ thống cho phép người dùng đăng ký tài khoản mới bằng email và mật khẩu.
FN-AUTH-02: Hệ thống cho phép người dùng đăng nhập vào ứng dụng bằng tài khoản đã đăng ký.
FN-AUTH-03: Hệ thống cho phép người dùng đăng nhập/đăng ký bằng các nền
tảng bên thứ ba như Google, Apple,..
FN-AUTH-04: Hệ thống cho phép người dùng đăng xuất khỏi tài khoản.
FN-AUTH-05: Hệ thống cho phép người dùng quên mật khẩu và cập nhật lại mật khẩu.
FN-AUTH-06: Hệ thống cho phép người dùng xem và chỉnh sửa thông tin hồ sơ cá
nhân (tên hiển thị, ảnh đại diện, tiểu sử).
FN-CHAT (Module Tương tác AI)
FN-CHAT-01: Hệ thống cung cấp giao diện trò chuyện trực quan để người dùng
có thể gửi tin nhắn và nhận phản hồi từ AI.
FN-CHAT-02: Hệ thống cho phép người dùng lựa chọn và trò chuyện với các LLM
nền tảng (GPT, Gemini, Claude...).
FN-CHAT-03: Hệ thống cho phép người dùng lựa chọn và sử dụng các chatbot
chuyên dụng từ thư viện do GTChat cung cấp.
FN-CHAT-04: Hệ thống lưu trữ và hiển thị lịch sử các cuộc trò chuyện của người dùng.
FN-SOCIAL (Module Mạng xã hội)
FN-SOCIAL-01: Hệ thống cho phép người dùng tạo một bài đăng mới với nội dung văn bản và hình ảnh.
FN-SOCIAL-02: Hệ thống hiển thị các bài đăng từ cộng đồng trên một dòng thời gian (timeline).
FN-SOCIAL-03: Hệ thống cho phép người dùng xem chi tiết một bài đăng.
FN-SOCIAL-04: Hệ thống cho phép người dùng viết bình luận cho một bài đăng.
FN-SOCIAL-05: Hệ thống cho phép người dùng "Thích" một bài đăng hoặc một 18 bình luận.
FN-SOCIAL-06: Hệ thống cho phép người dùng chia sẻ một bài đăng.
FN-DISCOVERY (Module Khám phá)
FN-DISCOVERY-01: Hệ thống cung cấp một trang "Khám phá" để giới thiệu các
chatbot chuyên dụng và các bài đăng nổi bật.
FN-DISCOVERY-02: Hệ thống cho phép người dùng tìm kiếm chatbot hoặc bài đăng theo từ khóa.
FN-DISCOVERY-03: Hệ thống cho phép người dùng lọc chatbot theo danh mục
(học tập, lập trình, nghiên cứu...).
FN-DISCOVERY-04: Hệ thống cho phép người dùng đánh giá (xếp hạng sao) và
viết nhận xét cho các chatbot chuyên dụng.
NFR-PERF-01 (Hiệu năng): Thời gian phản hồi của các thao tác trên giao diện người
dùng (mở màn hình, cuộn danh sách) phải dưới 1 giây. Thời gian nhận phản hồi từ AI phụ
thuộc vào API của bên thứ ba nhưng hệ thống phải hiển thị trạng thái chờ một cách rõ ràng.
NFR-USAB-01 (Tính dễ sử dụng): Giao diện ứng dụng phải được thiết kế trực quan, nhất
quán, và dễ dàng cho người dùng mới làm quen và sử dụng.
NFR-SECU-01 (Bảo mật): Mật khẩu người dùng phải được băm (hashing) trước khi lưu
vào cơ sở dữ liệu. Mọi giao tiếp giữa client và server phải được mã hóa bằng giao thức HTTPS.
NFR-AVAIL-01 (Tính sẵn sàng): Hệ thống phải đảm bảo độ sẵn sàng 99.5%, giảm thiểu
thời gian chết (downtime).
NFR-SCAL-01 (Khả năng mở rộng): Kiến trúc backend phải cho phép dễ dàng tích hợp
thêm các mô hình LLM mới trong tương lai mà không ảnh hưởng lớn đến các thành phần hiện có.
3.3. Mô hình ca sử dụng (Use Case Model)
Trong giai đoạn phân tích yêu cầu của quy trình phát triển phần mềm, Biểu đồ Ca sử dụng
(Use Case Diagram) là một trong những công cụ mô hình hóa quan trọng nhất của UML. Nó xuất
phát từ nguyên tắc cơ bản rằng một hệ thống được định nghĩa bởi các chức năng mà nó cung cấp
cho môi trường xung quanh.
Tương tác và Tác nhân (Actor): Một hệ thống không tồn tại một cách độc lập mà luôn
tương tác với các Tác nhân (Actor) bên ngoài. Tác nhân có thể là một người dùng cuối,
một hệ thống phần cứng/phần mềm khác, hoặc thậm chí là thời gian (đối với các tác vụ theo lịch trình).
Hành vi và Ca sử dụng (Use Case): Các hành vi của hệ thống, hay các chức năng mà nó
cung cấp cho tác nhân, được mô tả thông qua các Ca sử dụng (Use Case). Mỗi ca sử dụng
là một chuỗi các hành động mà hệ thống thực hiện để mang lại một kết quả có giá trị cho một tác nhân cụ thể.
Nguyên tắc "What, not How": Điểm đặc trưng quan trọng nhất của phân tích ca sử dụng
là sự tập trung vào yêu cầu chức năng (What), hoàn toàn bỏ qua các chi tiết về cách thức
cài đặt (How)
. Nguyên tắc này giúp giữ cho giai đoạn phân tích tập trung vào yêu cầu 19
nghiệp vụ, tránh sa đà vào các quyết định thiết kế sớm.
Tóm lại, Biểu đồ Ca sử dụng đóng vai trò như một "bản đồ chức năng" của hệ thống. Nó mô tả một cách trực quan:
• Các chức năng mong đợi của hệ thống (các use case).
• Môi trường tương tác của nó (các actor).
• Ranh giới giữa bên trong và bên ngoài hệ thống.
3.3.1. Danh sách các Use case
Mô hình ca sử dụng mô tả các tương tác giữa người dùng (actor) và hệ thống để đạt được một mục tiêu cụ thể. STT Tên Use Case Mô tả
Người dùng cung cấp thông tin (email, mật khẩu) để 1 Đăng ký
tạo một tài khoản mới trên hệ thống.
Người dùng cung cấp email và mật khẩu để xác thực và 2 Đăng nhập truy cập vào hệ thống.
Người dùng kết thúc phiên làm việc và đăng xuất khỏi 3 Đăng xuất tài khoản hiện tại.
Người dùng quên mật khẩu từ một tài khoản đã đăng 4 Quên mật khẩu ký trước đây.
Người dùng xem và cập nhật các thông tin cá nhân như 5 Trang cá nhân
tên hiển thị, ảnh đại diện, tiểu sử. Trò chuyện với
Người dùng bắt đầu một cuộc trò chuyện, gửi tin nhắn 6 AI(Chatbot)
tới một LLM nền tảng và nhận phản hồi.
Người dùng soạn thảo và đăng tải một bài viết mới 7 Tạo bài đăng
(văn bản, hình ảnh) lên cộng đồng.
Hệ thống hiển thị một danh sách các bài đăng cho 8 Cộng đồng
người dùng xem. Người dùng thực hiện tương tác đối
với bài đăng, xem trang cá nhân của các user khác
Người dùng sử dụng chức năng tìm kiếm, duyệt trang 9 Khám phá
Khám phá để tìm chatbot hoặc bài viết theo nhu cầu. 10 Thông báo
Người dùng tương tác, bật tắt thông báo. 20