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.