Báo cáo đồ án 1
ĐẠ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 1
ĐỀ TÀI:
Tìm hiểu Flutter và xây dựng ứng dụng quản lý và
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: Hồ Hồng Phương
Hồng Mạnh Tân
Thành phố Hồ Chí Minh, năm 2022
19522059
19522170
Báo cáo đồ án 1
ĐẠ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 1
ĐỀ TÀI:
Tìm hiểu Flutter và xây dựng ứng dụng quản lý và
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: Hồ Hồng Phương
Hồng Mạnh Tân
Thành phố Hồ Chí Minh, năm 2022
19522059
19522170
Báo cáo đồ án 1
Mục lục
DANH MỤC TỪ VIẾT TẮT ............................................................................................5
LỜI CẢM ƠN ................................................................................................................... 6
ĐỀ CƯƠNG CHI TIẾT .................................................................................................... 7
NỘI DUNG ..................................................................................................................... 12
CHƯƠNG 1: GIỚI THIỆU CHUNG ......................................................................... 12
1.1. Tổng quan đề tài ...........................................................................................12
1.2. Lý do chọn đề tài ..........................................................................................12
1.3. Đối tượng sử dụng ........................................................................................13
1.4. Phạm vi nghiên cứu ......................................................................................13
1.4.1. Phạm vi môi trường .............................................................................. 13
1.4.2. Phạm vi chức năng ................................................................................13
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ......................................................................... 14
2.1. Android Studio ............................................................................................. 14
2.2. Dart ............................................................................................................... 15
2.3. Flutter ............................................................................................................16
2.4. Firebase .........................................................................................................17
2.5. GitHub .......................................................................................................... 18
2.6. NodeJs .......................................................................................................... 19
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ...............................................................20
3.1. Kiến trúc hệ thống: Mơ hình MVC ..............................................................20
3.2. Chi tiết các thành phần trong hệ thống ........................................................ 21
CHƯƠNG 4: ĐẶC TẢ USE CASE ..........................................................................22
4.1. Sơ đồ Use Case .............................................................................................22
4.2. Danh sách tác nhân .......................................................................................23
4.3. Danh sách Use Case ..................................................................................... 23
4.4. Mô tả chi tiết Use Case ................................................................................ 25
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 bills: ............................................................................................49
5.2.3. Bảng products: .....................................................................................49
5.2.4. Bảng messages: ................................................................................... 50
5.2.5. Bảng contents: ..................................................................................... 50
CHƯƠNG 6: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG ..........................................51
6.1. Screen flow ...................................................................................................51
6.1.1. Người dùng: .........................................................................................51
6.1.2. Admin: .................................................................................................52
1
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
6.2. Danh sách màn hình .....................................................................................53
6.3. Mô tả chi tiết ................................................................................................ 54
6.3.1. Navigation ........................................................................................... 54
a. Mô tả chung: ........................................................................................ 54
b. Các đối tượng trên màn hình: ..............................................................54
6.3.2. Trang đăng nhập ..................................................................................55
a. Mô tả chung: ........................................................................................ 55
b. Các đối tượng trên màn hình: ..............................................................55
6.3.3. Trang Quên mật khẩu ..........................................................................56
a. Mô tả chung: ........................................................................................ 56
b. Các đối tượng trên màn hình: ..............................................................56
6.3.4. Trang đăng ký ......................................................................................57
a. Mơ tả chung: ........................................................................................ 57
b. Các đối tượng trên màn hình: ..............................................................58
6.3.5. Trang chính(User) ............................................................................... 59
a. Mơ tả chung: ........................................................................................ 59
b. Các đối tượng trên màn hình: ..............................................................60
6.3.6. Trang u thích ...................................................................................61
a. Mơ tả chung: ........................................................................................ 61
b. Đối tượng trên màn hình: .................................................................... 62
6.3.7. Trang Trị chuyện ................................................................................ 63
a. Mơ tả chung: ........................................................................................ 63
b. Đối tượng trên màn hình: .................................................................... 64
6.3.8. Trang Hồ sơ .........................................................................................65
a. Mô tả chung; ........................................................................................ 65
b. Đối tượng trên màn hình: .................................................................... 66
6.3.9. Trang Sản phẩm theo loại ................................................................... 67
a. Mô tả chung: ........................................................................................ 67
b. Đối tượng trên màn hình: .................................................................... 67
6.3.10. Trang Giỏ hàng ..................................................................................68
a. Mơ tả chung: ........................................................................................ 68
b. Đối tượng trên màn hình: .................................................................... 69
6.3.11. Trang Tìm kiếm .................................................................................70
a. Mơ tả chung: ........................................................................................ 70
b. Đối tượng trên màn hình: .................................................................... 70
6.3.12. Trang thơng tin hàng ......................................................................... 71
a. Mô tả chung: ........................................................................................ 71
b. Đối tượng trên màn hình: .................................................................... 72
6.3.13. Tranhg chính(Admin) ........................................................................73
a. Mơ tả chung: ........................................................................................ 73
b. Đối tượng trên màn hình: .................................................................... 74
2
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
6.3.14. Trang Danh sách khách hàng ............................................................ 75
a. Mô tả chung: ........................................................................................ 75
b. Đối tượng trên màn hình: .................................................................... 76
6.3.15. Trang danh sách thanh tốn .............................................................. 77
a. Mô tả chung: ........................................................................................ 77
b. Đối tượng trên màn hình: .................................................................... 78
6.3.16. Trang Doanh thu theo năm ................................................................79
a. Mơ tả chung: ........................................................................................ 79
b. Đối tượng trên màn hình: .................................................................... 80
6.3.17. Trang Danh sách hàng .......................................................................81
a. Mô tả chung: ........................................................................................ 81
b. Đối tượng trên màn hình: .................................................................... 82
6.3.18. Trang Thêm hàng và Cập nhật hàng ................................................. 83
a. Mô tả chung: ........................................................................................ 83
b. Đối tượng trên màn hình: .................................................................... 84
6.3.19. Trang xóa hàng ..................................................................................85
a. Mơ tả chung: ........................................................................................ 85
b. Đối tượng trên màn hình: .................................................................... 85
6.3.20. Trang Danh sách cuộc trị chuyện .....................................................86
a. Mô tả chung: ........................................................................................ 86
CHƯƠNG 7: CÀI ĐẶT VÀ KIỂM THỬ ................................................................ 87
7.1. Môi trường cài đặt và kiểm thử ............................................................... 87
7.2. Kết quả kiểm thử ......................................................................................87
CHƯƠNG 8: KẾT LUẬN ........................................................................................ 88
8.1. Tổng kết .................................................................................................. 88
8.2. Khó khăn .................................................................................................. 88
8.3. Kết quả thu được ......................................................................................89
8.4. Hạn chế của đồ án .................................................................................... 89
8.5. Hướng phát triển đồ án ............................................................................ 89
TÀI LIỆU THAM KHẢO ...............................................................................................90
3
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
Danh sách hình ảnh
Hình 2.1.1: Android Studio .............................................................................................14
Hình 2.2.1: Ngơn ngữ lập trình Dart ...............................................................................15
Hình 2.3.1: Flutter ........................................................................................................... 16
Hình 2.4.1: Hệ quản trị cơ sở dữ liệu Firebase ...............................................................17
Hình 2.5.1: Hệ thống quản lý mã nguồn GitHub ............................................................18
Hình 2.6.1: NodeJS ......................................................................................................... 19
Hình 3.1.1: Sơ đồ mơ hình MVC ....................................................................................20
Hình 4.1.1: Sơ đồ Use Case ............................................................................................ 22
Hình 5.1.1: Sơ đồ logic của cơ sở dữ liệu .......................................................................48
Hình 6.1.1.1: Screen flow Người dùng ...........................................................................51
Hình 6.1.2.1: Screen flow Admin ................................................................................... 52
Hình 6.3.1.1: Navigation .................................................................................................54
Hình 6.3.2.1: Trang Login .............................................................................................. 55
Hình 6.3.3.1: Trang Forgot Password .............................................................................56
Hình 6.3.4.1: Trang Register Account ............................................................................57
Hình 6.3.5.1: Trang UserHome .......................................................................................59
Hình 6.3.6.1: Trang Favorite ...........................................................................................61
Hình 6.3.7.1: Trang Chat Admin .................................................................................... 64
Hình 6.3.7.2: Trang Chat ................................................................................................ 63
Hình 6.3.8.1: Trang Profile ............................................................................................. 65
Hình 6.3.9.1: Trang Product Type .................................................................................. 67
Hình 6.3.10.1: Trang Your cart .......................................................................................68
Hình 6.3.11.1: Trang Search ........................................................................................... 70
Hình 6.3.12.1: Trang View Product ................................................................................71
Hình 6.3.13.1: Trang Admin Panel .................................................................................73
Hình 6.3.14.1: Trang Customer List ............................................................................... 75
Hình 6.3.15.1: Trang Revenue Detail ............................................................................. 77
Hình 6.3.16.1: Trang Yearly Revenue Chart ..................................................................79
Hình 6.3.17.1: Trang Product List .................................................................................. 81
Hình 6.3.18.1: Trang Add New Product và Update Product ..........................................83
Hình 6.3.19.1: Trang Remove Product ........................................................................... 85
Hình 6.3.20: Trang Messages ......................................................................................... 86
4
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
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
MVC
Model-View-Controller
Mơ hình lập trình
5
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
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 1 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ơ để hồn thiện và
phát triển đồ án hơn trong mơn học Đồ án 2 cũng như trong Khóa luận tốt nghiệp 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, 28 tháng 5 năm 2022
Sinh viên
HỒNG MẠNH TÂN
HỒ HỒNG PHƯƠNG
6
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
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 28 tháng 5 năm 2022
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Tìm hiểu Flutter và xây dựng ứng dụng quản lý và 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 07/03/2022 đến ngày 10/6/2022
Sinh viên thực hiện:
Hồ Hoàng Phương – 19522059
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 đang bùng phát dịch Covid-19, nhiều người phải cách ly tại nhà khá
lâu khiến nhu cầu giải trí của họ 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 theo một nhóm hay gia đình và khơng cần địi hỏi nhiều phụ kiện đi kèm. Do đó,
nhu cầu lựa chọn và được tư vấn các loại máy chơi game phù hợp cho bản thân là một vấn đề đang
được nhiều người mon muốn và quan tâm, vì thế họ có thể sắm cho mình một máy chơi game theo ý
muốn một cách thuận tiện và nhanh nhẹn mà không cần đến tận cửa tiệm. Để đáp ứng những nhu
cầu đó, nhóm em quyết định chọn đề tài này, phát triển một ứng dụng cung cấp nhanh chóng thơng
tin về cửa hàng cũng như các loại sản phẩm của cửa hàng, thực hiện mua và liên hệ giữa người dùng
và chủ cửa hàng. Ứng dụng của nhóm sẽ tập trung bán 3 thứ chính, bao gồm:
-
Máy chơi game console.
-
Đĩa game
-
Phụ kiện đi kèm(nếu có).
Ứ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 mới về cửa hàng, về các sản phẩm mà cửa hàng cung cấp thông qua các danh mục
sản phẩm như Popular, New arrival. Bên cạnh đó, chủ cửa hàng có thể vào hệ thống để quan lý
việc mua, bán, doanh thu, thông tin của admin và cập nhật thông tin mới về sản phẩm.
7
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2. Mục tiêu: bao gồm 2 mục tiêu chính:
Xây dựng User-side:
+ Có thể đăng nhập hay đăng ký(qua bước OTP) để sử dụng dịch vụ của cửa hàng.
+ Có thể xem sản phẩm, tìm kiếm sản phẩm theo keyword, thêm vào giỏ hàng, thêm vào yêu
thích, chat với chủ cửa hàng, chỉnh sửa thông tin cá nhân.
+ Có thể xem thơng tin giỏ hàng, xóa hàng đã thêm vào giỏ, tiến hành thanh toán và xuất bill.
Xây dựng Admin-side:
+
Cho phép chủ cửa hàng thêm, xóa, sửa thông tin hàng và xem thông tin hàng.
+
Chat với người mua hàng.
+
Xem doanh thu của cửa hàng.
+
Quản lý thông tin cá nhân.
3.Phạm vi:
Phạm vi môi trường: Ứng dụng di động
Phạm vi chức năng:
Đối với User:
+ Có khả năng xem hàng, mua hàng hay thêm hoặc xóa hàng trong giỏ hàng cũng như
danh mục u thích.
+ Xem thơng tin giỏ hàng và tiến hành thanh toán, xuất bill.
+ Chat với người bán để lấy thêm thông tin cũng như hỏi đáp về sản phẩm.
+ Quản lý và chỉnh sửa thông tin cá nhân.
Đối với Admin:
+ Cung cấp thông tin mới nhất về cửa hàng, về sản phẩm.
+ Cung cấp chức năng quản lí như thêm xóa, sửa, thay đổi những vấn đề liên quan tới
sản phẩm.
+ Quản lý doanh thu, thông tin cá nhân và khách hàng.
+ Trao đổi với khác hàng qua mục Chat.
4. Đối tượng sử dụng:
Tất cả mọi người muốn lựa chọn và mua bán các loại máy game, phụ kiện đi kèm
và game cũng như bán lại đĩa game cũ.
Chủ cửa hàng muốn quản lý thông tin bài đăng (về cửa hàng, về sản phẩm,..)
đến mọi người truy cập vào ứng dụng.
8
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
5. Phương pháp thực hiện:
Phương pháp làm việc:
Làm việc nhóm 2 thành viên thơng qua cả 2 phương thức online lẫn offline
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 Trello, 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.Kết quả mong đợi:
Cả User-side và Admin-side thực hiện được hết các chức năng của mình.
Ứ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:
Nâng cấp tính năng quản lý việc ship hàng tới khách hàng.
Thêm chatbot để tối ưu hóa chức năng hỗ trợ người dùng.
9.Kế hoạch làm việc:
Thời gian thực hiện từ ngày 18/03/2022 đến ngày kết thúc mơn Đồ án 1.
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện giao diện người dùng, database và tìm hiểu cơng nghệ.
Gồm 3 sprint với thời gian mỗi sprint kéo dài khoảng 2 tuần:
Thời gian: 18/03/2022 -28/04/2022
Sprint 1: Tìm hiểu cơng nghệ Flutter.
9
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
Sprint 2: 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 3: Tìm hiểu cơng nghệ Firebase, xây dựng CSDL, xây dựng UI và các chức năng cơ bản.
Sprint
Thời gian
Sprint 1
18/03/2022-01/04/2022
Cơng việc dự kiến
_ Tìm hiểu cơng nghệ.
_ Tìm hiểu yêu cầu nghiệp vụ
của đề tài.
_ Phân tích yêu cầu và chức
năng của ứng dụng.
Sprint 2
01/04/2022-14/04/2022
_ Viết tài liệu mô tả.
_ Xây dựng bản vẽ.
_ Xây dựng CSDL.
Sprint 3
14/04/2022-28/04/2022
_ 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.
Giai đoạn 2: Hồn thiện các tính năng năng cơ bản và nâng cao của ứ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 2 tuần:
Thời gian: 29/04/2021 - báo cáo cuối kỳ
Sprint 4: Hoàn thiện backend ứng với frontend đã thiết kê.
Sprint 5: Hoàn thiện và mở rộng frontend(nếu có thể).
Sprint 6: Hồn thiện và mở rộng 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
29/04/2022-20/05/2022
Sprint 5
20/05/2022-28/05/2022
10
Cơng việc dự kiến
_ Hồn thiện giao diện ứng
dụng.
_ Tiếp tục hồn thiện các tính
năng.
_ Tiếp tục hồn thiện các tính
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
năng.
_ Hoàn thiện ứng dụng.
Sprint 6
28/05/2022-08/05/2022
_ Tiến hành kiểm thử.
_ Kiểm tra lại ứng dụng.
Sprint 7
08/05/2022-10/05/2022
_ Hồn chỉnh bài báo cáo.
2. Phân cơng cơng việc:
Cơng việc
Cơng việc chung
Mơ tả cơng việc
_ Tìm hiểu cơng nghệ.
_ Phân tích yêu cầu.
_ Hỗ trợ lẫn nhau 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ẽ.
Cơng việc cá nhân
Hồng Mạnh Tân
Hồ Hồng Phương
_ Lập trình back-end
_ Xây dựng, liên kết CSDL
_ Hỗ trợ xây dựng CSDL,
_ Lập trình front-end
logic.
_ Kiểm thử
Tp.Hồ Chí Minh, ngày 10 tháng 5 năm 2021
11
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
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
-
Chủ đề chính: Quản lý và bán máy chơi game hệ console
-
Nền tảng phát triển: Android
-
Mơ hình phát triển: MVC
1.2. Lý do chọn đề tài
Hiện nay, trên thế giới đang bùng phát dịch Covid-19, nhiều người phải cách ly tại nhà khá
lâu khiến nhu cầu giải trí của họ 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 theo một nhóm hay gia đình và khơng cần địi hỏi nhiều phụ kiện đi kèm. Do đó,
nhu cầu lựa chọn và được tư vấn các loại máy chơi game phù hợp cho bản thân là một vấn đề đang
được nhiều người mon muốn và quan tâm, vì thế họ có thể sắm cho mình một máy chơi game theo
ý muốn một cách thuận tiện và nhanh nhẹn mà không cần đến tận cửa tiệm. Để đáp ứng những nhu
cầu đó, nhóm em quyết định chọn đề tài này, phát triển một ứng dụng cung cấp nhanh chóng thơng
tin về cửa hàng cũng như các loại sản phẩm của cửa hàng và tích hợp chatbot hỗ trợ tự động tư vấn,
hướng dẫn mua sắm đến với người dùng truy cập vào ứng dụng. Ứng dụng của nhóm sẽ tập trung
việc bán 3 thứ chính, bao gồm:
-
Máy chơi game console.
-
Đĩa game
-
Phụ kiện đi kèm(nếu có).
Ứ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 mới về cửa hàng, về các sản phẩm mà cửa hàng cung cấp thông qua các danh mục sản
phẩm như Popular hay New arrival, xem thông tin hàng và trao đổi với chủ cửa hàng. Bên cạnh
đó, chủ cửa hàng có thể vào hệ thống để quan lý việc mua, bán và cập nhật thông tin mới về sản
phẩm và trao đổi với khách hàng.
12
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
1.3. Đối tượng sử dụng
Tất cả mọi người muốn lựa chọn và mua bán các loại máy game, phụ kiện đi
kèm và game cũng như bán lại đĩa game cũ.
Chủ cửa hàng muốn quản lý thông tin bài đăng (về cửa hàng, về sản phẩm,…)
đến mọi người truy cập vào ứng dụng.
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:
Xây dựng User-side:
+ Có thể đăng nhập hay đăng ký(qua bước OTP) để sử dụng dịch vụ của cửa hàng.
+ Có thể xem sản phẩm, tìm kiếm sản phẩm theo keyword, thêm vào giỏ hàng, thêm
vào yêu thích, chat với chủ cửa hàng, chỉnh sửa thơng tin cá nhân.
+ Có thể xem thơng tin giỏ hàng, xóa hàng đã thêm vào giỏ, tiến hành thanh toán và
xuất bill.
Xây dựng Admin-side:
+
Cho phép chủ cửa hàng thêm, xóa, sửa thông tin hàng và xem thông tin
hàng.
+
Chat với người mua hàng.
+
Xem doanh thu của cửa hàng.
+
Quản lý thông tin cá nhân.
13
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Android Studio
Hình 2.1.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.
14
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2.2. Dart
Hình 2.2.1: 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.
15
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2.3. Flutter
Hình 2.3.1: 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.
16
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2.4. Firebase
Hình 2.4.1: 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.
17
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2.5. GitHub
Hình 2.5.1: 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.
18
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
2.6. NodeJs
Hình 2.6.1: 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.
19
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1. Kiến trúc hệ thống: Mơ hình MVC
Model: Lưu trữ tất cả dữ liệu của ứng dụng. Bộ phận này là cầu nối giữa cơ sở
dữ liệu quản lý cả nhân và trình bày giao diện người dùng. Cho phép người dùng có thể
nhập và xuất đến các cơ sở dữ liệu lần lượt theo quyền của họ khi cần thiết và dữ liệu
sẽ được lưu dữ trên database.
View: giao diện người dùng, nơi người dùng có thể lấy được thơng tin dữ liệu
của MVC thông qua các công thức truy vấn và ghi lại hoạt động của người dùng để
tương tác với Controller
Controller: xử lý yêu cầu từ người dùng thơng qua View. Từ đó, Controller gửi
dữ liệu hợp lý đến người dùng bằng các kết nối đến Model và trưng bày nó trên View
cho người dùng
Hình 3.1.1: Sơ đồ mơ hình MVC
20
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
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 MVC
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.
21
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
CHƯƠNG 4: ĐẶC TẢ USE CASE
4.1. Sơ đồ Use Case
Hình 4.1.1: Sơ đồ Use Case
22
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console
Báo cáo đồ án 1
4.2. Danh sách tác nhân
STT
Tác nhân
1
Người dùng
2
Admin
Mơ tả/ Ghi chú
Bắt buộc phải có tài khoản để đăng nhập vào ứng
dụng để sử dụng chức năng.
Người dùng sỡ hữu tài khoản nội bộ, quản lý toàn
hoạt động của ứng dụng và cửa hàng.
4.3. Danh sách Use Case
STT
Tính năng
1
Đăng nhập
2
Đăng ký
3
Quên mật khẩu
4
Đăng xuất
Mô tả/ Ghi chú
Dành cho Người dùng và Admin để đăng
nhập vào ứng dụng.
Dành cho người dùng chưa tài khoản đăng
nhập vào hệ thống.
Dành cho Người dùng khi quên mật khẩu của
tài khoản đang sử dụng.
Dành cho Người dùng và Admin khi người
dùng muốn đổi tài khoản hoặc Admin khi
muốn đăng xuất ra khỏi ứng dụng.
Thông tin cá nhân
Dành cho khách hàng khi muốn xem thông
tin cá nhân.
Thay đổi mật khẩu
Dành cho Người dùng khi muốn thay đổi
mật khẩu.
7
Giỏ hàng
Dành cho Người dùng khi muốn xem thông
tin giỏ hàng.
8
Sửa thông tin cá nhân
Dành cho Người dùng khi muốn chỉnh sửa
thơng tin cá nhân.
5
6
23
Tìm hiểu flutter và xây dựng ứng dụng quản lý
và bán máy chơi game hệ console