Báo cáo đồ án 2
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI:
Tích hợp mạng xã hội vào ứng dụng bán máy chơi
game hệ console
Giảng viên:
Trần Anh Dũng
Sinh viên thực hiện: Hoàng Mạnh Tân
Thành phố Hồ Chí Minh, năm 2022
19522170
Báo cáo đồ án 2
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI:
Tích hợp mạng xã hội vào ứng dụng bán máy chơi
game hệ console
Giảng viên:
Trần Anh Dũng
Sinh viên thực hiện: Hoàng Mạnh Tân
Thành phố Hồ Chí Minh, năm 2022
19522170
Báo cáo đồ án 2
Mục lục
Mục lục ...............................................................................................................................................................................1
Mục lục hình ảnh ................................................................................................................................................................3
DANH MỤC TỪ VIẾT TẮT .............................................................................................................................................4
LỜI CẢM ƠN.....................................................................................................................................................................5
ĐỀ CƯƠNG CHI TIẾT ......................................................................................................................................................6
NỘI DUNG ......................................................................................................................................................................10
CHƯƠNG 1: GIỚI THIỆU CHUNG .......................................................................................................................10
1.1 Tổng quan đề tài .........................................................................................................................................10
1.2 Lý do chọn đề tài ........................................................................................................................................10
1.3 Đối tượng sử dụng ......................................................................................................................................11
1.4 Phạm vi nghiên cứu ....................................................................................................................................11
1.4.1 Phạm vi môi trường: ........................................................................................................................11
1.4.2 Phạm vi chức năng: .........................................................................................................................11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .........................................................................................................................12
2.1 Android Studio ...........................................................................................................................................12
2.2 Dart .............................................................................................................................................................13
2.3 Flutter .........................................................................................................................................................14
2.4 Firebase.......................................................................................................................................................15
2.5 GitHub ........................................................................................................................................................16
2.6 NodeJs ........................................................................................................................................................17
2.7 Tensorflow..................................................................................................................................................18
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG.....................................................................................................................19
3.1 Kiến trúc hệ thống: Mô hình MVVM .........................................................................................................19
3.2 Chi tiết các thành phần trong hệ thống .......................................................................................................20
CHƯƠNG 4: ĐẶC TẢ USE CASE .........................................................................................................................21
4.1 Sơ đồ Use Case ...........................................................................................................................................21
4.2 Danh sách tác nhân .....................................................................................................................................22
4.3 Danh sách Use Case ...................................................................................................................................22
4.4 Mô tả chi tiết Use Case ...............................................................................................................................24
CHƯƠNG 5: THIẾT KẾ CƠ SỞ DỮ LIỆU ............................................................................................................48
5.1 Sơ đồ logic ..................................................................................................................................................48
5.2 Danh sách các quan hệ................................................................................................................................49
5.2.1 Bảng Users:......................................................................................................................................49
5.2.2 Bảng Posts: ......................................................................................................................................49
5.2.3. Bảng Watches: ................................................................................................................................49
5.2.4. Bảng Comment: ..............................................................................................................................50
5.2.5. Bảng Notification: ..........................................................................................................................50
5.2.6. Bảng Message .................................................................................................................................50
5.2.7. Bảng contentMessage .....................................................................................................................50
CHƯƠNG 6: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG ..........................................................................................51
6.1 Screen flow .................................................................................................................................................51
6.2 Danh sách màn hình ...................................................................................................................................52
6.3 Mơ tả chi tiết ...............................................................................................................................................53
6.3.1 Navigation .......................................................................................................................................53
6.3.2 Trang chủ .........................................................................................................................................54
6.3.3 Trang bình luận bài viết ...................................................................................................................55
6.3.4 Trang thêm bài viết ..........................................................................................................................57
6.3.5 Trang tìm kiếm ................................................................................................................................58
6.3.6 Trang Watch ....................................................................................................................................59
6.3.7 Trang thêm video .............................................................................................................................60
6.3.8 Trang bình luận video ......................................................................................................................61
6.3.9 Trang danh sách tin nhắn .................................................................................................................63
6.3.10 Trang nhắn tin với người dùng khác ..............................................................................................64
1
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
6.3.11 Trang hồ sơ ....................................................................................................................................65
6.3.12 Trang chi tiết bài viết .....................................................................................................................66
6.3.13 Trang hồ sơ người dùng khác ........................................................................................................68
6.3.14 Trang danh sách người đang theo dõi ............................................................................................70
6.3.15 Trang danh sách người theo dõi ....................................................................................................72
CHƯƠNG 7: CÀI ĐẶT VÀ KIỂM THỬ ................................................................................................................74
7.1 Môi trường cài đặt và kiểm thử ..................................................................................................................74
7.2 Kết quả kiểm thử ........................................................................................................................................74
CHƯƠNG 8: KẾT LUẬN ........................................................................................................................................75
8.1 Tổng kết ......................................................................................................................................................75
8.2 Khó khăn ....................................................................................................................................................75
8.3 Kết quả thu được ........................................................................................................................................76
8.4 Hạn chế của đồ án.......................................................................................................................................76
8.5 Hướng phát triển đồ án ...............................................................................................................................76
TÀI LIỆU THAM KHẢO ................................................................................................................................................77
2
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
Mục lục hình ảnh
Hình 1 Android Studio .....................................................................................................................................................12
Hình 2 Ngơn ngữ lập trình Dart........................................................................................................................................13
Hình 3 Flutter ...................................................................................................................................................................14
Hình 4 Hệ quản trị cơ sở dữ liệu Firebase ........................................................................................................................15
Hình 5 Hệ thống quản lý mã nguồn GitHub .....................................................................................................................16
Hình 6 NodeJS..................................................................................................................................................................17
Hình 7 Tensorflow............................................................................................................................................................18
Hình 8 Mơ hình MVVM...................................................................................................................................................19
Hình 9 Sơ đồ Use Case .....................................................................................................................................................21
Hình 10 UC Đăng tải bài viết ...........................................................................................................................................24
Hình 11 UC Thích bài viết ...............................................................................................................................................26
Hình 12 UC Bình luận bài viết .........................................................................................................................................28
Hình 13 UC Xóa bài viết ..................................................................................................................................................30
Hình 14 UC Đăng tải video ngắn .....................................................................................................................................32
Hình 15 UC Thích video ..................................................................................................................................................34
Hình 16 UC Bình luận video ............................................................................................................................................36
Hình 17 UC Nhắn tin ........................................................................................................................................................38
Hình 18 UC Thơng báo ....................................................................................................................................................40
Hình 19 UC Theo dõi tài khoản khác ...............................................................................................................................42
Hình 20 UC Cập nhật ảnh đại diện ...................................................................................................................................44
Hình 21 UC Tìm kiếm ......................................................................................................................................................46
Hình 22 Sơ đồ cơ sở dữ liệu .............................................................................................................................................48
Hình 23 Screen flow Người dùng .....................................................................................................................................51
Hình 24 Navigation ..........................................................................................................................................................53
Hình 25 Trang chủ ............................................................................................................................................................54
Hình 26 Trang bình luận bài viết ......................................................................................................................................55
Hình 27 Trang thêm bài viết .............................................................................................................................................57
Hình 28 Trang tìm kiếm ...................................................................................................................................................58
Hình 29 Trang Watch .......................................................................................................................................................59
Hình 30 Trang thêm video ................................................................................................................................................60
Hình 31 Trang bình luận video .........................................................................................................................................61
Hình 32 Trang danh sách tin nhắn ....................................................................................................................................63
Hình 33 Trang nhắn tin với người dùng khác...................................................................................................................64
Hình 34 Trang hồ sơ .........................................................................................................................................................65
Hình 35 Trang chi tiết bài viết ..........................................................................................................................................66
Hình 36 Trang hồ sơ người dùng khác .............................................................................................................................68
Hình 37 Trang danh sách người đang theo dõi .................................................................................................................70
Hình 38 Trang danh sách người theo dõi .........................................................................................................................72
3
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
DANH MỤC TỪ VIẾT TẮT
#
Từ viết tắt
Từ đầy đủ
Ý nghĩa
1
CSDL
Cơ sở dữ liệu
Cơ sở dữ liệu cho ứng dụng
2
API
Application Programming
Interface
Giao diện lập trình ứng dụng
3
MVVM
Model-View-ViewModel
Mơ hình lập trình
4
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 2 của mình.
Để hồn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã
tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình
giúp đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức
quý báu khơng chỉ trong q trình thực hiện luận văn này mà còn là hành trang tiếp
bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cơ trong
khoa, bạn bè, tập thể lớp KTPM2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ
trong học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.
Trong q trình làm Đồ án này chúng em khơng tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để hoàn thiện và
phát triển hơn trong tương lai.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.
Thành phố Hồ Chí Minh, 20 tháng 12 năm 2022
Sinh viên
HỒNG MẠNH TÂN
5
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ
T MINH
TRƯỜNG ĐẠI HỌC
P
CƠNG NGHỆ THƠNG
. TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
HCM, ngày 20 tháng 12 năm 2022
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Tích hợp mạng xã hội vào ứng dụng bán máy chơi game hệ console
Cán bộ hướng dẫn: ThS. Trần Anh Dũng
Thời gian thực hiện: Từ ngày 15/09/2022 đến ngày 31/12/2022
Sinh viên thực hiện:
Hoàng Mạnh Tân – 19522170
Nội dung đề tài
1. Lý do chọn đề tài:
Hiện nay, trên thế giới, nhu cầu giải trí của con người ngày càng tăng nhanh, kéo theo sự ra
đời của các sản phẩm giải trí. Trong các loại sản phẩm ấy, có thể thấy phổ biến và được nhiều người
ưa chuộng nhất là việc chơi game, đặc biệt là chơi game trên hệ máy console-đây là hệ máy có thể
chơi những tựa game với đồ họa cao và khơng cần địi hỏi nhiều phụ kiện đi kèm. Ngoài nhu cầu
mua sắm các sản phẩm về game, thì nhu cầu được kết nối với những người có chung sở thích, đam
mê với bản thân cũng là một nhu cầu mà nhiều người chơi mong muốn. Vậy nên, việc xây dựng một
mạng xã hội được tích hợp sẵn trong ứng dụng bán sản phảm game sẽ tạo ra một môi trường lành
mạnh nơi mà các game thủ có thể dễ dàng tìm kiếm, kết bạn và trị chuyện với những người có
chung niềm đam mê với mình. Ngồi việc được kết nối, thì những người dùng mạng xã hội này sẽ
có thể nhận được những thơng tin hữu ích từ các bài review sản phẩm, mua bán hoặc trao đổi các
sản phẩm đã qua sử dụng từ những người mua hàng khác. Từ đó sẽ có một cái nhìn tổng qt hoặc
chi tiết hơn về sản phẩm mà họ quan tâm trước khi quyết định mua nó qua ứng dụng của cửa hàng.
Với mong muốn đó, nhóm em quyết định chọn và triển khai nghiên cứu đề tài này.
2. Mục tiêu: bao gồm 2 mục tiêu chính:
Xây dựng mạng xã hội để người dùng:
+ Có thể xem và đăng tải các bài viết review, mua bán sản phẩm.
+ Có thể xem và tạo các nội dung dưới dạng video ngắn về sản phẩm.
+ Có thể theo dõi và trò chuyện với những người sử dụng khác.
6
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
Ứng dụng máy học giúp :
+
Hạn chế những bài đăng không liên quan đến sản phẩm .
3. Phạm vi:
Phạm vi môi trường: Ứng dụng di động
Phạm vi chức năng:
Có thể đăng tải các bài viết review, mua bán sản phẩm.
Có thể tạo các video ngắn về sản phẩm.
Có thể xem, thích, bình luận những bài viết và video ngắn.
Có thể theo dõi, nhắn tin, nhận thông báo từ những người dùng khác.
Có thể tìm kiếm các bài viết theo tên.
Có thể xem thông tin bài đăng, người theo dõi và đang theo dõi của bản thân.
Có thể chỉnh sửa thông tin cá nhân.
4. Đối tượng sử dụng:
Tất cả mọi người sử dụng ứng dụng bán máy chơi game hệ console.
5. Phương pháp thực hiện:
Phương pháp làm việc:
Làm việc nhóm 1 thành viên dưới sự hướng dẫn của giảng viên hướng dẫn.
Phương pháp nghiên cứu:
Phân tích nhu cầu sử dụng của đối tượng người dùng.
Nghiên cứu tài liệu các công nghệ liên quan.
Phương pháp công nghệ:
Xây dựng giao diện mobile app để tương tác với người dùng.
Quản lý source code thông qua Github.
Sử dụng Google doc, Drive… để quản lý tiến trình và tài liệu.
6. Nền tảng công nghệ:
Dart
Android Studio
Flutter
NodeJS
Firebase
7
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
Tensorflow
7. Kết quả mong đợi:
Hoàn thành hết các chức năng đề ra.
Ứng dụng di động hoạt động ổn định, có thể xử lý thơng tin nhanh chóng.
8. Hướng phát triển của đề tài:
Cải thiện chức năng nhận diện của máy học.
Thêm chức năng tạo nhóm, chat nhóm, chat video.
9. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 15/09/2022 đến ngày kết thúc mơn Đồ án 2.
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Chuẩn bị tài liệu và xây dựng giao diện người dùng, database.
Gồm 3 sprint với thời gian mỗi sprint kéo dài khoảng 2 tuần:
Thời gian: 15/09/2022 -01/11/2022
Sprint 1: Phân tích yêu cầu và chức năng, chuẩn bị tài liệu, bản vẽ và các diagram liên quan.
Sprint 2: Xây dựng CSDL, xây dựng UI và các chức năng cơ bản.
Sprint 3: Hoàn thiện các chức năng cơ bản và nâng cao của ứng dụng.
Sprint
Sprint 1
Thời gian
15/09/2022-29/09/2022
Công việc dự kiến
_ Phân tích yêu cầu và chức
năng của ứng dụng.
_ Viết tài liệu mô tả.
_ Xây dựng bản vẽ.
Sprint 2
30/09/2022-14/10/2022
_ Xây dựng CSDL.
_ Xây dựng giao diện ứng
dụng.
_ Xây dựng các tính năng cơ
bản của ứng dụng
Sprint 3
15/10/2022-29/10/2022
_ Hồn thiện giao diện ứng
dụng.
_ Tiếp tục hồn thiện các tính
năng.
8
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
Giai đoạn 2: Tìm hiểu cơng nghệ, áp dụng công nghệ vào ứng dụng, kiểm thử và viết báo cáo.
Gồm 4 sprint với thời gian mỗi sprint kéo dài khoảng 1-2 tuần:
Thời gian: 30/10/2021 - báo cáo cuối kỳ
Sprint 4: Tìm hiểu Tensorflow.
Sprint 5: Xây dựng chức năng nhận diện hình ảnh và áp dụng vào ứng dụng.
Sprint 6: Hoàn thiện và mở rộng font-end, back-end(nếu có thể).
Sprint 7: Triển khai kiểm thử và viết báo cáo.
Sprint
Thời gian
Sprint 4
30/10/2022-06/11/2022
Sprint 5
07/11/2022-21/11/2022
Cơng việc dự kiến
_ Tìm hiểu Tensorflow
_ Xây dựng và áp dụng chức
năng nhận diện hình ảnh.
_ Hoàn thiện ứng dụng.
Sprint 6
22/11/2022-06/12/2022
_ Tiến hành kiểm thử.
_ Kiểm tra lại ứng dụng.
Sprint 7
10.
06/12/2022-31/12/2022
Phân công công việc:
Công việc
Công việc
_ Hồn chỉnh bài báo cáo.
Mơ tả cơng việc
_ Tìm hiểu cơng nghệ.
_ Phân tích u cầu.
_ Làm back-end/front-end.
_ Chuẩn bị tài liệu và viết báo cáo.
_ Lập kế hoạch.
_ Xây dựng bản vẽ.
Tp.Hồ Chí Minh, ngày 20 tháng 12 năm 2022
9
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Tổng quan đề tài
Tên ứng dụng: Game Station Social Network
Chủ đề chính: Mạng xã hội cho những game thủ hệ console
Nền tảng phát triển: Android
Mơ hình phát triển: MVVM
1.2 Lý do chọn đề tài
Hiện nay, nhu cầu giải trí của giới trẻ ngày một càng tăng nhanh. Từ đó các sản phẩm giải
trí, đặc biệt là tại nhà ngày càng gia tăng theo thị hiếu. Trong các loại sản phẩm giải trí, có thể thấy
phổ biến và được nhiều người chuộng nhất là việc chơi game, đặc biệt là chơi game trên hệ máy
console- đây là hệ máy có thể chơi những tựa game với đồ họa cao và không cần địi hỏi nhiều phụ
kiện đi kèm. Ngồi nhu cầu mua sắm các sản phẩm về game, thì nhu cầu được kết nối với những
người có chung sở thích, đam mê với bản thân cũng là một nhu cầu mà nhiều người chơi mong
muốn. Vậy nên, việc xây dựng một mạng xã hội được tích hợp sẵn trong ứng dụng bán sản phảm
game sẽ tạo ra một môi trường lành mạnh nơi mà các game thủ có thể dễ dàng tìm kiếm, kết bạn và
trị chuyện với những người có chung niềm đam mê với mình. Ngồi việc được kết nối, thì những
người dùng mạng xã hội này sẽ có thể nhận được những thơng tin hữu ích từ các bài review sản
phẩm, mua bán hoặc trao đổi các sản phẩm đã qua sử dụng từ những người mua hàng khác. Từ đó
sẽ có một cái nhìn tổng qt hoặc chi tiết hơn về sản phẩm mà họ quan tâm trước khi quyết định
mua nó qua ứng dụng của cửa hàng. Hiểu rõ những nhu cầu đó, nhóm em quyết định chọn đề tài
này, xây dựng một mạng xã hội được tích hợp sẵn trong ứng dụng bán hàng để người dùng ứng
dụng có thể dễ dàng kết nối với những người mua hàng hàng khác. Từ đó có thể nắm được những
thơng tin hữu ích trước khi mua sắm.
Ứng dụng cung cấp những tính năng tiện ích giúp khách hàng có thể tiếp cận đến những
thơng tin về các sản phẩm mà cửa hàng cung cấp thông qua các bài review hoặc clip review ngắn
của những người dùng đã mua hàng trước đó, ngồi ra người dùng cịn có thể tự đang các bài hay
clip review của riêng mình, theo dõi và trị chuyện cùng những người dùng khác.
10
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
1.3 Đối tượng sử dụng
Tất cả mọi người sử dụng ứng dụng bán máy chơi game hệ console.
1.4 Phạm vi nghiên cứu
1.4.1 Phạm vi môi trường:
Ứng dụng di động.
1.4.2 Phạm vi chức năng:
Có thể đăng tải các bài viết review, mua bán sản phẩm đã qua sử dụng.
Có thể tạo các video ngắn về sản phẩm.
Có thể xem, thích, bình luận những bài viết và video ngắn của những người
dùng khác.
Có thể theo dõi, nhắn tin, nhận thơng báo từ những người dùng khác.
Có thể tìm kiếm các bài viết và người dùng theo tên.
Có thể xem thơng tin bài đăng, người theo dõi và đang theo dõi của bản thân.
Có thể chỉnh sửa thơng tin cá nhân.
11
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Android Studio
Hình 1 Android Studio
Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để
phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện
thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor,
debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình
giả lập simulator để giả lập mơi trường của thiết bị điện thoại hoặc tablet trên máy tính)
cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới
phức tạp.
12
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.2 Dart
Hình 2 Ngơn ngữ lập trình Dart
Dart là ngơn ngữ lập trình cho Flutter- bộ công cụ giao diện người dùng của
Google để xây dựng các ứng dụng Mobile, Web và Desktop app đẹp, được biên dịch
nguyên bản từ một cơ sở mã code duy nhất.
Về đặc điểm của ngơn ngữ lập trình Dart, Dart gần giống như ngôn ngữ Java từ
70%-80%. Cú pháp Dart rõ ràng và súc tích, cơng cụ của nó đơn giản nhưng mạnh mẽ.
Type-safe giúp xác định sớm các lỗi tinh tế. Dart có các thư viện cốt lõi và một hệ sinh
thái gồm hàng ngàn package. Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để
có được dự đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.
Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có thể chạy tự
nhiên trên iOS, Android và hơn thế nữa. Đối với các ứng dụng web, chuyển mã từ Dart
sang JavaScript. Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và
định hướng đối tượng khơng gây ngạc nhiên của nó. Nếu đã biết C ++, C # hoặc Java,
có thể làm việc hiệu quả với Dart. Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ
để quản lý các đối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI,
thông qua phân bổ đối tượng nhanh và GC. Dart hỗ trợ lập trình khơng đồng bộ thơng
qua các tính năng ngơn ngữ và API sử dụng các đối tượng Future và Stream
13
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.3 Flutter
Hình 3 Flutter
Flutter được Google giới thiệu là một người mới trong thế giới ứng dụng di
động. Là một SDK mới của Google dành cho các thiết bị di động giúp developers và
designers xây dựng nhanh chóng ứng dụng dành cho các thiết bị di động (Android,
iOS). Flutter là dự án mã nguồn mở đang trong giai đoạn thử nghiệm. Flutter bao gồm
Reactive framework và công nghệ hiển thị 2D (2D rendering engine)và các công cụ
phát trển(development tool). Các thành phần này làm việc cùng nhau giúp ta thiết kế,
xây dựng, test, debug ứng dụng. Khơng có gì ngạc nhiên khi Flutter giúp các nhà phát
triển tạo ra các ứng dụng native đẹp mắt và giúp họ phát triển các ứng dụng đa nền
tảng một cách dễ dàng.
14
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.4 Firebase
Hình 4 Hệ quản trị cơ sở dữ liệu Firebase
Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud. Kèm theo đó
là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng lập
trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Với firebase, ta có thể tạo ra những ứng dụng real-time như app chat, cùng nhiều tính
năng như xác thực người dùng, Cloud Messaging,... Có thể dùng firebase giống như phần
backend của app.
Các dịch vụ của firebase hồn tồn miễn phí, tuy nhiên cần phải trả thêm tiền nếu muốn
nâng cấp lên. Cần cân nhắc điều này nếu muốn xây dựng một ứng dụng lớn sử dụng phần
backend là firebase, vì cái giá khi muốn nâng cấp còn khá đắt đỏ so với việc xây
dựng backend truyền thống.
15
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.5 GitHub
Hình 5 Hệ thống quản lý mã nguồn
GitHub
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như
một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ một
repository và Github chính là một dịch vụ máy chủ repository cơng cộng, mỗi người có
thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.
Github có đầy đủ những tính năng của Git, ngồi ra nó cịn bổ sung những tính năng về
social để các developer tương tác với nhau.
Github cung cấp các tính năng social networking như feeds, followers, và
network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử
commit.
16
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.6 NodeJs
Hình 6 NodeJS
Node js được viết bằng ngơn ngữ javascript, nó là một trình biên đóng gói của Google’s
V8 JavaScript engine, libuv platform abstraction layer, và một thư viện lõi được viết bằng
Javascript. Mục tiêu của Node js là làm cho web có khả năng push như trong một số ứng dụng
gmail. Node js cung cấp cơng cụ giúp lập trình viên có thể làm việc trong non-blocking, mơ
hình I/O .
Ưu điểm về tốc độ thực thi và khả năng mở rộng. Node.js có tốc độ rất nhanh. Đó là
một yêu cầu khá quan trọng khi bạn là một startup đang cố gắng tạo ra một sản phẩm lớn và
muốn đảm bảo có thể mở rộng nhanh chóng, đáp ứng được một lượng lớn người dùng khi
trang web của bạn phát triển lên.
Node.js có thể xử lý hàng ngàn kết nối đồng thời. Bên cạnh các lợi ích về tốc độ thực
thi và khả năng mở rộng, có thể bạn cũng đã biết một chút về JavaScript nên việc bắt đầu
khơng cịn là q khó khăn nữa. Và điều quan trọng là, Node.js đang ngày càng trở nên lớn
mạnh hơn.
17
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
2.7 Tensorflow
Hình 7 Tensorflow
TensorFlow chính là thư viện mã nguồn mở cho machine learning nổi tiếng nhất thế
giới, được phát triển bởi các nhà nghiên cứu từ Google. Việc hỗ trợ mạnh mẽ các phép toán
học để tính tốn trong machine learning và deep learning đã giúp việc tiếp cận các bài toán trở
nên đơn giản, nhanh chóng và tiện lợi hơn nhiều.
Các hàm được dựng sẵn trong thư viện cho từng bài toán cho phép TensorFlow xây
dựng được nhiều neural network. Nó cịn cho phép bạn tính tốn song song trên nhiều máy
tính khác nhau, thậm chí trên nhiều CPU, GPU trong cùng 1 máy hay tạo ra các dataflow
graph – đồ thị luồng dữ liệu để dựng nên các model.
Đối tượng sử dụng nó cũng đa dạng không kém: từ các nhà nghiên cứu, nhà khoa học
dữ liệu và dĩ nhiên không thể thiếu các lập trình viên.
18
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1 Kiến trúc hệ thống: Mơ hình MVVM
Model: Là thành phần liên kết với cơ sở dữ liệu, trong Model luôn có các hàm
truy xuất dữ liệu từ cơ sở dữ liệu.
View: View hay UI hay Presentation Layer là phần giao diện của ứng dụng và
nhận tương tác của người dùng. Một điểm khác biệt của View trong MVVM là : khả
năng thực hiện các hành vi và phản hồi lại người dùng thơng qua tính năng binding,
command.
ViewModel: Là lớp trung gian giữa View và Model. ViewModel không biết
được các thông tin gì về tầng bên trên của nó, cũng như khơng biết thơng tin gì về
View. Một ViewModel có thể sử dụng cho nhiều View thơng qua binding data, có thể
1 hay 2 chiều tuỳ nhu cầu của ứng dụng. Sự khác biệt ở chỗ : Trong ViewModel có
chứa các mã lệnh thực hiện Data Binding, Command.
Hình 8 Mơ hình MVVM
19
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
3.2 Chi tiết các thành phần trong hệ thống
STT
Thành phần
Chi tiết
1
Giao diện người dùng
Cung cấp một giao diện cho người dùng
thực hiện các thao tác nhập/xuất dữ liệu.
Đồng thời, trong lúc sử dụng, thông báo
cho người dùng nếu có lỗi xảy ra
2
Mơ hình MVVM
Tiếp nhận u cầu từ giao diện người
dùng, kiểm tra tính đúng đắn theo ràng
buộc và thực thi yêu cầu nếu điều kiện
được đáp ứng
3
Cơ sở dữ liệu
Lưu trữ toàn bộ dữ liệu liên quan đến
thơng tin cửa hàng.
20
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
CHƯƠNG 4: ĐẶC TẢ USE CASE
4.1 Sơ đồ Use Case
Hình 9 Sơ đồ Use Case
21
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
4.2 Danh sách tác nhân
STT
Tác nhân
1
Người dùng
Mô tả/ Ghi chú
Khách hàng đã đăng ký tài khoản của ứng dụng bán
máy chơi game hệ console sẽ được tự động cấp tài
khoản mạng xã hội.
4.3 Danh sách Use Case
STT
Tính năng
1
Đăng tải bài viết
2
Thích bài viết
3
Bình luận bài viết
4
Xóa bài viết
5
6
7
Mô tả/ Ghi chú
Người dùng đăng tải bài viết dưới dạng video
hoặc hình ảnh (có kèm tiêu đề bài viết) trong
trang chủ.
Yêu thích bài viết của bản thân hay của
những người dùng khác.
Bình luận bài viết của bản thân hay của những
người dùng khác.
Xóa vĩnh viễn bài viết của bản thân.
Người dùng đăng tải video ngắn trong trang
“Watch”
Đăng tải video ngắn
Yêu thích video ngắn của bản thân hay của
những người dùng khác.
Thích video
Bình luận video ngắn của bản thân hay của
những người dùng khác.
Bình luận video
Nhắn tin với những người dùng khác.
8
Nhắn tin
22
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console
Báo cáo đồ án 2
9
Nhận thông báo
10
Theo dõi tài khoản khác
11
Cập nhật ảnh đại diện
12
Tìm kiếm
Nhận thơng báo khi có người dùng khác
thích hoặc bình luận bài viết của bản thân
Theo dõi trang cá nhân của những người
dùng khác.
Cập nhật ảnh đại diện của bản thân.
Tìm kiếm bài viết và người dùng khác
theo tên.
23
Tích hợp mạng xã hội vào ứng dụng bán máy
chơi game hệ console