Báo cáo Đồ án 2: Xây dựng ứng dụng bán sách bằng Flutter - ĐH CNTT

Tải miễn phí báo cáo đồ án 2 xây dựng ứng dụng bán sách bằng Flutter. Tài liệu gồm phân tích hệ thống, thiết kế giao diện và hướng phát triển.

78
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Đồ Án Ứng Dụng Bán Sách Bằng Flutter

Đồ án ứng dụng bán sách bằng Flutter là một dự án học thuật được thực hiện tại Trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM. Đây là một ứng dụng di động hiện đại nhằm xây dựng nền tảng thương mại điện tử chuyên biệt cho ngành kinh doanh sách. Với sự phát triển vượt bậc của công nghệ thông tin, nhu cầu mua hàng online ngày càng tăng cao, đặc biệt là lĩnh vực bán sách. Ứng dụng này giải quyết bài toán quản lý kho hàng phức tạp và tối ưu hóa trải nghiệm mua sắm cho người tiêu dùng. Được xây dựng bằng Flutter, ứng dụng có khả năng chạy trên cả nền tảng iOSAndroid với hiệu suất cao. Lý do chọn đề tài này xuất phát từ nhu cầu thực tiễn của thị trường bán lẻ sách trực tuyến tại Việt Nam.

1.1. Lý Do Chọn Đề Tài

Thế kỷ 21 chứng kiến sự phát triển mạnh mẽ của ngành CNTT. Ứng dụng di động đã trở thành công cụ không thể thiếu trong quảng cáo, thương mại và quản lý. Thương mại điện tử sẽ dần thay thế các phương thức kinh doanh cũ nhờ tính ưu việt: nhanh hơn, rẻ hơn, tiện dụng hơn. Cửa hàng bán sách online giúp người mua chọn mua một cách đơn giản, hiệu quả, không bị giới hạn không gian và thời gian.

1.2. Mục Tiêu Chính

Mục tiêu của đồ án là xây dựng một ứng dụng bán sách hoàn chỉnh với hai giao diện riêng biệt cho admin và khách hàng. Ứng dụng cung cấp các tính năng quản lý sản phẩm, tài khoản, thể loại, danh mục, quảng cáo và xử lý đơn hàng. Đồng thời, nó giúp tối ưu hóa quy trình mua sắm cho người dùng cuối với các chức năng tìm kiếm, lọc sản phẩm và thanh toán an toàn.

II. Công Nghệ Và Công Cụ Sử Dụng

Đồ án sử dụng Flutter làm framework chính để phát triển ứng dụng di động đa nền tảng. Flutter là một bộ công cụ open-source được phát triển bởi Google, cho phép xây dựng ứng dụng native cho iOS, Android, Web và Desktop từ một codebase duy nhất. Ngoài Flutter, dự án tích hợp Firebase - nền tảng phát triển ứng dụng toàn diện của Google. Firebase cung cấp các dịch vụ backend như Realtime Database, xác thực người dùng, và lưu trữ dữ liệu đám mây. Sự kết hợp này cho phép nhóm phát triển ứng dụng một cách nhanh chóng và hiệu quả mà không cần phải lo lắng quá nhiều về cơ sở hạ tầng backend. Những công nghệ này được chọn vì tính ổn định, độ tin cậy caocộng đồng hỗ trợ lớn.

2.1. Framework Flutter

Flutter là một framework cross-platform được phát triển bởi Google. Nó cho phép các lập trình viên xây dựng ứng dụng native chất lượng cao cho iOS, Android, Web và Desktop từ một codebase duy nhất. Dart là ngôn ngữ lập trình được sử dụng trong Flutter. Các ưu điểm nổi bật của Flutter bao gồm: tốc độ phát triển nhanh, hiệu suất cao, widget UI phong phú, hot reload cho trải nghiệm phát triển tối ưu.

2.2. Nền Tảng Firebase

Firebase là nền tảng phát triển ứng dụng toàn diện của Google cung cấp nhiều dịch vụ backend. Các dịch vụ chính bao gồm: Realtime Database cho đồng bộ dữ liệu thời gian thực, Authentication cho xác thực người dùng an toàn, Cloud Storage để lưu trữ hình ảnh và tệp. Firebase giúp tối ưu hóa thời gian phát triển và cung cấp độ tin cậy cao với uptime 99.95%.

III. Kiến Trúc Hệ Thống Và Phân Tích

Hệ thống được thiết kế theo mô hình MVC (Model-View-Controller) giúp tách biệt logic ứng dụng, giao diện và dữ liệu. Kiến trúc hệ thống bao gồm hai phần chính: Admin Panel để quản lý sản phẩm, tài khoản, thể loại, danh mục, quảng cáo và User Interface cho khách hàng cuối cùng. Phân tích yêu cầu hệ thống được thực hiện qua sơ đồ Use Case chi tiết, xác định tất cả các tác vụ mà hệ thống cần hỗ trợ. Cấu trúc dữ liệu được thiết kế để lưu trữ thông tin về sách, người dùng, đơn hàng và lịch sử giao dịch. Sơ đồ lớp (Class Diagram) mô tả chi tiết các đối tượng trong hệ thống và các mối quan hệ giữa chúng, đảm bảo tính nhất quán và dễ bảo trì của mã nguồn.

3.1. Sơ Đồ Use Case

Sơ đồ Use Case xác định tất cả các tương tác giữa người dùng và hệ thống. Các use case chính bao gồm: đăng nhập/đăng xuất, quản lý tài khoản, quản lý sản phẩm, thêm sách vào giỏ hàng, thanh toán, tìm kiếm và thống kê đơn hàng. Mô hình Use Case giúp nhóm phát triển có cái nhìn rõ ràng về các chức năng cần xây dựng và đặc tả chi tiết từng tác vụ của hệ thống.

3.2. Thiết Kế Sơ Đồ Lớp

Sơ đồ lớp mô tả các đối tượng chính trong hệ thống như User, Product, Order, Category, Brand. Mỗi lớp được định nghĩa với các thuộc tính và phương thức cụ thể. Mối quan hệ giữa các lớp được biểu diễn qua các mũi tên kế thừa, tổng hợp và liên kết. Thiết kế này đảm bảo tính linh hoạt, dễ bảo trì và tuân theo các nguyên tắc lập trình hướng đối tượng.

IV. Kết Quả Đạt Được Và Hướng Phát Triển

Đồ án đã hoàn thành thành công với đầy đủ các tính năng yêu cầu. Ứng dụng bán sách cung cấp giao diện thân thiện cho cả admin và người dùng, hỗ trợ đăng nhập an toàn, quản lý sản phẩm toàn diện, giỏ hàng động và thanh toán linh hoạt. Các tính năng chính đã được kiểm thử và vận hành ổn định trên cả iOS và Android. Hệ thống xử lý đơn hàng, theo dõi trạng thái và thống kê hiệu quả. Kết quả thử nghiệm cho thấy ứng dụng hoạt động ổn định với thời gian tải nhanh và trải nghiệm người dùng mượt mà. Hướng phát triển tương lai bao gồm tích hợp thanh toán trực tuyến, hệ thống đánh giá và bình luận, đề xuất sản phẩm thông minh dựa trên AI, mở rộng kho sách và tối ưu hóa hiệu suất.

4.1. Kết Quả Đạt Được

Đồ án đã triển khai thành công một ứng dụng bán sách hoàn chỉnh với giao diện đẹp, chức năng đầy đủ. Các tính năng chính bao gồm: quản lý sản phẩm, tài khoản, thể loại, danh mục, quảng cáo, giỏ hàng, thanh toán và thống kê đơn hàng. Ứng dụng được kiểm thử toàn diện và đạt chất lượng cao. Kết quả cho thấy hiệu suất tốt, thời gian tải nhanh và trải nghiệm người dùng mượt mà trên cả hai nền tảng.

4.2. Hướng Phát Triển Tương Lai

Những bước phát triển tiếp theo bao gồm: tích hợp các phương thức thanh toán trực tuyến như Momo, ZaloPay, ngân hàng; xây dựng hệ thống đánh giá sản phẩm và bình luận; phát triển thuật toán đề xuất sách dựa trên AI; mở rộng kho sách với các thể loại mới; tối ưu hóa hiệu suất ứng dụng và bảo mật dữ liệu người dùng.

28/12/2025

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

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1. Lí do chọn đề tài: Chúng ta có thể nói rằng thế kỷ 21 đã và đang chứng kiến sự phát triển mạnh mẽ của ngành Công nghệ thông tin. Công nghệ thông tin (CNTT) đã và đang thay đổi thế giới một cách nhanh chóng và từng bước kéo nền tri thức của nhân loại xích lại gần nhau hơn. Việc mua bán trao đổi qua các ứng dụng di động ngày càng phát triển và phổ biến.

Ngày nay, ứng dụng di động đã đóng một vai trò quan trọng đối với con người chúng ta từ giải trí cho đến quảng cáo, thương mại, quản lý.Cụ thể Ứng dụng bán hàng online (thương mại điện tử) sẽ dần dần thay thế những phương thức kinh doanh cũ trong các doanh nghiệp bởi tính ưu việt mà Ứng dụng bán hàng online mang lại như: nhanh hơn, rẻ hơn, tiện dụng hơn, hiệu quả hơn và không bị giới hạn không gian và thời gian. Ứng dụng bán hàng online giúp người mua có thể chọn mua các món hàng một cách đơn giản, hiệu quả. Tất cả các công việc điều được thao tác trực tiếp ngay trên ứng dụng. Tóm tắt đề tài: Là một trang ứng dụng kinh doanh sách.

Cửa hàng bán các loại sách thật, chính hãng và nói không với sách lậu. Với sự phát triển của công nghệ thông tin nói chung và thương mại điện tử nói riêng dẫn đến nhu cầu của mua hàng online tăng cao, cửa hàng sẽ gặp khó khăn trong việc quản lý số lượng mặt hàng, đơn hàng và hoạt động bán hàng. Vì vậy, ứng dụng trước hết là phải giải quyết được các vấn đề trên. Ứng dụng cho phép kiểm soát tình hình mua bán và số lượng các mặt hàng, đơn hàng.

Ngoài ra, ứng dụng sẽ được áp dụng chiến lược "2 mức giá" đối với các sản phẩm có giá trị cao như là mô hình đồ chơi ô tô, mô tô,. Việc áp dụng sẽ được tiến hành như sau: sẽ có 2 mức giá khác nhau cho cùng một sản phẩm: (i) một mức giá đi cùng với tất cả các tùy chọn (giao hàng nhanh, có bọc sẵn và gói bảo hành) trong khi đó (ii) mức giá còn lại sẽ rẻ hơn và không có các dịch vụ trên (chỉ đi kèm với bảo hành của hãng). Tiếp đó là chiến lược tiếp thị hỗn hợp : +Sản phẩm: Phát triển ứng dụng riêng cho mỗi nước, sản phẩm của hãng tạo ra Page 6 of 78 là một trang web được tối ưu với các ngôn ngữ khác nhau, cùng với đó là sự trải nghiệm tốt nhất cho người dùng khi thiết kế ứng dụng dựa vào thói quen sử dụng của khách hang, chăm chút hình ảnh trên ứng dụng khiến các sản phẩm bán hàng hấp dẫn người mua hơn. Đặc biệt là đảm bảo chất lượng sản phẩm.

+ Giá cả: Ưu đãi, phù hợp với túi tiền người dùng, ngoài ra sẽ có các chương trình giảm giá cũng như cái code giảm giá. Mục tiêu của đề tài: √ Xây dựng Ứng dụng bán sách qua mạng. √ Nghiên cứu các công nghệ liên quan đến phát triển ứng dụng. √ Tạo ra ứng dụng (thương mại điện tử) thiết thực và sử dụng được trong thực tế.

√ Nghiên cứu về cách thức mà một Ứng dụng được sử dụng trong kinh doanh online. √ Đưa ra các báo cáo và tài tiệu. Phương pháp nghiên cứu: √ Nghiên cứu một số ứng dụng bán hàng như: Lazada, Shoppe cốt lõi là Tiki sách. √ Nghiên cứu các tài liệu về nghiệp vụ về Quản lí bán hàng và Bán hàng.

√ Phỏng vấn và khảo sát thực tế về cách thức quản lí. √ Các tài liệu, video hướng dẫn cách thức mua bán, xử lí đơn hàng. Ý nghĩa và kết quả hướng tới của đề tài: 5.1 Về mặt sản phẩm (ứng dụng bán hàng): √ Tạo ra được ứng dụng bán hàng có thể sử dụng thực thế. √ Quản lí được các công đoạn mua bán một cách nhanh chóng, hiệu quả.

Page 7 of 78 √ Tối ưu hóa về các chi phí về gian hàng, hiệu quả đầu tư cho các shop bán hàng.2 Về mặt tài liệu: √ Toàn bộ chương trình và bản báo cáo của đề tài sẽ trở thành tài liệu nghiên cứu, tham khảo nhanh, dễ hiễu cho các bạn yêu thích lĩnh vực Ứng dụng thương mại điện tử sử dụng Flutter. √ Có thể sử dụng tài liệu để tham khảo về công nghệ như Flutter, Firebase, Figma. Page 8 of 78 CHƯƠNG 2: CÔNG NGHỆ LIÊN QUAN 1. Tìm hiểu về Flutter: 1.1 Flutter là gì: √ Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn.

Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức. √ Flutter hoàn toàn miễn phí và cũng là mã nguồn mở.2 Tại sao lại là Flutter? √ Nếu bạn đang tìm kiếm các phương pháp thay thế để phát triển ứng dụng Android, bạn nên cân nhắc thử Flutter của Google, một framework dựa trên ngôn ngữ lập trình Dart. √ Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với những ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và hiệu suất. Hơn nữa, với những tinh chỉnh nhỏ, chúng có thể chạy trên thiết bị iOS.

√ Chạy ở 60 fps, giao diện người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các framework phát triển đa nền tảng khác chẳng hạn như React Native và Ionic. Một số lí do khiến bạn có thể hứng thú với Flutter: 1. Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính năng hữu ích như mixin, generic, isolate, và static type. Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuất chúng trên nền tảng Android và iOS.

Hầu hết các thành phần giao diện người dùng, đều sẵn dùng, phù hợp với các nguyên tắc của Material Design. Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụng IntelliJ IDEA, một IDE rất giống với Android Studio.3 Đặc điểm nổi bật: √ Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để hiện thị giao diện tới bạn. Sử dụng tập hợp các widget có thể customizable để xây dựng giao diện trong vài phút. Ngoài ra Hot Reload còn giúp bạn thêm các tính năng, fix bug tiết kiệm thời gian hơn mà không cần phải thông qua máy ảo, máy android hoặc iOS.

√ Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao diện của Flutter vô cùng đẹp mắt theo phong cách Material Design và Cupertino, hỗ trợ nhiều các APIs chuyển động, smooth scrolling. √ Native Performance: Các widget của fluter kết hợp các sự khác biệt của các nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng tốt nhất tới iOS và Android.4 Khác biệt so với “anh cả” Android? √ Chắc hẳn không ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho di động, có tên gọi Android rồi hay sao. Nhưng với Google, thế giới mobile là quá rộng chỉ với một giải pháp duy nhất là Android. Với việc ra mắt phiên bản beta 1 này, giờ đây họ có trong tay hai bộ SDK cho ứng dụng di động: Android và Flutter.

Và điểm khác biệt cơ bản giữa Flutter và Android: tạo ra các ứng dụng chạy trên cả iOS và Android. √ Là một bộ SDK đa nền tảng, các ứng dụng Flutter có thể hoạt động trên cả iOS và Android. Nó như một thủ thuật khôn khéo để tương thích được với framework UI trên cả hai hệ điều hành này. Các ứng dụng Flutter không biên dịch trực tiếp với các ứng dụng native của Android và iOS.

√ Sau đó bộ SDK sẽ đóng gói lại vào trong một ứng dụng để sẵn sàng chạy trên mỗi nền tảng. Bạn tạo ra ứng dụng của mình, một engine mới sẽ chạy các đoạn code của Flutter, và các đoạn code native vừa đủ để nền tảng Flutter chạy trên cả Android và iOS. √ Đóng gói cả một engine đi kèm cùng ứng dụng sẽ làm cho kích thước bộ cài đặt lớn hơn hẳn. Trang Hỏi đáp của Flutter cho biết, một ứng dụng “trống” thông thường sẽ chỉ Page 10 of 78 khoảng 6-7MB trên Android, vì vậy dù là ứng dụng nào, phần kích thước tăng lên cũng là rất nhiều.

Nhưng lợi ích của việc này là các ứng dụng Flutter sẽ rất nhanh. √ Flutter được thiết kế từ đầu để đạt tới tốc độ khung hình 60fps. Trong khi đây không phải là một con số hiếm gặp trên iOS, nhưng với Android, bạn có thể cảm thấy sự khác biệt rõ rệt ngay lập tức. Cũng nhờ việc xuất xưởng cùng với cả một nền tảng cho ứng dụng của mình, các nhà phát triển sẽ tránh được nhiều vấn đề về sự phân mảnh của Android.1 Firebase là gì? √ Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần backend hay server.

Nó còn giúp các lập trình viên rút ngắn thời gian triển khai và mở rộng quy mô của ứng dụng mà họ đang phát triển. √ 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.

Cụ thể là những giao diện lập trình ứng dụng API đơn giản. Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn. √ Đặc biệt, còn là dịch vụ đa năng và bảo mật cực tốt. Firebase hỗ trợ cả hai nền tảng Android và IOS.

Không có gì khó hiểu khi nhiều lập trình viên chọn Firebase làm nền tảng đầu tiên để xây dựng ứng dụng cho hàng triệu người dùng trên toàn thế giới.2 Lịch sử phát triển Firebase: √ Gần một thập niên trước, Firebase ra đời với tiền thân là Envolve. Đây là một nền tảng đơn giản chuyên cung cấp những API cần thiết để tích hợp tính năng chat vào trang web. Bên cạnh ứng dụng nhắn tin trực tuyến, Envolve còn được người dùng sử dụng để truyền và đồng bộ hóa dữ liệu cho những ứng dụng khác như các trò chơi trực tuyến,… Do đó, Page 11 of 78 các nhà sáng lập đã tách biệt hệ thống nhắn tin trực tuyến và đồng bộ dữ liệu thời gian thực thành hai phần riêng biệt. √ Trên cơ sở đó, năm 2012, Firebase ra đời với sản phẩm cung cấp là dịch vụ Backend-as-a-Service.

Tiếp đến, vào năm 2014, Google mua lại Firebase và phát triển nó thành một dịch vụ đa chức năng được hàng triệu người sử dụng cho đến hiện nay.3 Cách thức hoạt động của Firebase: 2.

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