Tìm hiểu Flutter và Xây dựng Ứng dụng Quản lý & Bán Máy Chơi Game Console (Đồ án ĐH)

Hướng dẫn xây dựng ứng dụng Flutter quản lý và bán máy chơi game console. Giải pháp hiệu quả cho các cửa hàng kinh doanh thiết bị game.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Báo cáo đồ án 1

2022

92
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

DANH MỤC TỪ VIẾT TẮT

ĐỀ CƯƠNG CHI TIẾT

1. CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1. Tổng quan đề tài

1.2. Lý do chọn đề tài

1.3. Đối tượng sử dụng

1.4. Phạm vi nghiên cứu

1.5. Phạm vi môi trường

1.6. Phạm vi chức năng

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Kiến trúc hệ thống: Mô hình MVC

3.2. Chi tiết các thành phần trong hệ thống

4. CHƯƠNG 4: ĐẶC TẢ USE CASE

4.1. Danh sách tác nhân

4.2. Danh sách Use Case

4.3. Mô tả chi tiết Use Case

5. CHƯƠNG 5: THIẾT KẾ CƠ SỞ DỮ LIỆU

5.1. Danh sách các quan hệ

6. CHƯƠNG 6: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

6.1. Người dùng:

6.2. Danh sách màn hình

6.3. Mô tả chi tiết

6.4. Mô tả chung:

6.5. Các đối tượng trên màn hình:

6.6. Trang đăng nhập

6.7. Mô tả chung:

6.8. Các đối tượng trên màn hình:

6.9. Trang Quên mật khẩu

6.10. Mô tả chung:

6.11. Các đối tượng trên màn hình:

6.12. Mô tả chung:

6.13. Các đối tượng trên màn hình:

6.14. Trang chính(User)

6.15. Mô tả chung:

6.16. Các đối tượng trên màn hình:

6.17. Trang Yêu thích

6.18. Mô tả chung:

6.19. Đối tượng trên màn hình:

6.20. Trang Trò chuyện

6.21. Mô tả chung:

6.22. Đối tượng trên màn hình:

6.23. Mô tả chung;

6.24. Đối tượng trên màn hình:

6.25. Trang Sản phẩm theo loại

6.26. Mô tả chung:

6.27. Đối tượng trên màn hình:

6.28. Trang Giỏ hàng

6.29. Mô tả chung:

6.30. Đối tượng trên màn hình:

6.31. Mô tả chung:

6.32. Đối tượng trên màn hình:

6.33. Trang thông tin hàng

6.34. Mô tả chung:

6.35. Đối tượng trên màn hình:

6.36. Tranhg chính(Admin)

6.37. Mô tả chung:

6.38. Đối tượng trên màn hình:

6.39. Trang Danh sách khách hàng

6.40. Mô tả chung:

6.41. Đối tượng trên màn hình:

6.42. Trang danh sách thanh toán

6.43. Mô tả chung:

6.44. Đối tượng trên màn hình:

6.45. Trang Doanh thu theo năm

6.46. Mô tả chung:

6.47. Đối tượng trên màn hình:

6.48. Trang Danh sách hàng

6.49. Mô tả chung:

6.50. Đối tượng trên màn hình:

6.51. Trang Thêm hàng và Cập nhật hàng

6.52. Mô tả chung:

6.53. Đối tượng trên màn hình:

6.54. Mô tả chung:

6.55. Đối tượng trên màn hình:

6.56. Trang Danh sách cuộc trò chuyện

6.57. Mô tả chung:

7. CHƯƠNG 7: CÀI ĐẶT VÀ KIỂM THỬ

7.1. Môi trường cài đặt và kiểm thử

7.2. Kết quả kiểm thử

8. CHƯƠNG 8: KẾT LUẬN

8.1. Kết quả thu được

8.2. Hạn chế của đồ án

8.3. Hướng phát triển đồ án

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tìm hiểu tổng quan về Flutter để phát triển ứng dụng Console

Flutter, một framework UI mã nguồn mở do Google phát triển, đã nhanh chóng trở thành lựa chọn hàng đầu cho các nhà phát triển ứng dụng di động đa nền tảng. Ưu điểm nổi bật của Flutter là khả năng xây dựng giao diện người dùng (UI) đẹp mắt, hiệu năng cao và trải nghiệm người dùng mượt mà trên cả iOS và Android từ một codebase duy nhất. Điều này giúp tiết kiệm thời gian, chi phí phát triển và bảo trì ứng dụng. Dự án xây dựng ứng dụng quản lý và bán máy chơi game hệ console sử dụng Flutter nhằm tận dụng những ưu điểm này, mang đến một giải pháp toàn diện cho cả người dùng và nhà quản lý. Ứng dụng không chỉ cung cấp giao diện thân thiện, dễ sử dụng mà còn đảm bảo hiệu năng ổn định, đáp ứng nhu cầu ngày càng cao của thị trường game console. Báo cáo đồ án gốc tập trung vào việc tìm hiểu sâu về Flutter và áp dụng kiến thức này vào việc xây dựng ứng dụng cụ thể, từ đó chứng minh tính khả thi và hiệu quả của Flutter trong lĩnh vực thương mại điện tửquản lý sản phẩm. Dart là ngôn ngữ lập trình chính được sử dụng trong Flutter, mang đến hiệu suất cao và khả năng tùy biến linh hoạt. Việc lựa chọn FlutterDart cho phép nhóm phát triển tạo ra một sản phẩm chất lượng, đáp ứng yêu cầu đặt ra và có khả năng mở rộng trong tương lai. "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".

1.1. Tổng quan về Flutter framework và ngôn ngữ lập trình Dart

Flutter là một bộ công cụ UI (User Interface) nguồn mở được phát triển bởi Google, dùng để xây dựng các ứng dụng đa nền tảng từ một mã nguồn duy nhất. Điều này có nghĩa là với Flutter, nhà phát triển có thể viết code một lần và triển khai trên cả iOS và Android. Dart là ngôn ngữ lập trình được sử dụng trong Flutter, một ngôn ngữ được thiết kế để dễ học, dễ sử dụng và tối ưu hóa cho việc xây dựng giao diện người dùng. Flutter cung cấp một bộ sưu tập phong phú các widget, từ những widget cơ bản như nút, text field, hình ảnh đến những widget phức tạp hơn như thanh điều hướng, danh sách cuộn. Các widget này có thể được tùy chỉnh để phù hợp với giao diện và trải nghiệm người dùng mong muốn. Flutter sử dụng một kiến trúc reactive, có nghĩa là giao diện người dùng tự động cập nhật khi dữ liệu thay đổi. Điều này giúp đơn giản hóa việc phát triển ứng dụng và đảm bảo rằng giao diện người dùng luôn hiển thị thông tin mới nhất. Dart có một hệ thống quản lý bộ nhớ tự động, giúp ngăn ngừa các lỗi liên quan đến bộ nhớ. Dart hỗ trợ lập trình bất đồng bộ, cho phép ứng dụng thực hiện nhiều tác vụ cùng một lúc mà không bị chậm trễ.

1.2. Lợi ích của việc sử dụng Flutter cho ứng dụng quản lý console

Việc lựa chọn Flutter cho việc phát triển ứng dụng quản lý và bán máy chơi game hệ console mang lại nhiều lợi ích đáng kể. Đầu tiên, Flutter cho phép xây dựng ứng dụng đa nền tảng, giảm thiểu chi phí và thời gian phát triển so với việc phát triển riêng biệt cho iOS và Android. Thứ hai, Flutter cung cấp hiệu năng cao và trải nghiệm người dùng mượt mà, tạo ấn tượng tốt cho người dùng và tăng khả năng tương tác với ứng dụng. Thứ ba, Flutter có cộng đồng hỗ trợ lớn mạnh và tài liệu phong phú, giúp nhà phát triển dễ dàng tìm kiếm giải pháp cho các vấn đề phát sinh trong quá trình phát triển. Cuối cùng, Flutter liên tục được Google cập nhật và cải tiến, đảm bảo rằng ứng dụng luôn sử dụng công nghệ mới nhất và được tối ưu hóa cho các thiết bị mới. Báo cáo gốc nhấn mạnh rằng việc sử dụng Flutter giúp nhóm phát triển tập trung vào việc xây dựng các tính năng độc đáo và hữu ích cho người dùng, thay vì phải dành nhiều thời gian và công sức cho việc giải quyết các vấn đề liên quan đến nền tảng.

II. Thách thức và giải pháp khi lập trình Flutter ứng dụng Console

Mặc dù Flutter mang lại nhiều lợi ích, việc phát triển ứng dụng quản lý và bán máy chơi game hệ console bằng Flutter cũng đối mặt với một số thách thức. Một trong những thách thức lớn nhất là việc tích hợp các API và dịch vụ bên ngoài, chẳng hạn như cổng thanh toán trực tuyến, hệ thống quản lý kho hàng, và dịch vụ vận chuyển. Để giải quyết thách thức này, nhóm phát triển cần có kiến thức sâu rộng về lập trình Flutter và kinh nghiệm làm việc với các API khác nhau. Một thách thức khác là việc thiết kế giao diện người dùng (UI) thân thiện, dễ sử dụng và phù hợp với đối tượng người dùng mục tiêu. Để giải quyết thách thức này, nhóm phát triển cần thực hiện nghiên cứu kỹ lưỡng về thiết kế UX/UI và thử nghiệm giao diện người dùng với người dùng thực tế. Ngoài ra, việc đảm bảo bảo mật ứng dụng cũng là một thách thức quan trọng. Nhóm phát triển cần áp dụng các biện pháp bảo mật phù hợp để bảo vệ dữ liệu người dùng và ngăn chặn các cuộc tấn công từ bên ngoài. Giải pháp tốt nhất là luôn bảo vệ và mã hóa các thông tin của người dùng.

2.1. Khó khăn khi tích hợp API và dịch vụ vào ứng dụng Flutter

Tích hợp các API và dịch vụ bên ngoài vào ứng dụng Flutter có thể gặp một số khó khăn. Thứ nhất, các API khác nhau có thể sử dụng các định dạng dữ liệu và giao thức khác nhau, đòi hỏi nhà phát triển phải có kiến thức về nhiều công nghệ khác nhau. Thứ hai, việc xử lý lỗi và ngoại lệ trong quá trình tích hợp API có thể phức tạp, đặc biệt là khi làm việc với các API không ổn định. Thứ ba, việc đảm bảo hiệu năng khi tích hợp nhiều API có thể là một thách thức, đặc biệt là trên các thiết bị di động có tài nguyên hạn chế. Để vượt qua những khó khăn này, nhà phát triển cần sử dụng các thư viện và công cụ hỗ trợ tích hợp API, chẳng hạn như http, dio, và chopper. Ngoài ra, việc viết mã kiểm thử (unit test) cho các thành phần tích hợp API cũng rất quan trọng để đảm bảo tính ổn định và độ tin cậy của ứng dụng.

2.2. Thiết kế UX UI thân thiện cho ứng dụng bán máy chơi game

Thiết kế UX/UI thân thiện là yếu tố then chốt để thu hút và giữ chân người dùng cho ứng dụng quản lý và bán máy chơi game hệ console. Giao diện người dùng cần trực quan, dễ điều hướng và phù hợp với đối tượng người dùng mục tiêu (người yêu thích game console). Các yếu tố quan trọng cần xem xét bao gồm: Bố cục rõ ràng, dễ tìm kiếm sản phẩm. Hình ảnh sản phẩm chất lượng cao, hấp dẫn. Mô tả sản phẩm chi tiết, đầy đủ thông tin. Quy trình mua hàng đơn giản, nhanh chóng. Hỗ trợ nhiều phương thức thanh toán. Tích hợp tính năng đánh giá và nhận xét sản phẩm. Thiết kế responsive, phù hợp với nhiều kích thước màn hình. Nhóm phát triển cần thực hiện nghiên cứu về hành vi người dùng và thử nghiệm giao diện người dùng để đảm bảo rằng ứng dụng đáp ứng nhu cầu và mong đợi của người dùng.

2.3. Các biện pháp bảo mật cho ứng dụng Flutter

Bảo mật là một khía cạnh quan trọng không thể bỏ qua khi phát triển ứng dụng Flutter, đặc biệt là ứng dụng liên quan đến thương mại điện tử và thông tin cá nhân của người dùng. Các biện pháp bảo mật cần được áp dụng bao gồm: Mã hóa dữ liệu nhạy cảm (thông tin tài khoản, thông tin thanh toán). Sử dụng HTTPS để bảo vệ dữ liệu truyền tải giữa ứng dụng và máy chủ. Xác thực người dùng bằng mật khẩu mạnh và xác thực hai yếu tố. Ngăn chặn các cuộc tấn công SQL injectionCross-Site Scripting (XSS). Kiểm soát quyền truy cập vào các tài nguyên của ứng dụng. Cập nhật thường xuyên các thư viện và framework để vá các lỗ hổng bảo mật. Thực hiện kiểm tra bảo mật định kỳ để phát hiện và khắc phục các vấn đề bảo mật.

III. Phương pháp xây dựng giao diện người dùng Flutter cho Console

Việc xây dựng giao diện người dùng Flutter (UI) cho ứng dụng quản lý và bán máy chơi game hệ console đòi hỏi sự kết hợp giữa kiến thức về Flutter widgets, kỹ năng state management và khả năng thiết kế UX/UI. Để tạo ra một giao diện người dùng hấp dẫn và dễ sử dụng, nhóm phát triển cần lựa chọn các Flutter widgets phù hợp, chẳng hạn như ListView, GridView, Card, Image, và Text. Việc sử dụng các thư viện UI phổ biến, chẳng hạn như Material Design hoặc Cupertino, cũng giúp tiết kiệm thời gian và công sức phát triển. Ngoài ra, việc quản lý trạng thái của ứng dụng (state management) là một yếu tố quan trọng để đảm bảo rằng giao diện người dùng luôn hiển thị thông tin mới nhất và phản ứng một cách chính xác với các tương tác của người dùng. Các giải pháp state management phổ biến trong Flutter bao gồm Provider, Riverpod, Bloc, và Redux. Cấu trúc code tốt, có tính module cao giúp ứng dụng dễ bảo trì.

3.1. Sử dụng Flutter widgets để tạo giao diện Console đa dạng

Flutter widgets là các thành phần cơ bản để xây dựng giao diện người dùng trong Flutter. Flutter cung cấp một bộ sưu tập phong phú các widgets, từ những widgets cơ bản như Text, Image, Button đến những widgets phức tạp hơn như ListView, GridView, PageView, và CustomScrollView. Để tạo ra một giao diện người dùng đa dạng và hấp dẫn, nhà phát triển cần biết cách sử dụng và kết hợp các Flutter widgets khác nhau. Ví dụ: Sử dụng ListView để hiển thị danh sách sản phẩm. Sử dụng GridView để hiển thị các sản phẩm theo dạng lưới. Sử dụng Card để hiển thị thông tin chi tiết về một sản phẩm. Sử dụng Image để hiển thị hình ảnh sản phẩm. Sử dụng Text để hiển thị mô tả sản phẩm. Việc tùy chỉnh các Flutter widgets cũng rất quan trọng để tạo ra một giao diện người dùng độc đáo và phù hợp với thương hiệu của ứng dụng.

3.2. Các phương pháp State management Flutter cho Console

State management là một khía cạnh quan trọng trong phát triển ứng dụng Flutter, đặc biệt là các ứng dụng phức tạp như ứng dụng quản lý và bán máy chơi game hệ console. State management giúp quản lý trạng thái của ứng dụng và đảm bảo rằng giao diện người dùng luôn hiển thị thông tin mới nhất và phản ứng một cách chính xác với các tương tác của người dùng. Các phương pháp state management phổ biến trong Flutter bao gồm: setState: Phương pháp đơn giản nhất, phù hợp cho các ứng dụng nhỏ và đơn giản. Provider: Một giải pháp state management dễ sử dụng và linh hoạt, được Google khuyến nghị. Riverpod: Một phiên bản cải tiến của Provider, cung cấp nhiều tính năng nâng cao. Bloc/Cubit: Một kiến trúc state management mạnh mẽ và có cấu trúc, phù hợp cho các ứng dụng lớn và phức tạp. Redux: Một kiến trúc state management phổ biến trong cộng đồng JavaScript, cũng có thể được sử dụng trong Flutter.

3.3. Áp dụng thiết kế UX UI vào giao diện người dùng Flutter

Việc áp dụng các nguyên tắc thiết kế UX/UI vào giao diện người dùng Flutter là rất quan trọng để tạo ra một trải nghiệm người dùng tốt. Các nguyên tắc thiết kế UX/UI cần xem xét bao gồm: Tính nhất quán: Sử dụng một bộ màu sắc, font chữ và kiểu dáng thống nhất trên toàn bộ ứng dụng. Tính dễ sử dụng: Đảm bảo rằng các tính năng quan trọng dễ dàng tìm thấy và sử dụng. Tính phản hồi: Cung cấp phản hồi rõ ràng cho các tương tác của người dùng. Tính thẩm mỹ: Tạo ra một giao diện người dùng hấp dẫn và phù hợp với thương hiệu của ứng dụng. Ngoài ra, việc sử dụng các công cụ thiết kế UX/UI, chẳng hạn như Figma hoặc Adobe XD, cũng giúp tạo ra các mockup và prototype trước khi bắt đầu lập trình Flutter.

IV. Xây dựng Backend mạnh mẽ cho ứng dụng Console với Firebase

Việc xây dựng một backend mạnh mẽ là yếu tố then chốt để đảm bảo hiệu năng, tính bảo mật và khả năng mở rộng của ứng dụng quản lý và bán máy chơi game hệ console. Firebase, một nền tảng phát triển ứng dụng di động do Google cung cấp, là một lựa chọn phổ biến cho việc xây dựng backend cho các ứng dụng Flutter. Firebase cung cấp nhiều dịch vụ hữu ích, chẳng hạn như Realtime Database, Cloud Firestore, Authentication, Cloud Functions, và Cloud Storage. Việc sử dụng Firebase giúp tiết kiệm thời gian và công sức phát triển backend, cho phép nhóm phát triển tập trung vào việc xây dựng các tính năng độc đáo và hữu ích cho người dùng. Ngoài ra, Firebase có khả năng mở rộng linh hoạt, đáp ứng nhu cầu ngày càng tăng của ứng dụng.

4.1. Sử dụng Firebase Authentication quản lý người dùng

Firebase Authentication cung cấp một giải pháp đơn giản và an toàn để quản lý người dùng trong ứng dụng Flutter. Firebase Authentication hỗ trợ nhiều phương thức xác thực khác nhau, chẳng hạn như email/mật khẩu, số điện thoại, Google, Facebook, và Twitter. Việc sử dụng Firebase Authentication giúp tiết kiệm thời gian và công sức phát triển hệ thống quản lý người dùng, đồng thời đảm bảo tính bảo mật của thông tin người dùng. Ngoài ra, Firebase Authentication tích hợp tốt với các dịch vụ khác của Firebase, chẳng hạn như Realtime DatabaseCloud Firestore, giúp đơn giản hóa việc quản lý dữ liệu người dùng.

4.2. Cơ sở dữ liệu thời gian thực với Firebase Realtime Database

Firebase Realtime Database cung cấp một cơ sở dữ liệu NoSQL thời gian thực, cho phép lưu trữ và đồng bộ hóa dữ liệu giữa các thiết bị một cách nhanh chóng và hiệu quả. Firebase Realtime Database phù hợp cho việc xây dựng các tính năng thời gian thực, chẳng hạn như chat và thông báo. Việc sử dụng Firebase Realtime Database giúp đơn giản hóa việc phát triển các tính năng thời gian thực, đồng thời đảm bảo hiệu năng và khả năng mở rộng của ứng dụng. Tuy nhiên, cần lưu ý rằng Firebase Realtime Database có cấu trúc dữ liệu phức tạp hơn so với các cơ sở dữ liệu quan hệ, đòi hỏi nhà phát triển phải có kiến thức về NoSQL.

4.3. Lưu trữ và quản lý hình ảnh với Firebase Cloud Storage

Firebase Cloud Storage cung cấp một giải pháp đơn giản và hiệu quả để lưu trữ và quản lý hình ảnh, video và các tệp tin khác trong ứng dụng Flutter. Firebase Cloud Storage tích hợp tốt với các dịch vụ khác của Firebase, chẳng hạn như Realtime DatabaseCloud Firestore, giúp đơn giản hóa việc quản lý dữ liệu ứng dụng. Ngoài ra, Firebase Cloud Storage cung cấp nhiều tính năng hữu ích, chẳng hạn như tải lên và tải xuống tệp tin, tạo URL truy cập công khai và kiểm soát quyền truy cập.

V. Triển khai và kiểm thử ứng dụng Console Flutter thực tế

Sau khi hoàn thành việc phát triển ứng dụng quản lý và bán máy chơi game hệ console bằng Flutter, bước tiếp theo là triển khaikiểm thử ứng dụng để đảm bảo rằng ứng dụng hoạt động ổn định, hiệu quả và đáp ứng yêu cầu của người dùng. Việc triển khai ứng dụng Flutter có thể được thực hiện thông qua Google Play Store (cho Android) và App Store (cho iOS). Trước khi triển khai, cần thực hiện kiểm thử kỹ lưỡng ứng dụng trên nhiều thiết bị và phiên bản hệ điều hành khác nhau để phát hiện và khắc phục các lỗi. Các phương pháp kiểm thử phổ biến bao gồm unit testing, integration testing, và UI testing.

5.1. Quy trình triển khai ứng dụng Flutter lên Google Play Store

Quy trình triển khai ứng dụng Flutter lên Google Play Store bao gồm các bước sau: Tạo tài khoản nhà phát triển trên Google Play Console. Chuẩn bị các tài liệu cần thiết, chẳng hạn như mô tả ứng dụng, hình ảnh quảng cáo và video giới thiệu. Tạo bản build ứng dụng ở chế độ release. Tải bản build ứng dụng lên Google Play Console. Thiết lập thông tin ứng dụng, chẳng hạn như ngôn ngữ, danh mục và giá. Xem xét và phê duyệt ứng dụng. Phát hành ứng dụng lên Google Play Store.

5.2. Quy trình triển khai ứng dụng Flutter lên App Store

Quy trình triển khai ứng dụng Flutter lên App Store tương tự như quy trình triển khai lên Google Play Store, nhưng có một số khác biệt. Tạo tài khoản nhà phát triển trên Apple Developer Program. Chuẩn bị các tài liệu cần thiết, chẳng hạn như mô tả ứng dụng, hình ảnh quảng cáo và video giới thiệu. Tạo bản build ứng dụng ở chế độ release. Tải bản build ứng dụng lên App Store Connect. Thiết lập thông tin ứng dụng, chẳng hạn như ngôn ngữ, danh mục và giá. Xem xét và phê duyệt ứng dụng. Phát hành ứng dụng lên App Store.

5.3. Các phương pháp kiểm thử ứng dụng Flutter hiệu quả

Việc kiểm thử ứng dụng Flutter là rất quan trọng để đảm bảo rằng ứng dụng hoạt động ổn định, hiệu quả và đáp ứng yêu cầu của người dùng. Các phương pháp kiểm thử phổ biến bao gồm: Unit testing: Kiểm thử các thành phần riêng lẻ của ứng dụng. Integration testing: Kiểm thử sự tương tác giữa các thành phần của ứng dụng. UI testing: Kiểm thử giao diện người dùng của ứng dụng. Ngoài ra, việc sử dụng các công cụ kiểm thử tự động, chẳng hạn như Flutter Driver, cũng giúp tiết kiệm thời gian và công sức kiểm thử.

VI. Tổng kết và hướng phát triển ứng dụng Console Flutter tương lai

Dự án xây dựng ứng dụng quản lý và bán máy chơi game hệ console bằng Flutter đã chứng minh tính khả thi và hiệu quả của Flutter trong lĩnh vực thương mại điện tửquản lý sản phẩm. Ứng dụng cung cấp một giải pháp toàn diện cho cả người dùng và nhà quản lý, mang đến giao diện thân thiện, hiệu năng cao và trải nghiệm người dùng mượt mà. Trong tương lai, ứng dụng có thể được phát triển thêm nhiều tính năng mới, chẳng hạn như tích hợp trí tuệ nhân tạo (AI) để cung cấp các đề xuất sản phẩm cá nhân hóa, hỗ trợ thực tế ảo (VR) để tạo ra trải nghiệm mua sắm sống động hơn, và tích hợp blockchain để đảm bảo tính minh bạch và an toàn trong các giao dịch.

6.1. Đánh giá kết quả đạt được và những hạn chế của dự án

Dự án đã đạt được nhiều kết quả đáng khích lệ, chẳng hạn như xây dựng thành công một ứng dụng đa nền tảng, cung cấp giao diện thân thiện và hiệu năng cao, tích hợp các dịch vụ Firebase để quản lý người dùng và dữ liệu. Tuy nhiên, dự án cũng còn một số hạn chế, chẳng hạn như chưa tích hợp đầy đủ các API và dịch vụ bên ngoài, chưa thực hiện kiểm thử kỹ lưỡng trên nhiều thiết bị và phiên bản hệ điều hành khác nhau. Nhóm phát triển cần tiếp tục cải thiện ứng dụng để khắc phục những hạn chế này.

6.2. Hướng phát triển ứng dụng Console Flutter trong tương lai

Trong tương lai, ứng dụng có thể được phát triển theo nhiều hướng khác nhau: Tích hợp AI để cung cấp các đề xuất sản phẩm cá nhân hóa. Hỗ trợ VR để tạo ra trải nghiệm mua sắm sống động hơn. Tích hợp blockchain để đảm bảo tính minh bạch và an toàn trong các giao dịch. Mở rộng thị trường sang các quốc gia khác. Tích hợp thêm các tính năng mạng xã hội để tăng khả năng tương tác với người dùng. Phát triển phiên bản web của ứng dụng.

22/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: GIỚI THIỆU CHUNG 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. 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.

Đố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. Phạm vi nghiên cứu 1. Phạm vi môi trường: Ứng dụng di động 1.

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.

Android Studio Hình 2.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.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.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.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 hoàn toà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.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, ngoà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.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.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.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à quá 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. 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: 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ