Dự án "Xây dựng ứng dụng bán trà sữa" đặt mục tiêu tạo ra một nền tảng di động giúp người dùng trải nghiệm việc mua sắm trà sữa tiện lợi và nhanh chóng.. Với vai trò là công cụ hỗ trợ ki
Trang 1TRƯỜNG ĐẠI HỌC PHƯƠNG ĐÔNG
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-BÀI TẬP: LẬP TRÌNH MOBILE
ĐỀ TÀI: XÂY DỰNG APP BÁN TRÀ SỮA
Sinh viên thực hiện: Triệu Thu Hằng
Mã sinh viên: 521100020
Lớp: 521100A
Giáo viên hướng dẫn: Th.s Nguyễn Thị Như Quỳnh
Hà Nội, ngày 10 tháng 11 năm 2024
Trang 2Mục lục
Mở bài 3
MỤC TIÊU ĐỀ TÀI 4
CHƯƠNG 1: THUYẾT MINH VỀ ĐỀ TÀI 5
1 Giới thiệu đề tài: 5
2 Yêu cầu đề tài 5
CHƯƠNG 2: LỰA CHỌN NGÔN NGỮ VÀ HƯỚNG PHÁT TRIỂN 8
1 Giới thiệu về ngôn ngữ Java 8
2 Môi trường lập trình 9
3 Phân tích thiết kế hệ thống 10
3.1 Xác định yêu cầu chức năng: 10
3.2 Xác định yêu cầu phi chức năng: 11
3.3 Thiết kế hệ thống 11
CHƯƠNG 3: CÀI ĐẶT VÀ DEMO CHƯƠNG TRÌNH 13
1 Tạo cơ sở dữ liệu trong PHP MYADMIN 13
2 Demo app trên Android Studio 15
Trang 3Mở bài
Trong bối cảnh công nghệ phát triển vượt bậc và sự bùng nổ của xu hướng mua sắm trực tuyến, các ngành kinh doanh truyền thống cũng đang dần chuyển đổi để bắt kịp với nhu cầu của người tiêu dùng hiện đại Ngành dịch vụ ăn uống, đặc biệt là các chuỗi cửa hàng trà sữa, đang tích cực tìm kiếm giải pháp công nghệ để đáp ứng tốt hơn nhu cầu của khách hàng Trà sữa không chỉ là một loại đồ uống phổ biến mà còn là phong cách sống của giới trẻ, thúc đẩy sự phát triển của các ứng dụng mua sắm trực tuyến trong lĩnh vực này
Dự án "Xây dựng ứng dụng bán trà sữa" đặt mục tiêu tạo ra một nền tảng di động giúp người dùng trải nghiệm việc mua sắm trà sữa tiện lợi và nhanh chóng Với ứng dụng này, khách hàng có thể dễ dàng duyệt qua menu, tùy chọn hương vị yêu thích, cá nhân hóa đồ uống theo ý muốn, và thực hiện thanh toán chỉ với vài thao tác Ngoài ra, người dùng có thể theo dõi trạng thái đơn hàng, nhận thông báo về các ưu đãi đặc biệt và chương trình khuyến mãi từ cửa hàng
Với vai trò là công cụ hỗ trợ kinh doanh, ứng dụng này cũng sẽ cung cấp các tính năng giúp quản lý cửa hàng tối ưu hóa quy trình vận hành, từ việc quản lý đơn hàng, kiểm soát nguyên liệu, đến phân tích xu hướng mua sắm của khách hàng Bằng cách kết hợp các công nghệ tiên tiến và thiết kế giao diện thân thiện, ứng dụng bán trà sữa này không chỉ nhằm đáp ứng nhu cầu thực tiễn của khách hàng mà còn hỗ trợ các cửa hàng trà sữa xây dựng mối quan hệ lâu dài với người tiêu dùng thông qua trải nghiệm số hóa
Trang 4MỤC TIÊU ĐỀ TÀI
Xây dựng ứng dụng di động thân thiện và dễ sử dụng: Đảm bảo ứng dụng có
giao diện trực quan, thuận tiện cho người dùng, giúp họ dễ dàng thao tác trong việc tìm kiếm, lựa chọn và đặt mua các loại trà sữa yêu thích
Tăng cường trải nghiệm khách hàng: Cung cấp các tính năng cá nhân hóa đồ
uống theo sở thích như chọn hương vị, độ ngọt, đá, topping, và các thông tin khác nhằm đáp ứng đa dạng nhu cầu của người dùng
Tối ưu hóa quy trình quản lý cho cửa hàng: Phát triển các chức năng quản lý
đơn hàng, cập nhật trạng thái đơn hàng theo thời gian thực, và quản lý hàng tồn kho để giúp cửa hàng hoạt động hiệu quả và linh hoạt hơn
Hỗ trợ chiến dịch tiếp thị và giữ chân khách hàng: Xây dựng tính năng thông
báo về các chương trình khuyến mãi, ưu đãi đặc biệt, và các chương trình tích điểm nhằm thu hút khách hàng mới và khuyến khích khách hàng cũ quay lại
Tăng cường bảo mật và độ tin cậy: Đảm bảo hệ thống an toàn với các biện pháp
bảo mật trong quá trình đăng ký, đăng nhập, thanh toán và bảo mật thông tin cá nhân của khách hàng
Phân tích và tối ưu hóa trải nghiệm người dùng: Thu thập dữ liệu sử dụng để
hỗ trợ phân tích xu hướng tiêu dùng và cải thiện các tính năng của ứng dụng trong các phiên bản tiếp theo
Hỗ trợ mở rộng quy mô cho nhiều cửa hàng: Thiết kế ứng dụng có khả năng
mở rộng và tùy biến dễ dàng cho các chuỗi cửa hàng trà sữa, giúp hệ thống hoạt động mượt mà khi có thêm nhiều chi nhánh hoặc điểm bán
Mục tiêu này hướng đến việc xây dựng ứng dụng không chỉ mang lại trải nghiệm mua sắm trực tuyến tiện lợi cho người dùng mà còn trở thành công cụ quản lý hiệu quả cho cửa hàng trà sữa, góp phần thúc đẩy kinh doanh trong thời đại số
Trang 5CHƯƠNG 1: THUYẾT MINH VỀ ĐỀ TÀI
1 Giới thiệu đề tài:
Trong bối cảnh phát triển mạnh mẽ của công nghệ và nhu cầu ngày càng cao của người tiêu dùng, các doanh nghiệp trong ngành dịch vụ ăn uống đang dần chuyển mình để bắt kịp xu hướng số hóa Đặc biệt, thị trường trà sữa – một loại thức uống phổ biến với giới trẻ – không chỉ dừng lại ở mô hình kinh doanh truyền thống mà còn
mở rộng sang hình thức trực tuyến nhằm đáp ứng nhu cầu ngày càng đa dạng của khách hàng Trước xu thế này, đề tài "Xây dựng ứng dụng bán trà sữa" được đề xuất nhằm xây dựng một giải pháp ứng dụng di động hiện đại và tiện lợi cho cả người tiêu dùng và cửa hàng
Mục tiêu của đề tài là thiết kế và phát triển một ứng dụng bán trà sữa, giúp người dùng dễ dàng đặt hàng trực tuyến thông qua điện thoại di động Ứng dụng sẽ bao gồm các tính năng thân thiện như xem menu, tùy chỉnh đồ uống theo sở thích cá nhân (lựa chọn topping, độ ngọt, lượng đá), đặt hàng nhanh chóng và thanh toán linh hoạt qua nhiều hình thức Bên cạnh đó, ứng dụng cũng hỗ trợ tính năng theo dõi trạng thái đơn hàng, giúp khách hàng biết rõ khi nào đơn hàng của họ sẽ được giao đến
Với góc nhìn từ phía cửa hàng, ứng dụng cung cấp các công cụ quản lý hữu ích để tối ưu hóa quy trình kinh doanh Các tính năng như cập nhật menu, kiểm soát lượng hàng tồn kho, nhận và xử lý đơn hàng theo thời gian thực sẽ giúp cửa hàng dễ dàng theo dõi và quản lý hoạt động một cách hiệu quả Ứng dụng còn có khả năng gửi thông báo về các chương trình khuyến mãi, ưu đãi đặc biệt, và hệ thống tích điểm nhằm tăng cường gắn kết với khách hàng, xây dựng lượng khách hàng trung thành và thu hút thêm nhiều người dùng mới
Ngoài ra, đề tài cũng hướng tới việc xây dựng một hệ thống có khả năng mở rộng,
dễ dàng thích ứng với nhu cầu phát triển của cửa hàng Ứng dụng sẽ được thiết kế để
hỗ trợ hoạt động không chỉ cho một cửa hàng mà còn cho cả chuỗi cửa hàng trà sữa, tạo điều kiện thuận lợi cho quá trình mở rộng kinh doanh trong tương lai
Qua đề tài này, thực hiện mong muốn phát triển một sản phẩm vừa đáp ứng nhu cầu mua sắm trực tuyến tiện lợi cho khách hàng vừa giúp các cửa hàng trà sữa vận hành một cách hiệu quả hơn Đây sẽ là một giải pháp công nghệ có tính ứng dụng cao, góp phần thúc đẩy quá trình chuyển đổi số trong ngành kinh doanh đồ uống và đem lại trải nghiệm tốt nhất cho người dùng
2 Yêu cầu đề tài
Trang 6- Chức năng cơ bản: Xây dựng một ứng dụng di động cho phép người dùng duyệt
menu, đặt hàng trà sữa, thanh toán và theo dõi trạng thái đơn hàng, đồng thời quản
lý kho, đơn hàng và khách hàng cho cửa hàng
- Giao diện người dùng (UI/UX): Phát triển giao diện đẹp, dễ sử dụng, thân thiện
với người dùng, và đảm bảo trải nghiệm người dùng mượt mà
- Tính năng bảo mật: Đảm bảo tính bảo mật cao trong các giao dịch, đặc biệt là
bảo vệ thông tin cá nhân và thanh toán của khách hàng
- Khả năng mở rộng: Thiết kế hệ thống dễ dàng mở rộng để hỗ trợ nhiều cửa hàng
hoặc chuỗi cửa hàng trà sữa
- Tính linh hoạt: Cho phép người dùng tùy chỉnh đồ uống (mức độ ngọt, topping,
size ly) và cho phép cửa hàng cập nhật sản phẩm, giá cả dễ dàng
Các mục tiêu cụ thể
- Mục tiêu chính: Xây dựng một ứng dụng di động hoàn chỉnh cho phép người
dùng dễ dàng đặt trà sữa online, đồng thời giúp cửa hàng quản lý và tối ưu quy trình bán hàng
- Mục tiêu chức năng:
Phát triển các tính năng cho người dùng: Đăng ký/Đăng nhập, duyệt menu, tùy chỉnh đồ uống, thanh toán, theo dõi đơn hàng
Phát triển các tính năng quản lý cho cửa hàng: Quản lý menu, đơn hàng, kho, khách hàng, và báo cáo
Tích hợp các phương thức thanh toán trực tuyến (thẻ tín dụng, ví điện tử, thanh toán khi nhận hàng)
Tạo các chương trình khuyến mãi và ưu đãi, thông báo đến người dùng
- Mục tiêu kỹ thuật:
Sử dụng các công nghệ hiện đại trong phát triển ứng dụng di động (Flutter/ React Native cho di động, Node.js/PHP cho backend)
Bảo mật thông tin người dùng và giao dịch thanh toán
Đảm bảo khả năng mở rộng của hệ thống, có thể phục vụ nhiều cửa hàng hoặc chi nhánh
Trang 7Phạm vi nghiên cứu
- Nội dung nghiên cứu:
Phát triển ứng dụng di động cho người dùng và cửa hàng trà sữa
Tìm hiểu và áp dụng các công nghệ phát triển ứng dụng di động, các nền tảng thanh toán, và các giải pháp bảo mật trong thương mại điện tử
Xây dựng các tính năng cho phép người dùng tùy chỉnh đơn hàng, theo dõi đơn hàng và nhận các thông báo từ cửa hàng
Cải thiện quy trình quản lý cho cửa hàng, từ việc quản lý menu, đơn hàng đến việc phân tích doanh thu và hành vi khách hàng
- Giới hạn nghiên cứu:
Nghiên cứu sẽ tập trung vào việc phát triển ứng dụng dành cho hệ điều hành Android và iOS, không nghiên cứu trên các nền tảng khác
Phạm vi nghiên cứu giới hạn ở việc xây dựng một ứng dụng dành riêng cho trà sữa, không bao gồm các lĩnh vực đồ uống hoặc thực phẩm khác
Phương pháp nghiên cứu
- Phương pháp phát triển phần mềm:
Phát triển theo phương pháp Agile: Sử dụng các chu kỳ ngắn (sprints) để
phát triển và kiểm thử tính năng của ứng dụng, nhằm đảm bảo tính linh hoạt trong quá trình thay đổi yêu cầu hoặc tối ưu sản phẩm
- Phương pháp phân tích yêu cầu:
Tiến hành khảo sát người dùng và các chủ cửa hàng trà sữa để thu thập yêu cầu thực tế và hiểu rõ nhu cầu của khách hàng và nhà quản lý
Phân tích các ứng dụng tương tự để rút ra các bài học và định hướng thiết
kế phù hợp
- Phương pháp thiết kế và phát triển:
Thiết kế giao diện người dùng (UI/UX): Sử dụng công cụ như Figma
hoặc Adobe XD để thiết kế các màn hình và flow ứng dụng
Trang 8 Lập trình ứng dụng di động: Dựa trên công nghệ Flutter hoặc React
Native để phát triển ứng dụng di động, sử dụng Node.js/PHP cho phần backend
- Phương pháp kiểm thử:
Kiểm thử chức năng: Đảm bảo tất cả các chức năng của ứng dụng (đặt
hàng, thanh toán, quản lý đơn hàng) hoạt động đúng như yêu cầu
Kiểm thử bảo mật: Đảm bảo thông tin người dùng và các giao dịch thanh
toán được bảo mật đúng cách
Kiểm thử hiệu suất: Đảm bảo ứng dụng hoạt động mượt mà, nhanh chóng
và không gặp sự cố khi có lượng người dùng lớn
- Phương pháp thu thập dữ liệu và phản hồi:
Phân tích dữ liệu người dùng qua các công cụ phân tích (Google Analytics, Firebase) để cải thiện ứng dụng
Tiến hành khảo sát người dùng sau khi ứng dụng ra mắt để thu thập phản hồi và cập nhật tính năng cho phiên bản tiếp theo
Trang 9CHƯƠNG 2: LỰA CHỌN NGÔN NGỮ VÀ HƯỚNG PHÁT
TRIỂN
1 Giới thiệu về ngôn ngữ Java
Java là một ngôn ngữ lập trình hướng đối tượng, được thiết kế với mục tiêu "viết một lần, chạy mọi nơi" (Write Once, Run Anywhere - WORA) Ngôn ngữ này được phát triển bởi Sun Microsystems (nay thuộc sở hữu của Oracle) và được sử dụng rộng rãi trong việc xây dựng các ứng dụng doanh nghiệp, ứng dụng web, ứng dụng di động và nhiều hơn nữa
Việc lựa chọn Java để phát triển ứng dụng đăng ký khóa học tự chọn là hoàn toàn phù hợp và có nhiều ưu điểm như:
- Tính đa nền tảng: Nhờ cơ chế JVM (Java Virtual Machine), các ứng dụng Java có thể chạy trên nhiều hệ điều hành khác nhau như Windows, macOS, Linux mà không cần phải viết lại code Điều này giúp ứng dụng có thể tiếp cận được với nhiều người dùng hơn
- Độ tin cậy và bảo mật: Java được biết đến với tính ổn định và bảo mật cao, giúp đảm bảo rằng ứng dụng hoạt động trơn tru và dữ liệu của người dùng được bảo vệ
an toàn
- Cộng đồng lớn mạnh: Java có một cộng đồng người dùng và nhà phát triển rất lớn, điều này đồng nghĩa với việc có nhiều tài liệu, thư viện và hỗ trợ sẵn có để giải quyết các vấn đề phát sinh trong quá trình phát triển
- Phù hợp với các ứng dụng doanh nghiệp: Java thường được sử dụng để xây dựng các ứng dụng doanh nghiệp lớn, phức tạp, đòi hỏi tính ổn định và khả năng mở rộng cao Ứng dụng đăng ký khóa học, dù ở quy mô nhỏ, vẫn có thể tận dụng được những ưu điểm này
Java sở hữu nhiều điểm mạnh giúp nó trở thành một trong những ngôn ngữ lập trình phổ biến nhất hiện nay là do:
- Hướng đối tượng: Java là một ngôn ngữ hướng đối tượng thuần túy, giúp tổ chức code một cách rõ ràng và dễ bảo trì
- Đa luồng: Java hỗ trợ đa luồng, cho phép thực hiện nhiều tác vụ cùng một lúc, tăng hiệu suất của ứng dụng
Trang 10- Thu gom rác tự động: Java có cơ chế thu gom rác tự động, giúp giảm thiểu rò rỉ bộ nhớ và tăng độ ổn định của ứng dụng
- Các thư viện phong phú: Java cung cấp một kho thư viện khổng lồ, bao gồm các thư viện để xử lý giao diện người dùng, kết nối cơ sở dữ liệu, truyền thông mạng
và nhiều hơn nữa
Với những ưu điểm trên, Java là một lựa chọn lý tưởng để phát triển ứng dụng đăng ký khóa học tự chọn Ứng dụng này sẽ cần đến một nền tảng ổn định, bảo mật, có khả năng xử lý nhiều người dùng cùng lúc và dễ dàng mở rộng Java đáp ứng đầy đủ các yêu cầu này Ngoài ra, việc sử dụng Java cũng giúp cho việc bảo trì và nâng cấp ứng dụng trong tương lai trở nên dễ dàng hơn
2 Môi trường lập trình
Android Studio Koala là phiên bản cập nhật mới nhất của môi trường phát triển tích hợp (IDE) chính thức dành cho Android Phiên bản này mang đến nhiều cải tiến đáng
kể so với các phiên bản trước đó, giúp các nhà phát triển tạo ra các ứng dụng Android chất lượng cao một cách nhanh chóng và hiệu quả Koala được trang bị nhiều công cụ và tính năng hiện đại, hỗ trợ đầy đủ cho các phiên bản Android mới nhất và các ngôn ngữ lập trình phổ biến như Kotlin và Java
Một trong những điểm mạnh nổi bật của Android Studio Koala là khả năng tăng cường hiệu suất làm việc của nhà phát triển Phiên bản này cung cấp một giao diện trực
Trang 11quan, dễ sử dụng, cùng với các công cụ hỗ trợ mã hóa thông minh như tự động hoàn thành code, kiểm tra lỗi thời gian thực và refactoring Ngoài ra, Koala còn tích hợp sẵn các công cụ để xây dựng, chạy và gỡ lỗi ứng dụng, giúp rút ngắn thời gian phát triển Android Studio Koala mang đến nhiều tính năng mới đáng chú ý, bao gồm:
- Hỗ trợ Jetpack Compose: Koala cung cấp các công cụ và mẫu mã để phát triển giao diện người dùng bằng Jetpack Compose, một công cụ UI toolkit mới của Android giúp tạo ra các giao diện hiện đại và linh hoạt
- Cải thiện hiệu suất: Koala đã được tối ưu hóa để cải thiện hiệu suất làm việc, đặc biệt là khi làm việc với các dự án lớn
- Hỗ trợ nhiều ngôn ngữ: Ngoài Kotlin và Java, Koala còn hỗ trợ các ngôn ngữ lập trình khác như C++ và Rust
- Tích hợp với các dịch vụ của Google: Koala tích hợp sẵn với các dịch vụ của Google như Firebase, Google Cloud Platform, giúp nhà phát triển dễ dàng kết nối ứng dụng của mình với các dịch vụ này
Android Studio Koala là một công cụ không thể thiếu đối với bất kỳ nhà phát triển Android nào Với những cải tiến đáng kể về hiệu suất, tính năng và khả năng hỗ trợ, Koala giúp các nhà phát triển tạo ra các ứng dụng Android chất lượng cao một cách nhanh chóng và hiệu quả
3 Phân tích thiết kế hệ thống
Phân tích hệ thống cho ứng dụng bán trà sữa bao gồm việc xác định các yêu cầu chức năng và phi chức năng của hệ thống, từ đó xây dựng mô hình hệ thống phù hợp
3.1 Xác định yêu cầu chức năng:
Các yêu cầu chức năng của hệ thống bao gồm các tính năng cơ bản mà người dùng
và quản trị viên cửa hàng cần phải có trong ứng dụng bán trà sữa:
- Đối với người dùng (Customer):
1 Đăng ký và đăng nhập: Người dùng có thể đăng ký và đăng nhập bằng
email, số điện thoại hoặc các mạng xã hội
2 Duyệt menu: Xem danh sách các sản phẩm, bao gồm các loại trà sữa,
topping, và các món ăn kèm
3 Tùy chỉnh đơn hàng: Người dùng có thể tùy chỉnh mức độ ngọt, size ly,
topping, đá, v.v
4 Giỏ hàng và thanh toán: Thêm sản phẩm vào giỏ hàng, điều chỉnh số
lượng và thanh toán qua các phương thức như thẻ tín dụng, ví điện tử hoặc thanh toán khi nhận hàng
5 Theo dõi trạng thái đơn hàng: Người dùng có thể theo dõi tình trạng đơn
hàng (đang xử lý, đang giao, đã giao)
6 Đánh giá sản phẩm và dịch vụ: Người dùng có thể đánh giá và nhận xét
sau khi nhận được sản phẩm
- Đối với quản trị viên cửa hàng (Admin/Store Manager):
7 Quản lý menu: Cập nhật, xóa, thêm sản phẩm (trà sữa, topping, món ăn
kèm) vào menu
8 Quản lý đơn hàng: Xem và xác nhận đơn hàng, cập nhật trạng thái đơn
hàng