CHƯƠNG 1: PHÂN TÍCH HỆ THỐNG VÀ THIẾT KẾ I. Lý do chọn đề tài, giới thiệu: Lý do: Trong thời đại số hóa và công nghệ phát triển nhanh chóng như hiện nay, nhu cầu về sự tiện lợi và nhanh chóng trong mọi lĩnh vực của cuộc sống ngày càng trở nên cấp thiết. Sự xuất hiện của các ứng dụng đặt thức ăn đã phản ánh và phục vụ rất tốt cho xu hướng này, biến việc lựa chọn và thưởng thức các món ăn từ những nhà hàng yêu thích thành một trải nghiệm dễ dàng và thuận tiện ngay tại nhà. Việc ứng dụng các công nghệ mới như AI và big data vào ứng dụng đặt thức ăn không những giúp cải thiện trải nghiệm người dùng mà còn mang lại hiệu quả kinh doanh cao cho các nhà hàng và đối tác vận chuyển.
Chính vì vậy, việc nghiên cứu và phát triển một ứng dụng đặt thức ăn đáng tin cậy, tiện ích và thân thiện với người dùng là một đề tài có tính ứng dụng cao và cần thiết tại thời điểm hiện tại. Giới thiệu: Đề tài về việc phát triển ứng dụng đặt thức ăn điện tử nhấn mạnh vào việc tối ưu hóa trải nghiệm của người dùng, đồng thời giải quyết các vấn đề còn tồn tại của những ứng dụng hiện có. Điểm nhấn của ứng dụng này sẽ là sự kết hợp giữa công nghệ hiện đại và giao diện thân thiện, tạo ra một hệ sinh thái đặt thức ăn điện tử toàn diện, giới thiệu đến người dùng cả một thế giới ẩm thực chỉ trong vài cái chạm trên màn hình điện thoại. Phân tích yêu cầu 1.
Mục tiêu chính: Xây dựng ứng dụng giúp cửa hàng quản lý món ăn cũng như mang đến cho người dùng giả pháp mua hàng tại nhà. Yêu cầu chức năng: Chức năng cơ bản: o Đăng nhập o Đăng ký o Reset password Chức năng người dùng: o Xem thức ăn o Tìm kiếm thức ăn o Giỏ hàng o Đặt hàng o Theo dõi đơn hàng o Xem thông tin cá nhân o Thanh toán Chức năng admin: o Quản lý sản phẩm o Xem đơn đặt hàng o Thống kê biểu đồ 3. Yêu cầu phi chức năng: 4 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Hệ thống hoặt động mượt mà, firebase tải được nhiều người dùng cùng lúc. Thân thiện người dùng, dễ sử dụng.
Thiết kế Mockup Figma: Figma là một phần mềm biên tập đồ họa vector và dựng prototype. Figma chủ yếu hoạt độ ng trên nền web, dù có một số tính năng ngoại tuyến trên các phiên bản ứng dụng desktop cho hệ điều hành macOS và Windows. Xử dụng Figma làm mockup: 1. Giao diện chờ và màn hình chào mừng: - Đây là giao diện khi người dùng vào app lần đầu tiên sẽ xuất hiện 5 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 1: Màn hình chờ và màn hình chào mừng Mô tả: Khi người dùng lần đầu vào ứng dụng thì load màn hình laucher, sau đó thì màn hình chào mừng xuất hiện animation đẹp đẽ tiếp đó nhấn bắt đầu người dùng sẽ được vào một giao diện có các chức năng cơ bản để chọn.
Giao diện đăng nhập, đăng ký, khôi phục mật khẩu: - Giao diện đăng nhập đăng ký và khôi phục mật khẩu Figma 2: Đăng nhập, đăng ký và khôi phục mật khẩu 6 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Mô tả: Từ giao diện phía trên hiện các chức năng cơ bản thì người dùng nhấn tương ứng từng phần sẽ vào giao diện tương ứng, có đăng nhập nhập email và password, đăng ký nhập email password, repeatpassword và cuối cùng là quên mật khẩu chỉ cần nhập email. Màn hình chính và chi tiết sản phẩm: - Giao diện màn hình chính và chi tiết sản phẩm Figma 3:màn hình chính và chi tiết sản phẩm Mô tả: Khi đã đăng nhập thành công người dùng sẽ vào giao diện chính với rất đa dạng món ăn, có thanh search để tìm thức ăn có category để lọc theo danh mục, và khi chọn một món bất kỳ sẽ ra giao diện chi tiết sản phẩm cho người mua xem được thông tin sản phẩm và chọn số lượng để thêm vào giỏ hàng. Giao diện giỏ hàng và thanh toán: - Tương ứng với mỗi loại thanh toán có trường hợp khác nhau - Bằng tiền mặt -> xác nhận -> thành công - Crypto -> xác nhận -> thanh toán -> đợi -> thành công 7 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 4: giỏ hàng và thanh toán Mô tả: Giao diện khi vào giỏ hàng người dùng có quyền xoá sửa sản phẩm đang có trong giỏ hàng, có thể add discount nếu có khi nhấn checkout thì sẽ hiện phươg thức thanh toán người dùng sẽ chọn phương thức mình muốn chọn tương ứng. Đối với tiền mặt thì xác nhận sẽ đến thành công còn đối với coinbase thì phải qua bước thanh toán đợi cho bên kia thanh toán xong nó sẽ dến màn hình thành công.
Giao diện thông báo đơn hàng, tracking đơn hàng: - Xem được thông tin đơn hàng, vị trí đơn hàng ở trên bảng đồ. 8 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 5: thông báo đơn hàng, tracking đơn hàng Mô tả: Khi người dùng đặt hàng thành công thì sẽ có thông báo nhỏ ở trên màn hình chính để người dùng theo dõi đơn hàng, bên trong theo dõi đơn hàng sẽ có thông tin và vị trí của shiper trên bản đồ giúp người dùng định vị được vị trí. Giao diện cài đặt, thông tin người dùng, lịch sử đơn hàng. Figma 6: cài đặt, thông tin người dùng, lịch sử đơn hàng Mô tả: giao diện cài đặt sẽ có thông tin cười dùng các chức năng cơ bản của phần cài đặt như tài khoản, lịch sử đơn hàng hoặc là hỗ trợ và đăng xuất, lịch sử đơn hàng sẽ có đầy đủ thông tin của tất cả các đơn hàng từ trước đến nay còn phần tài khoản thì có thông tin người dùng cũng như cho phép chỉnh sửa thông tin người dùng.
Giao diện chào mừng đăng nhập, đăng ký, khôi phục mật khẩu app admin 9 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 7: đăng nhập, đăng ký, khôi phục mật khẩu app admin Mô tả: đây là giao diện của app admin và shipper giao diện chào mừng, đăng nhập đăng ký và reset mật khẩu. Giao diện duyệt đơn hàng, chọn người giao hàng: Figma 8: duyệt đơn hàng, chọn người giao hàng Mô tả: Đây là giao diện duyệt đơn của admin khi có một đơn hàng mới sẽ hiện tại đây giúp cho admin quản lý đơn và phân công cho shipper nào của cửa hàng giao. 10 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG 9. Giao diện Màn hình chính admin, quản lý sản phẩm, danh mục, giảm giá, order.
Figma 9: Màn hình chính admin, quản lý sản phẩm, danh mục, giảm giá, order. Mô tả: Giao diện màn hình chính của admin có các chức năng quản lý cơ bản cửa hàng quản lý danh mục, sản phẩm, đơn hàng tương ứng thì có các chức năng thêm xoá sửa cho từng mục riêng đơn hàng thì không cho thêm xoá sửa chỉ cho xem. Giao diện xác minh cho shiper: 11 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 10: xác minh cho shiper Mô tả: khi có shipper mới đăng ký sẽ cho shiper đó xác minh chứ không tuỳ tiện tạo tài khoản mà sẽ bắt buộc shipper xác nhận nào admin xác nhận thì tài khoản đó mới được dùng. Giao diện đăng xuất admin Figma 11: đăng xuất admin 12.
Giao diện xác minh, nhận đơn hàng, đi giao hàng: 12 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 12: xác minh, nhận đơn hàng, đi giao hàng Mô tả: Khi lần đầu tạo làm shipper thì app bắt phải xác minh khi xác minh thành công thì giao diện 2 là giao diện chính, có đơn hàng mới nếu có, nhấn đơn hàng ta chọn nhận đơn hàng thì mở sang giao diện map để chúng ta giao hàng khi giao hàng thành công thì nhấn nhận đơn hàng thì quay về giao diện chính. Giao diện lịch sử giao hàng: 13 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Figma 13:lịch sử giao hàng và dăng xuất Mô tả: giao diện tất cả các đơn hàng mà shipper được giao để nhận đơn hàng từ trước giờ và giao diện cài đặt đăng xuất. 14 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG CHƯƠNG 2: CÀI ĐẶT HỆ THỐNG I. Môi trường phát triẻn.
Hệ điều hành: IOS Phiên bản: IOS 17.2 Ngôn ngữ: Swift Giao diện: SwìtUI Cấu trúc: MVVM Tool: Xcode Package: Firebase 1. iOS: iOS là hệ điều hành di động được phát triển bởi Apple Inc. cho các thiết bị của hã ng như iPhone, iPad và iPod Touch. iOS nổi bật với giao diện người dùng dựa trê n cử chỉ đa chạm như vuốt, tap và pinch.
Swift: Swift là một ngôn ngữ lập trình mạnh mẽ và trực quan được Apple phát triển. Nó dành cho phát triển ứng dụng trên hệ điều hành iOS, macOS, watchOS và tvOS. S wift được thiết kế để làm việc nhanh chóng và hiệu suất cao, đồng thời có cú pháp dễ hiểu và dễ đọc. SwiftUI: SwiftUI là một framework của Apple dùng để tạo giao diện người dùng trên tất cả các nền tảng của Apple bằng cách sử dụng ngôn ngữ Swift.
Nó cho phép bạn viết code giao diện người dùng theo cách tự nhiên và đơn giản, với cú pháp tuyên bố (declarative syntax). Xcode: Xcode là môi trường phát triển tích hợp (IDE) cho macOS, được sử dụng để phát triển phần mềm cho macOS, iOS, watchOS và tvOS. Nó bao gồm bộ công cụ phát triển toàn diện từ việc lập trình, gỡ lỗi đến thiết kế giao diện người dùng. MVVM: MVVM viết tắt của Model-View-ViewModel, là một mẫu thiết kế phần mềm.
Mẫ u này hỗ trợ việc tách biệt các mã liên quan đến UI (View) khỏi logic xử lý dữ liệ u (Model), với một thành phần trung gian là ViewModel, nơi mà business logic và logic hiển thị sẽ được xử lý. Firebase: Firebase là một nền tảng phát triển ứng dụng di động và web được mua lại bởi Go ogle. Nó cung cấp nhiều dịch vụ như cơ sở dữ liệu thời gian thực (Realtime Datab ase), xác thực (Authentication), báo cáo lỗi (Crash Reporting), và nhiều dịch vụ h ữu ích khác giúp đẩy nhanh quá trình phát triển và vận hành ứng dụng. 15 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG 7.
Cài đặt hệ thống: Clone project: git clone https://github.com/henrytran1803/apporderfool Mở dự án bằng Xcode Sau đó cho chạy trên máy yêu cầu hệ điều hành từ 17.2 trở lên để hoạt động mượt mà nhất II. Cấu trúc thư mục của dự án: ModelView xử lý lấy dữ liệu. Model cấu trúc dữ liệu để cho model view lấy. Modules phần ứng dụng được chia nhỏ theo module.
UI nơi chứa các phần dùng chung cho giao diện như Textfield … Common nơi lưu trữ hình ảnh dữ liệu để sử dụng Hình ảnh 1: Cấu trúc file 2. App icon: 16 PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG Hình ảnh 2: Icon 3.