1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án ứng dụng mua bán đa nền tảng

31 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ Án Ứng Dụng Mua Bán Đa Nền Tảng
Tác giả Vũ Đình Khoa
Người hướng dẫn Th.S Trần Anh Dũng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ thuật Phần mềm
Thể loại Đồ án
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 1,57 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1. MỞ ĐẦU (10)
    • 1.1 Lý do chọn đề tài (10)
    • 1.2 Phạm vi nghiên cứu (10)
  • Chương 2. KIẾN THỨC NỀN TẢNG (11)
    • 2.1 Flutter (11)
    • 2. NodeJS (11)
    • 3. FireBase (12)
  • Chương 3. Sơ đồ kiến trúc phần mềm (12)
    • 3.2 Trình bày thiết kế (13)
  • Chương 4. ĐẶC TẢ USECASE (13)
    • 4.1 Sơ đồ Usecase (13)
    • 4.2 Danh sách Usecase (14)
  • Chương 5. THIẾT KẾ CƠ SỞ DỮ LIỆU (15)
    • 5.1 Sơ đồ logic (15)
    • 5.2 Danh sách các bảng (15)
  • Chương 6. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG (16)
    • 6.1 Danh sách màn hình (16)
    • 6.2 Mô tả chi tiết màn hình (16)
  • Chương 7. TỔNG KẾT (30)
    • 7.1 Kết quả đạt được (30)
    • 7.2 Hướng phát triển (31)
  • TÀI LIỆU THAM KHẢO (31)

Nội dung

KIẾN THỨC NỀN TẢNG

Flutter

Flutter is designed to address common challenges in mobile development by offering both fast development and native performance Unlike React Native, which focuses solely on rapid development, or pure native code that ensures optimal performance, Flutter effectively combines both advantages.

Google đã ra mắt phiên bản beta 1 của Flutter, bổ sung thêm bộ SDK cho ứng dụng di động bên cạnh Android Điều này cho thấy Google nhận thức rằng thế giới di động rất rộng lớn và không thể chỉ dựa vào một giải pháp duy nhất như Android.

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

Flutter là một bộ SDK đa nền tảng cho phép phát triển ứng dụng trên cả iOS và Android, giúp tối ưu hóa khả năng tương thích với framework UI của hai hệ điều hành này Tuy nhiên, các ứng dụng Flutter không biên dịch trực tiếp thành ứng dụng native cho Android và iOS.

NodeJS

NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằng c++ và Javascript Nền tảng này được phát triển bởi Ryan Lienhart Dahl vào năm

Node.js được phát triển bởi các lập trình viên JavaScript tiên phong, biến nó từ một ngôn ngữ chỉ chạy trên trình duyệt thành một nền tảng cho phép chạy ứng dụng độc lập trên máy tính.

Cả trình duyệt JavaScript và Node.js đều sử dụng động cơ V8 để chạy mã Động cơ này chuyển đổi mã JavaScript thành mã máy (bytecode), giúp tăng tốc độ thực thi Mã máy là dạng mã thấp cấp hơn, cho phép máy tính chạy mà không cần biên dịch lại.

FireBase

Firebase là dịch vụ cơ sở dữ liệu trên nền tảng đám mây do Google cung cấp, với hệ thống máy chủ mạnh mẽ Nó giúp người dùng lập trình ứng dụng dễ dàng hơn bằng cách đơn giản hóa các thao tác liên quan đến cơ sở dữ liệu.

Firebase cung cấp giao diện lập trình ứng dụng API đơn giản, giúp tăng số lượng người dùng và tối đa hóa lợi nhuận Dịch vụ này nổi bật với tính đa năng và bảo mật cao, hỗ trợ cả hai nền tảng Android và iOS Chính vì vậy, nhiều lập trình viên đã lựa chọn Firebase làm nền tảng ưu tiên để phát triển ứng dụng cho hàng triệu người dùng toàn cầu.

Sơ đồ kiến trúc phần mềm

Trình bày thiết kế

- UI và data được lưu dưới API và local storage giao tiếp với nhau thông qua bloc

Giao diện người dùng (UI) đảm nhận việc hiển thị thông tin, trong khi khối xử lý (bloc) đảm nhiệm logic của ứng dụng Dữ liệu được lưu trữ từ API và local sẽ được sử dụng để xử lý và sau đó hiển thị trên UI.

- Bloc gọi API và local database lên thông qua lớp repository

ĐẶC TẢ USECASE

Sơ đồ Usecase

Danh sách Usecase

STT Tính năng Mô tả/ Ghi chú

1 Xem chi tiết thực phẩm Dành cho User, xem thông tin chi tiết thực phẩm

2 Tra cứu thực phẩm Dành cho User, tìm kiếm thực phẩm

3 Thêm thực phẩm vào giỏ hàng Dành cho User, thêm thực phẩm vào giỏ hàng

4 Chọn số lượng và loại thực phẩm Dành cho User, một phần trong quy trình đặt hàng

5 Chọn địa chỉ giao hàng Dành cho User, một phần trong quy trình đặt hàng

6 Chọn phương thức thanh toán

Dành cho User, một phần trong quy trình đặt hàng

7 Chọn mã giảm giá Dành cho User, một phần trong quy trình đặt hàng

8 Quản lý thực phẩm trong giỏ hàng

Dành cho User, quản lý thêm xóa sửa trong giỏ hàng

9 Gợi ý món ăn Dành cho User, xem danh sách món ăn gợi ý dựa vào thực phẩm hiện có trong giỏ hàng

10 Sửa thông tin tài khoản Dành cho User, sửa hồ sơ cá nhân

11 Quản lý thông tin địa chỉ Dành cho User, quản lý thêm, sửa, xóa địa chỉ giao hàng

12 Xem lịch sử đơn hàng Dành cho User, xem lại lịch sử mua hàng

13 Đăng nhập Dành cho User hoặc Admin đã có tài khoản

14 Đăng ký tài khoản Dành cho User chưa có tài khoản

15 Đăng xuất Dành cho User hoặn Admin

16 Quản lý đơn đặt hàng Dành cho Admin, xem trạng thái đơn hàng và xác nhận đơn hàng cho User

THIẾT KẾ CƠ SỞ DỮ LIỆU

Sơ đồ logic

Hình 4.1: Sơ đồ cơ sở dữ liệu

Danh sách các bảng

Bảng KHACHHANG Thông tin khách hàng

Bảng DONHANG Mô tả đơn hàng

Bảng CTDH Mô tả chi tiết đơn hàng

Bảng SANPHAM Thông tin sản phẩm

Bảng CTSP Thông tin sản phẩm trong kho hàng

Bảng NCC Thông tin chi tiết nhà cung câp

Bảng 5.1: Danh sách các bảng trong cơ sở dữ liệu

THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

Danh sách màn hình

STT Tên màn hình Loại

2 Đăng ký tài khoản Đăng kí

5 Trang tìm kiếm Hiển thị và nhập liệu

6 Trang giỏ hàng Hiển thị

7 Trang chi tiết sản phẩm Hiển thị

9 Trang trạng thái đơn hàng Hiển thị

10 Trang theo dõi đường đi đơn hàng Hiển thị

12 Trang thông tin người dùng Hiển thị

13 Trang cài đặt thông báo Cài đặt hệ thống

14 Trang trung tâm giúp đỡ Hiển thị

Bảng 6.1: Danh sách màn hình

Mô tả chi tiết màn hình

Mô tả: Nhập thông tin tài khoản, mật khẩu để đăng nhập

Mô tả: Nhập thông tin để đăng ký tài khoản

 Nhập thông tin đăng ký

Mô tả: Hiển thị lời chào, giới thiệu về app

 Xem sản phẩm theo chủ đề

6.2.4 Trang chi tiết sản phẩm

Mô tả: Hiển thị danh sách các sản phẩm gợi ý và các danh mục sản phẩm

 Chọn chi tiết sản phẩm

 Chọn xem danh mục sản phẩm

 Lựa chọn tùy chọn sản phẩm

Hình 6.5: Trang chi tiết sản phẩm

Mô tả: Nhập thông tin để tìm sản phẩm

 Xem thông báo của app

Mô tả: Hiển thị thông tin các sản phẩm của trong giỏ hàng

 Nhấn vào sản phẩm tìm được

Mô tả: Hiển thị thông tin chi tiết của sản phẩm

 Xem sản phẩm trong giỏ hàng

 Xem tổng tiền phải trả

 Chọn phương thức thanh toán

Hình 6.7: Trang chi tiết sản phẩm

6.2.8 Trang theo dõi đơn hàng

Mô tả: Hiển thị thông tin các sản phẩm cảu cửa hàng và thông tin chi tiết cửa hàng Chức năng:

 Theo dõi trạng thái hàng đã đặt

Hình 6.8: Trang theo dõi đơn hàng

6.2.9 Trang theo dõi đường vận chuyển

Mô tả: Chọn thông tin cần thiết để đặt đơn hàng

 Xem đường vận chyển của đơn hàng

Mô tả: Hiển thị đặt hàng thành công

 Nhập đánh giá cá nhân

6.2.11 Trang thông tin cá nhân

Mô tả: Hiển thị danh sách món ăn từ các nguyên liệu đã chọn

 Xem thông tin của tài khoản

Hình 6.11: Trang thông tin tài khoản

6.2.12 Trang cài đặt thông báo

Mô tả: Hiển thị chi tiết món ăn gợi ý bao gồm các nguyên liệu của món ăn

 Cài đặt thông báo hệ thống

6.2.13 Trang trung tâm giúp đỡ

Mô tả: Hiển thị thông tin tài khoản và các mục để quản lý tài khoản

 Hiển thị giúp đỡ, trả lời câu hỏi của khách hàng

Hình 6.13: Trang thông tin tài khoản

TỔNG KẾT

Kết quả đạt được

 Học được kiến thức về Bloc, kiến trúc phần mềm

 Hiểu được các kết nối API thông qua bloc

 Quản lý thời gian hiệu quả

 Cải thiện kỹ năng lập trình

 Các tính năng chưa được tối ưu tốt nên ứng dụng chạy còn chậm

 Chưa học được cách quản lý code và team hiệu quả, có risk nếu 1 trong những người trong team từ bỏ

Hướng phát triển

Sau khi thực hiện dự án, nhóm nhận thấy còn nhiều hạn chế cần cải thiện và mở rộng Cụ thể, có một số hướng phát triển tiềm năng mà chúng tôi có thể xem xét trong tương lai.

Chúng tôi đã hoàn thiện thêm nhiều chức năng quan trọng cho quản trị viên, bao gồm khả năng thêm, xóa và sửa đổi các thực phẩm, cửa hàng và mã giảm giá Ngoài ra, chúng tôi cũng đã phát triển chức năng báo cáo thống kê của ứng dụng, giúp quản trị viên dễ dàng theo dõi và phân tích dữ liệu hiệu quả hơn.

● Hoàn thành thêm các chức năng cho user: o Thêm phương thức thanh toán khác như chuyển khoản o Tích hợp google map theo dõi quá trình giao hàng

● Tích hợp thêm tính năng để quản lý việc quản lý đồng tiền của app

- Về cách quản lý file và code:

● Tập trung code cleaner: o Chia hàm, đặt tên 1 cách hợp lý o Comment những dòng code có nhiều logic

● Quản lý file hiệu quả: o Chia file theo screen để dễ dàng tìm kiếm và sửa đổi file

Ngày đăng: 04/09/2023, 20:28

w