Đồ án HCMUTE: Xây dựng ứng dụng di động bán sách sử dụng Flutter

Đồ án kỹ thuật nghiên cứu hcmute xây dựng ứng dụng di động đa nền tảng bán sách sử dụng framework flutter, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2020

112
8
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Khảo sát hiện trạng

1.2. Xác định yêu cầu

1.2.1. Giới thiệu chung về ứng dụng

1.2.2. Mô tả chức năng

1.2.3. Mô tả phi chức năng

1.2.4. Lược đồ Usecase tổng quan

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

2.1. Tổng quan Framework Flutter

2.2. Lịch sử phát triển

2.3. Đặc điểm chính

2.4. Kiến trúc của Flutter

2.5. Ưu điểm và nhược điểm. So sánh Flutter với React Native

2.6. Tổng quan Firebase

2.7. Lịch sử phát triển Firebase

2.8. Lợi ích khi sử dụng Firebase

2.9. Điểm yếu của Firebase

2.10. Một số dịch vụ Firebase cung cấp

3. CHƯƠNG 3: THIẾT KẾ PHẦN MỀM

3.1. Thiết kế phần mềm

3.2. Thiết kế dữ liệu

3.3. Lược đồ cơ sở dữ liệu

3.4. Thiết kế giao diện

3.5. Màn hình ứng dụng

4. CHƯƠNG 4: KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH, TỔNG HỢP

4.1. Cài đặt ứng dụng

4.2. Kiểm thử ứng dụng

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Những kết quả đạt được

5.2. Ưu điểm của đề tài

5.3. Hạn chế của đề tài

5.4. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Phát triển ứng dụng di động

Đề tài "Xây dựng ứng dụng di động đa nền tảng bán sách sử dụng Framework Flutter" tập trung vào phát triển ứng dụng di động. Khóa luận trình bày quá trình xây dựng một ứng dụng bán sách trực tuyến, đa nền tảng (ứng dụng đa nền tảng cross-platform) cho phép người dùng mua sách trên cả hệ điều hành Android và iOS (ứng dụng bán sách trên iOS, ứng dụng bán sách trên Android). Ứng dụng tận dụng khung ứng dụng Flutter để đạt được hiệu quả tối ưu. Quá trình phát triển bao gồm các giai đoạn nghiên cứu, thiết kế, triển khai và kiểm thử. Phát triển ứng dụng bán sách online là trọng tâm, đáp ứng nhu cầu mua sách trực tuyến ngày càng tăng của người dùng. Các chức năng chính bao gồm: xem thông tin sách, tìm kiếm sách, thêm vào giỏ hàng, thanh toán, quản lý tài khoản cá nhân. Ứng dụng thương mại điện tử này hướng đến trải nghiệm người dùng tốt hơn so với mua sách truyền thống.

1.1. Ứng dụng bán sách online

Khóa luận nhấn mạnh vào việc xây dựng ứng dụng bán sách online. Đây là một xu hướng phát triển mạnh mẽ, giúp người dùng tiết kiệm thời gian và chi phí. Ứng dụng này cung cấp giải pháp ứng dụng bán sách trực tuyến, giúp người dùng dễ dàng tìm kiếm và mua sách mà không cần đến cửa hàng truyền thống. Các tính năng như thanh toán online trong ứng dụng, tích hợp các phương thức thanh toán phổ biến, tích hợp thanh toán nhằm đảm bảo trải nghiệm mua hàng thuận tiện. Ứng dụng còn cho phép người dùng bình luận sách, đánh giá sách, tương tác với cộng đồng và chia sẻ trải nghiệm. Việc quản lý kho sách online được thực hiện thông qua hệ thống quản trị, đảm bảo cập nhật thông tin sách kịp thời và chính xác. Ứng dụng đọc sách điện tử bổ sung trải nghiệm đọc sách, tùy thuộc vào thiết kế ứng dụng.

1.2. Ứng dụng đa nền tảng

Ứng dụng được xây dựng với mục tiêu ứng dụng đa nền tảng. Việc sử dụng Flutter giúp tạo ra một ứng dụng hoạt động mượt mà trên cả hai hệ điều hành Android và iOS. Điều này tiết kiệm chi phí phát triển và thời gian, so với việc phát triển riêng cho từng nền tảng. Ứng dụng di động đa nền tảng này đáp ứng nhu cầu người dùng ngày càng cao về sự tiện lợi và khả năng truy cập trên nhiều thiết bị khác nhau. Ứng dụng được thiết kế để hoạt động trên nhiều hệ điều hành, đảm bảo tính tương thích và trải nghiệm người dùng đồng nhất trên cả Android và iOS. Xây dựng ứng dụng đa nền tảng là một lựa chọn thông minh, tối ưu về mặt tài nguyên và nguồn lực.

II. Xây dựng ứng dụng Flutter

Chọn Flutter là một quyết định chiến lược trong xây dựng ứng dụng. Học Flutter được xem xét kỹ lưỡng, dựa trên những ưu điểm vượt trội của framework này. Hướng dẫn lập trình Flutter cung cấp kiến thức nền tảng cần thiết. Lập trình ứng dụng di động với Flutter đơn giản hơn so với lập trình native. Khung ứng dụng Flutter cho phép phát triển ứng dụng nhanh chóng, hiệu quả và tiết kiệm chi phí. Thư viện Flutter phong phú, hỗ trợ việc phát triển ứng dụng đa dạng và phức tạp. Khóa luận nêu bật quá trình ứng dụng các kỹ thuật lập trình Flutter, từ thiết kế giao diện (thiết kế UI/UX ứng dụng di động) đến triển khai và tích hợp các chức năng.

2.1. Cơ sở dữ liệu và API

Khóa luận đề cập đến việc sử dụng Firebase với Flutter. Firebase được lựa chọn làm cơ sở dữ liệu, giúp lưu trữ và quản lý dữ liệu một cách hiệu quả. Việc tích hợp API cho ứng dụng bán sách giúp kết nối với các hệ thống khác, như hệ thống thanh toán hoặc hệ thống quản lý kho hàng. Quản lý kho sách online được đơn giản hóa bằng việc sử dụng cơ sở dữ liệu đám mây. Khóa luận cũng phân tích ưu nhược điểm của việc sử dụng Firebase, và các biện pháp đảm bảo an ninh ứng dụng di động. Việc thiết kế và triển khai API được trình bày chi tiết, đảm bảo sự tương tác giữa ứng dụng và các hệ thống bên ngoài.

2.2. Kiểm thử và triển khai

Sau khi hoàn thành việc phát triển, ứng dụng được kiểm thử kỹ lưỡng. Test ứng dụng Flutter là một giai đoạn quan trọng để đảm bảo chất lượng và ổn định của ứng dụng. Triển khai ứng dụng di động bao gồm việc xuất bản ứng dụng lên các cửa hàng ứng dụng (Google Play Store và App Store). Khóa luận trình bày chi tiết về quá trình kiểm thử, bao gồm cả kiểm thử chức năng và kiểm thử hiệu năng. Chi phí phát triển ứng dụng được ước tính và phân tích, giúp người đọc hiểu rõ hơn về quy trình phát triển ứng dụng. Ví dụ ứng dụng Flutter trong khóa luận đóng vai trò minh họa cho các giải pháp kỹ thuật được áp dụng.

III. Phân tích thị trường và chiến lược

Khóa luận đề cập đến xu hướng phát triển ứng dụng, cụ thể là trong lĩnh vực thương mại điện tử. Phân tích thị trường ứng dụng giúp xác định tiềm năng và thách thức của ứng dụng. Mẫu hình kinh doanh ứng dụng bán sách được đề xuất, cùng với chiến lược quảng bá ứng dụng di độngmarketing ứng dụng di động. Việc nghiên cứu đối thủ cạnh tranh giúp xác định vị thế của ứng dụng trên thị trường. Tối ưu hóa hiệu năng ứng dụng cũng được đề cập để đảm bảo trải nghiệm người dùng tốt nhất. Kinh nghiệm phát triển ứng dụng được đúc kết từ quá trình thực hiện khóa luận.

3.1. So sánh công nghệ

Khóa luận thực hiện so sánh Flutter và Native, đánh giá ưu điểm và nhược điểm của mỗi công nghệ. Việc lựa chọn Flutter dựa trên sự cân nhắc kỹ lưỡng về hiệu quả, chi phí và khả năng đáp ứng yêu cầu của dự án. Flutter vs React Native được phân tích, giúp độc giả hiểu rõ hơn về sự lựa chọn công nghệ. Lựa chọn công nghệ phát triển ứng dụng là một quyết định quan trọng ảnh hưởng đến toàn bộ quá trình phát triển. Khóa luận đưa ra những luận cứ thuyết phục về việc lựa chọn Flutter trong dự án này. Source code ứng dụng Flutter có thể được cung cấp để minh họa quá trình phát triển.

3.2. Thách thức và giải pháp

Khóa luận cũng đề cập đến những thách thức phát triển ứng dụng. Việc đảm bảo an ninh ứng dụng di động là một trong những thách thức quan trọng. Thực tiễn phát triển ứng dụng cho thấy cần có sự chuẩn bị kỹ lưỡng về mặt kỹ thuật và nguồn lực. Khóa luận đề xuất các giải pháp để khắc phục những khó khăn trong quá trình phát triển. Tối ưu hóa hiệu năng ứng dụng giúp đảm bảo trải nghiệm người dùng mượt mà. Thích hợp phát triển ứng dụng phụ thuộc vào nhiều yếu tố, bao gồm cả kinh nghiệm của đội ngũ phát triển.

01/02/2025

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

CHƯƠNG 1: TỔNG QUAN 1. Khảo sát hiện trạng Qua quá trình khảo sát và tìm hiểu thì ngày nay Internet đang dần trở thành một phần không thể thiếu trong đời sống của con người. Nó len lỏi qua từng lĩnh vực sinh hoạt, công việc, hoạt động giải trí của con người. Sự bùng nổ mạnh mẽ của Internet đã thúc đẩy hàng loạt sự việc gây ảnh hưởng lớn đến thời đại, là một nhân tố đắc lực giúp việc công nghiệp hóa – hiện đại hóa ngày càng mạnh mẽ.

Ngày xưa, khi công nghệ chưa phát triển thì nhu cầu tiếp nhận thông tin mới của con người đều qua sách giấy là chính, họ tìm đến những hiệu sách để tìm mua sách, và hiển nhiên có những cuốn sách rất khó để tìm mua, người mua sách phải tìm đến nhiều hiệu sách, khiến họ tốn cả thời gian và chi phí đi lại. Nhưng hiện nay, với sự phát triển mạnh mẽ của thương mại điện tử, hàng loạt trang mạng, ứng dụng điện thoại như Fahasa(www.com), Vinabook (www.com), Nhã Nam (nhanam.vn),… ra đời, đã giải quyết được vấn đề khó tìm mua sách với chỉ một cái nhấp chuột, vì vậy việc mua sách online đã không còn xa lạ đối với người Việt. Những trang web, ứng dụng đọc sách ra đời đem lại sự trải nghiệm mới mẻ và nó còn mang tới nhiều lợi ích nổi bật. Gần đây, để chào đón ngày Sách và Bản Quyền Thế Giới (23/4), nhóm nghiên cứu Picodi đã công bố một khảo sát liên quan đến thói quen đọc sách và mua sách của người Việt cũng như người đọc tại một số quốc gia khác trên thế giới.

Bản khảo sát này được thực hiện vào tháng 3/2019, dựa trên các giao dịch tại các nhà sách trực tuyến cùng kết quả thu thập từ 7.800 người đến từ 41 quốc gia khác nhau. Theo nghiên cứu này thì có 89% người Việt Nam đọc sách và 21% còn lại không đọc, 60% người Việt mua 1 cuốn sách / 1 năm, 29% người Việt mua sách giấy từ các cửa hàng sách online. Phần lớn người Việt cho biết rằng họ là người yêu văn hóa đọc. Với lượng người có thói quen đọc sách và mua sách giấy cao như vậy thì tiềm năng của một ứng dụng mua bán sách là rất lớn.

Thay vì đi mua sách ở những tiệm sách truyền thống thì người dùng có thể mua sách qua một chiếc điện thoại nhỏ gọn, không bị giới hạn bởi không gian và thời gian, giảm được chi phí di chuyển, thời gian và công sức. 1 do an Các ứng dụng cùng ý tưởng với đề tài đã được ra mắt:  Fahasa  Vinabook  Tiki 1. Xác định yêu cầu 1. Giới thiệu chung về ứng dụng Ứng dụng Lollipop Book là một ứng dụng chuyên kinh doanh về sách thuộc nhiều danh mục khác nhau như Chuyên ngành, Kinh tế, Tạp chí, Thiếu nhi, … của nhiều tác giả nổi tiếng.

Ứng dụng luôn cập nhật những cuốn sách mới với nhiều chương trình ưu đãi và khuyến mãi hấp dẫn. Các chức năng này đều do người quản trị và người dùng có quyền hạn quy định khi xây dựng ứng dụng. Mô tả chức năng 1. Mô tả các tác nhân Bảng 1.1: Mô tả tác nhân Tên tác nhân Công việc/ vai trò - Đăng ký - Đăng nhập - Chọn các danh mục yêu thích Guest - Xem trang chủ ứng dụng - Xem thông tin sách (Khách hàng chưa - Tìm kiếm sách đăng nhập) - Thêm sách vào giỏ hàng - Xem giỏ hàng - Xem danh mục sách - Xem tiêu điểm sách 2 do an - Những tính năng của khách trước khi đăng nhập - Bình luận và đánh giá sách - Thanh toán - Dùng mã khuyến mãi khi mua sách Member - Quản lý tài khoản cá nhân (Khách hàng đã - Quản lý đơn hàng đăng nhập) - Thêm sách vào yêu thích - Phản hồi và báo lỗi - Xem thông báo - Quên mật khẩu - Đăng xuất - Đăng nhập web Admin - Đăng xuất web Admin - Quản lý sách Admin - Quản lý quảng cáo - Quản lý người dùng - Quản lý đơn đặt hàng - Bao gồm những công việc của Member 3 do an 1.

Mô tả chức năng Bảng 1.2: Mô tả chức năng của khách hàng STT Chức năng Mô tả Người dùng có thể chọn Email Password, Facebook, 1 Đăng ký Google để đăng ký tài khoản. Sau khi đăng ký thành công người dùng sẽ tới bước tạo thông tin tài khoản. Đăng nhập bằng tài khoản đăng ký trước đó hoặc 2 Đăng nhập đăng nhập bằng Facebook, Google. Trước khi vào trang chủ của ứng dụng, người dùng Chọn các danh mục bắt buộc phải chọn 4 danh mục họ yêu thích, những 3 yêu thích danh mục này sẽ được hiển thị ở trang chủ của ứng dụng người dùng Người dùng có thể xem trang chủ của ứng dụng bao Xem trang chủ ứng gồm các mục quảng cáo, danh mục sách bán chạy, 4 dụng mới phát hành cùng các danh mục mà người dùng yêu thích Người dùng có thể xem thông tin chi tiết của từng 5 Xem thông tin sách sách như: tên sách, giá tiền, nhà xuất bản, bình luận của từng sách, lượt đánh giá của sách,.

Người dùng tìm sách yêu thích và hiển thị nội dung 6 Tìm kiếm sách có liên quan tới nội dung người dùng nhập. Thêm sách vào giỏ Người dùng có thể chọn sách mình muốn mua để 7 hàng thêm vào giỏ hàng 4 do an Sau khi thêm sách vào giỏ hàng, người dùng có thể 8 Xem giỏ hàng xem giỏ hàng để biết được mình đã mua những sách nào Người dùng có thể xem tất cả các danh mục sách trên 9 Xem danh mục sách ứng dụng. Người dùng có thể xem các bản tin về thông tin, giới 10 Xem tiêu điểm sách thiệu các cuốn sách Bình luận và đánh Người dùng nhập cảm nghĩ của bản thân về cuốn 11 giá sách sách và chọn số sao để đánh giá. Người dùng cần phải đăng nhập.

Sau đó chọn 12 Thanh toán phương thức thanh toán (thanh toán khi nhận hàng hoặc thanh toán thông qua Momo). Người dùng có thể sử dụng mã giảm giá để áp dụng Dùng mã khuyến 13 vào đơn hàng của mình, tổng tiền sẽ bằng tổng tạm mãi khi mua sách tính trừ đi số tiền giảm giá Khách hàng phải đăng nhập vào tài khoản để quản lý thông tin tài khoản. Gồm các tác vụ: Quản lý tài khoản cá 14 nhân  Sửa thông tin cá nhân  Đổi mật khẩu  Quản lý hoá đơn  Đăng xuất 5 do an Khách hàng phải đăng nhập vào tài khoản để hiển thị 15 Quản lý đơn hàng và hủy với những đơn có trạng thái chưa thanh toán, chưa giao hàng và chờ xử lý. Thêm sách vào yêu Người dùng chọn một cuốn sách và chọn thêm sách 16 thích vào yêu thích.

Khách hàng phải đăng nhập sau đó chọn loại lỗi và 17 Phản hồi và báo lỗi mô tả chi tiết lỗi. 18 Xem thông báo Khách hàng xem thông tin thông báo của ứng dụng Người dùng sẽ nhập email của tài khoản. Sau đó vào 19 Quên mật khẩu email xác nhận để đổi mật khẩu. 20 Đăng xuất Đăng xuất tài khoản hiện tại.

6 do an Bảng 1.3: Mô tả chức năng của admin STT Chức năng Mô tả Đăng nhập web 1 Đăng nhập bằng tài khoản được cấp quyền. Admin Đăng xuất web 2 Đăng xuất tài khoản hiện tại Admin Đăng nhập vào tài khoản Admin để thêm, xóa, cập 3 Quản lý sách nhật và tìm kiếm sách. Đăng nhập vào tài khoản Admin để thêm, xóa, cập 4 Quản lý quảng cáo nhật quảng cáo Đăng nhập vào tài khoản Admin để thêm, xóa, cập 5 Quản lý người dùng nhật và hiển thị danh sách nhóm người dùng, quyền và người dùng. Đăng nhập vào tài khoản Admin để hiển thị thông tin chi tiết đơn đặt hàng, cập nhật trạng thái thanh Quản lý đơn đặt toán (chưa thanh toán, đã thanh toán) và đơn đặt hàng 6 hàng (Chờ xử lý, đang xử lý, đang giao, hoàn tất, hủy đơn hàng).

Chỉ hủy với những đơn có trạng thái chưa giao hàng, chưa thanh toán và chờ xử lý. Mô tả phi chức năng Hỗ trợ khách hàng an toàn khi mua sản phẩm như các thông tin cá nhân liên quan đến khách hàng được đảm bảo an toàn. Ứng dụng có tốc độ xử lý nhanh. 7 do an Ứng dụng dễ dàng tiếp cận mọi chức năng với người dùng ở mọi lúc mọi nơi khi có kết nối Internet.

Giao diện thân thiện dễ dùng, hấp dẫn, dễ tìm kiếm thông tin các sản phẩm. Cơ sở dữ liệu đám mây giúp người dùng có thể đăng nhập tài khoản, đồng bộ hóa dữ liệu khi đăng nhập ở các thiết bị khác nhau. Lược đồ Usecase tổng quan Hình 1.1: Lược đồ Use Case tổng quan của ứng dụng Lollipop Book 8 do an 1. Mô tả chi tiết Usecase 1.

Mô tả Usecase Đăng nhập Bảng 1.4: Mô tả Usecase Đăng nhập Usecase Đăng nhập Mô tả Kiểm tra và xác thực vai trò người dùng. Tác nhân kích hoạt Khách Tiền điều kiện Tồn tại tài khoản. Các bước thực hiện (1) Vào màn hình Đăng Nhập. (2) Nhập Username và Mật khẩu hoặc chọn đăng nhập thông qua Facebook hoặc Google.

(3) Nhấn “Đăng Nhập”. (4) Nếu thành công sẽ chuyển tới trang chủ. Mô tả Usecase Đăng Ký Bảng 1.5: Mô tả Usecase Đăng ký Usecase Đăng ký Mô tả Tạo tài khoản sử dụng ứng dụng. Tác nhân kích hoạt Khách Tiền điều kiện Không có Các bước thực hiện (1) Vào màn hình Đăng Ký.

(3) Chọn “Đăng Ký” và xác thực đăng ký. (4) Trở lại đăng nhập. Mô tả Usecase Quên mật khẩu Bảng 1.6: Mô tả Usecase Quên mật khẩu Usecase Quên mật khẩu Mô tả Người dùng quên mật khẩu và muốn đổi mật khẩu mới. Tác nhân kích hoạt Thành viên Tiền điều kiện Tài khoản người dùng đã tồn tại.

Các bước thực hiện (1) Vào màn hình Đăng nhập (2) Chọn “Quên mật khẩu”. (3) Nhập Email của tài khoản. (4) Vào Email để đổi mật khẩu. Mô tả Usecase Xem màn hình giới thiệu Bảng 1.7: Mô tả Usecase Xem màn hình giới thiệu Mô tả Usecase Xem màn hình giới thiệu Mô tả Xem màn hình giới thiệu ứng dụng.

Tác nhân kích hoạt Khách, Thành viên Tiền điều kiện Mở ứng dụng lần đầu sau khi cài đặt. Các bước thực hiện (1) Mở ứng dụng lần đầu. Mô tả Usecase Xem trang chủ Bảng 1.8: Mô tả Usecase Xem màn hình trang chủ Usecase Xem màn hình trang chủ Mô tả Xem màn hình trang chủ, người dùng có thể xem các loại sách và tìm kiếm sách. Tác nhân kích hoạt Khách, Thành viên Tiền điều kiện Không có Các bước thực hiện (1) Mở ứng dụng.

Mô tả Usecase Xem thông tin sách Bảng 1.

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

Bài viết "Xây dựng ứng dụng di động bán sách đa nền tảng với Flutter" cung cấp cái nhìn sâu sắc về cách phát triển ứng dụng di động hiệu quả cho việc bán sách, sử dụng công nghệ Flutter. Tác giả nhấn mạnh những lợi ích của việc xây dựng ứng dụng đa nền tảng, bao gồm khả năng tiếp cận rộng rãi hơn và tiết kiệm thời gian phát triển. Bài viết cũng đề cập đến các tính năng quan trọng cần có trong ứng dụng, như giao diện người dùng thân thiện và tích hợp các phương thức thanh toán an toàn, giúp nâng cao trải nghiệm của người dùng.

Để mở rộng kiến thức của bạn về các yếu tố ảnh hưởng đến hành vi mua sắm trực tuyến, bạn có thể tham khảo bài viết "Luận văn thạc sĩ quản trị kinh doanh các tiền tố và hậu tố của sự tin tưởng của người tiêu dùng trong giao dịch trực tuyến". Ngoài ra, nếu bạn quan tâm đến việc thúc đẩy hành vi mua sắm trực tuyến, hãy xem bài viết "Luận văn thạc sĩ kỹ thuật chuyên ngành quản lý kinh doanh giải pháp thúc đẩy hành vi mua trực tuyến sản phẩm nội thất tại công ty tnhh thương mại thành thái". Cuối cùng, để tìm hiểu thêm về sự thỏa mãn của khách hàng trong dịch vụ mua hàng theo nhóm, bạn có thể đọc bài viết "Luận văn thạc sĩ quản trị kinh doanh nghiên cứu các yếu tố tạo nên sự thỏa mãn của khách hàng khi sử dụng dịch vụ mua hàng theo nhóm groupon tại tp hồ chí minh". Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về thị trường thương mại điện tử và ứng dụng di động.