Phân tích thiết kế và xây dựng ứng dụng nhắn tin bằng Java sử dụng Firebase Cloud Storage

MỤC LỤC

Các công cụ Firebase mà em sử dụng

- Firebase Clound Storage : được xây dựng cho các nhà phát triển ứng dụng cần lưu. Cloud Storage cho Firebase là một dịch vụ lưu trữ đối tượng mạnh mẽ, đơn giản và tiết kiệm chi phí được xây dựng cho quy mô của Google. SDK Firebase cho Bộ nhớ đám mây bổ sung tính năng bảo mật của Google cho các tệp tải lên và tải xuống cho các ứng dụng Firebase của bạn, bất kể chất lượng mạng như thế nào.

Chúng ta có thể sử dụng SDK của Firebase để lưu trữ hình ảnh, âm thanh, video hoặc nội dung khác do User tạo. Các nhà phát triển sử dụng SDK Firebase cho Bộ nhớ đám mây để tải lên và tải xuống tệp trực tiếp từ máy khách. Nếu kết nối mạng kém, máy khách có thể thử lại hoạt động ngay tại nơi nó dừng lại, giúp tiết kiệm thời gian và băng thông cho User của bạn.

PHÂN TÍCH, THIẾT KẾ HỆ THỐNG

Khảo sát các ứng dụng tương tự .1 Zalo

     Việc lưu trữ tin nhắn tự động ngay cả online lẫn offline khiến tạo ra rất nhiều lưu trữ rác trên máy điện thoại.  Việc lưu trữ tin nhắn tự động ngay cả online lẫn offline khiến tạo ra rất nhiều lưu trữ rác trên máy điện thoại.

    Phân tích chức năng .1 Biểu đồ ca sử dụng

    Post-Conditions User đăng kí thành công và hệ thống ghi nhận tài khoản đã đăng kí , lưu lại token của thiết bị đã đăng nhập để lần sau vào sẽ không cần đăng nhập OTP nữa ( nếu thiết bị đã có tài khoản trên số điện thoại thì sẽ bỏ qua bước điền thông tin). Hệ thống lưu thông tin và gửi lên sever, đồng thời cho phép User vào trang chủ. Post-Conditions Hệ thống sẽ kiểm tra token lần trước đăng kí, và sẽ chuyển User vào trang chủ chính.

    Hệ thống xác nhận thông tin đăng kí thành công và cho phép User điền thông tin cá nhân. Hệ thống lưu thông tin và gửi lên sever, đồng thời cho phép User vào trang chủ. Exception Flow Hệ thống kiểm tra thông tin số điện thoại và mã OTP xem có hợp lệ không, thông tin tài khoản có trống không.

    Post-Conditions Hệ thống sẽ cập nhật thông tin người hoặc nhóm sẽ được nhắn tin. Basic flow Phần chat hiện lên, cập nhật các tin nhắn trước (nếu có) User có thể gửi tin nhắn, hình ảnh hoặc ghi âm lại để gửi cho người khác. Exception Flow Hệ thống sẽ liên tục kiểm tra phần nhắn tin để đảm bảo lỗi không xảy ra trong chuyển dữ liệu.

    Post-Conditions Hệ thống sẽ kiểm tra xem trong danh bạ có số điện thoại nào trùng với người nào trong database không, nếu có sẽ thêm người đó vào. Hệ thống sẽ kiểm tra, nếu trùng với dữ liệu trên sever thì sẽ thêm vào. Exception Flow Nếu thông tin không đúng thì hệ thống sẽ không thêm bạn vào.

     Cơ sở dữ liệu được lưu trên firebase theo mô hình cơ sở dữ liệu phi quan hệ trên Firebase bằng cơ sở dữ liệu thời gian thực (Real-time database). - Group Message : Lưu thông tin chat của nhóm, ngoài ra cách lưu tin nhắn cũng.

    Hình 2.2 Biểu đồ ca sử dụng đăng kí tài khoản
    Hình 2.2 Biểu đồ ca sử dụng đăng kí tài khoản

    Luồng màn hình

      2 Chat Group Screen Màn hình chat trong nhóm 3 Add Member Screen Màn hình thêm bạn bè vào nhóm 4 Group Info Screen Màn hình thông tin nhóm.

      Đặc tả các màn hình chính .1 Màn hình đăng nhập

      - Ứng dụng sẽ chuyển đến màn hình chờ OTP, User sẽ nhập mã OTP được gửi trên. - Số điện thoại gửi đến phải hợp lệ, nghĩa là phải có sim nếu không sẽ không nhận được tin nhắn. - Khi User nhập mã OTP thì sẽ chuyển đến phần nhập thông tin, User sẽ phải nhập.

      - User điền thông tin vào tên, trạng thái và chỉnh ảnh, ảnh có thể được lấy từ bộ sưu tập hoặc tự chụp rồi lưu vào.  Hiển thị ra những đoạn chat mà User đã chat trước đó với thời gian các từ lần chat gần nhất.  Hiển thị phần chat nhóm mà bạn là thành viên trong đó ( có thể là admin lẫn thành viên).

       Hiển thị thông tin bạn bè ( đồng bộ từ danh bạ), ngoài ra User có thể thêm bạn bằng cách nhập số điện thoại.  Click vào icon thông tin thì sẽ xem được trang cá nhân bạn bè, còn click vào thì sẽ chuyển đến cuộc hội thoại.  Hiển thị trang thông tin cá nhân, User có thể chỉnh sửa các thông tin trên đó.

       Tương tự như chat 2 người nhưng có thể phần quản lý nhóm (như trong hình là quản lý nhóm cho admin).  Phần thêm bạn bè vào nhóm, bạn bè sẽ được hiển thị dựa vào danh bạ để User thêm vào.  Phần hiển thị quản lý nhóm, User có quyền cũng có thể cấp quyền admin cho người khác.

      Hình 2.19 Màn hình thông tin chat (Last Message Screen)
      Hình 2.19 Màn hình thông tin chat (Last Message Screen)

      Kiểm thử chức năng của ứng dụng

      Hiển thị ảnh lên màn hình và gửi dữ liệu ảnh về kho chứa trên sever. Hiển thị ảnh lên màn hình và gửi dữ liệu tin nhắn về cơ sở dữ liệu.