Đồ án phát triển ứng dụng di động quản lý cửa hàng bán sách trên Android

MỤC LỤC

GIỚI THIỆU ĐỀ TÀI

Đối tượng hướng đến

- Hỗ trợ thống kê doanh thu, doanh số của cửa hàng, số lượng đơn hàng.

Phạm vi ứng dụng Nền tảng: Mobile (Android)

- Quản lý khách hàng: Quản trị viên xem được danh sách khách hàng của cửa hàng, thông tin chi tiết của từng người, danh sách đơn hàng hiện có của khách hàng cũng như lịch sử mua hàng của người đó. Hỗ trợ thống kê nhanh về tần suất mua hàng của khách hàng trong năm. - Nhập hàng: Cho phép chủ cửa hàng (quản trị viên) lưu trữ dữ liệu các lần nhập hàng vào hệ thống, xem lại lịch sử nhập hàng cũng như chi tiết của từng lần nhập.

- Thống kê: Trực quan hóa báo cáo về doanh thu, đơn hàng cũng như doanh số của cửa hàng dưới dạng biểu đồ. - Báo cáo vi phạm: Quản trị viên xem danh sách các báo cáo vi phạm của người dùng về các bình luận, đánh giá về sản phẩm. Thực hiện xử lý vi phạm bằng cách ẩn những bình luận không phù hợp.

- Thông báo: Quản trị viên nhận được thông báo mỗi khi khách hàng tạo đơn hàng, nhận đơn hoặc hủy đơn.

CƠ SỞ LÝ THUYẾT

Flutter

    - Tầng engine chứa một thư viện đồ hoạ giúp render giao diện người dùng và máy ảo Dart – môi trường để thực thi mã nguồn và biên dịch mã lệnh Dart. - Tầng framework được viết bằng mã lệnh Dart, cung cấp các lớp, chức năng và tiện ích (widget) được dùng để tạo ứng dụng Flutter. - Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để hiện thị giao diện tới bạn.

    - Flutter cung cấp đầy đủ và đa dạng các tiện ích (widget) hỗ trợ nên lập trình viên ít khi cần sự hỗ trợ từ thư viện của bên thứ ba cung cấp. - Hỗ trợ hot reload: Tính năng này cho phép thay đổi xuất hiện trực tiếp trên ứng dụng mà không cần phải rebuild lại toàn bộ ứng dụng từ đó làm giảm thời gian của lập trình viên và khiến việc xây dựng ứng dụng trở nên dễ dàng hơn. - Còn nhiều hạn chế khi phát triển các ứng dụng có các chức năng cần can thiệp sâu vào phần cứng của thiết bị.

    - Kích thước ứng dụng khá lớn do Flutter hỗ trợ đa nền tảng nên hiển nhiên số lượng file và mã nguồn cũng sẽ bị đội lên khá nhiều, tuy nhiên điều này đã được Google cam kết sẽ cải thiện hơn trong tương lai. - Công nghệ còn mới và vẫn chưa có quá nhiều thư viện hỗ trợ, tuy nhiên thì cộng đồng lập trình viên sử dụng Flutter đang ngày càng nhiều, chính vì thế mà trong tương lai chắc chắn sẽ có thêm nhiều thư viện hỗ trợ tốt cho Flutter.

    Hình 2.2 Thành phần của Flutter
    Hình 2.2 Thành phần của Flutter

    Ngôn ngữ lập trình Dart 1. Tổng quan

      - Flutter là một bộ open-source SDK, tức là nó hoàn toàn miễn phí và “mở”. - Năng suất: Cỳ phỏp Dart rừ ràng và sỳc tớch, cụng cụ của nú đơn giản nhưng mạnh mẽ. Dart có các thư viện cốt lừi và một hệ sinh thỏi gồm hàng ngàn package.

      - Nhanh: Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web. - Tính di động: Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa. - Dễ học và sử dụng: Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định hướng đối tượng không gây ngạc nhiên của nó.

      Nếu bạn đã biết C++, C # hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.

      Hệ quản trị cơ sở dữ liệu Firebase 1. Firebase là gì?

        Firebase Storage: Đây là dịch vụ lưu trữ đám mây, cho phép người dùng lưu trữ và quản lý các tệp tin như hình ảnh, video và tệp tin khác trên hạ tầng đám mây của Firebase. Firebase Cloud Messaging cho phép gửi thông báo trực tiếp tới ứng dụng di động trên các nền tảng Android, iOS và web, giúp tương tác với người dùng và thông báo tin tức, cập nhật và sự kiện quan trọng. Ngoài ra, Firebase còn cung cấp nhiều dịch vụ khác như Firebase Analytics (phõn tớch ứng dụng), Firebase Performance Monitoring (theo dừi hiệu suất), Firebase Remote Config (quản lý cấu hình từ xa), và Firebase Test Lab (kiểm thử ứng dụng di động).

        Phát triển nhanh chóng: Firebase cung cấp một loạt các công cụ phát triển như lưu trữ cơ sở dữ liệu, xác thực người dùng, thông báo đẩy và phân tích, giúp giảm thời gian phát triển và tăng tốc độ triển khai ứng dụng. Đối với các ứng dụng có quy mô lớn, việc sử dụng gói miễn phí có thể bị hạn chế, và bạn có thể phải nâng cấp lên gói trả phí để đáp ứng nhu cầu của mình. - Khả năng tùy chỉnh hạn chế: Firebase cung cấp các dịch vụ tiêu chuẩn với các tính năng sẵn có, tuy nhiên, việc tùy chỉnh cao hơn hoặc thay đổi các tính năng có thể bị hạn chế.

        - Phụ thuộc vào dịch vụ bên thứ ba: Một số tính năng của Firebase có thể phụ thuộc vào các dịch vụ bên thứ ba như Google Cloud Platform và Google Analytics. Điều này có thể tạo ra sự ràng buộc và phụ thuộc vào các nhà cung cấp dịch vụ khác nhau, và khi có sự thay đổi từ phía nhà cung cấp, ứng dụng của bạn có thể bị ảnh hưởng.

        PHÂN TÍCH THIẾT KẾ

        Sơ đồ Use-case

          Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet Điều kiện kết quả Thông tin sản phẩm được cập nhật thành công. Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet Điều kiện kết quả Thông tin sản phẩm được cập nhật thành công. Tên use-case Xem lịch sử mua hàng của khách hàng Mô tả tóm tắt Hiển thị lịch sử mua hàng của khách hàng Người dùng Quản trị viên.

          Tên use-case Xem danh sách đơn hàng chưa duyệt Mô tả tóm tắt Hiển thị danh sách các đơn đang chờ duyệt Người dùng Quản trị viên. Điều kiện kết quả Màn hình hiển thị danh sách các đơn hàng chưa được duyệt Kịch bản chính - Người dùng bấm nút Quản lý đơn hàng trên màn hình. - Ứng dụng chuyển sang màn hình Quản lý đơn hàng - Màn hình hiển thị danh sách các đơn hàng đang chờ duyệt Kịch bản thay thế Không.

          Mô tả tóm tắt Hiển thị danh sách đơn hàng theo từng trạng thái của đơn (Đang chuẩn bị - Chuẩn bị xong (hoặc Chờ lấy) – Đang vận chuyển – Hoàn thành – Đã hủy). Sự kiện kích hoạt Người dùng bấm chọn đơn hàng bất kỳ trong màn hình Quản lý đơn hàng, Theo dừi đơn hàng, Thụng tin chi tiết khách hàng,…. Điều kiện kết quả Màn hình hiển thị các bình luận mới nhất trong hệ thống Kịch bản chính - Người dùng bấm nút Quản lý bình luận trên màn hình.

          - Ứng dụng chuyển sang màn hình Quản lý bình luận và hiển thị danh sách bình luận mới nhất trong hệ thống Kịch bản thay thế Không. Sự kiện kích hoạt Người dùng bấm nút Ẩn bình luận của bình luận muốn ẩn Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet. Sự kiện kích hoạt Người dùng bấm nút “Like” của bình luận muốn phản hồi Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet.

          Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet Điều kiện kết quả Khôi phục lại trạng thái của bình luận về Chưa bị ẩn Kịch bản chính - Người dùng thực hiện UC17. - Ứng dụng chuyển sang màn hình Đơn nhập hàng mới - Người dùng chọn các sản phẩm và số lượng muốn nhập - Người dùng bấm nút Xác nhận. Sự kiện kích hoạt Người dùng bấm nút Nhập hàng trong dashboard Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet.

          Điều kiện kết quả Hiển thị danh sách các lần nhập hàng trong tháng Kịch bản chính - Người dùng bấm nút Nhập hàng trên Dashboard. Sự kiện kích hoạt Người dùng bấm nút “Ẩn bình luận” tại báo cáo tương ứng Điều kiện tiên quyết Thiết bị người dùng phải được kết nối internet.

          Hình 3.5 Sơ đồ use-case Quản lý khách hàng
          Hình 3.5 Sơ đồ use-case Quản lý khách hàng

          Thiết kế dữ liệu 1. Sơ đồ lớp

            6 Favorite Lưu trữ danh sách yêu thích của khách hàng 7 Address Lưu trữ địa chỉ giao hàng của khách hàng.

            Bảng 3.30 Bảng dữ liệu Book
            Bảng 3.30 Bảng dữ liệu Book

            XÂY DỰNG ỨNG DỤNG