Cấu hình đa ngôn ngữ

Một phần của tài liệu Xây dựng phần mềm quản lý bvu dormitory (Trang 58)

Tại thư mục lib/app/locales/, bằng việc sử dụng package (thư viện)

Localization của Flutter, ứng dụng có thể hiển thị các nội dung chữ (label) ở nhiều ngôn ngữ khác nhau, các nội dung đó được định nghĩa trong các file

app_<language_code>.arb. Khi lập trình các giao diện, người lập trình sử

dụng các nội dung được định nghĩa trong các file này, thay vì gán cứng trong giao diện sẽ gây khó khăn cho việc chỉnh về sau. Trong hình dưới đây là 2 ngôn ngữ Vietnamese (app_en.arb) và English (app_vi.arb).

49

Hình 3.3. Các chuỗi được định nghĩa trong Tiếng Việt

50 3.3. Các màn hình chức năng

3.3.1. Đăng nhập

Để sử dụng được các chức năng khác có trong ứng dụng, trước hết người dùng cần định danh bản thân bằng việc đăng nhập. Với việc sử dụng dịch vụ Firebase Authentication, ứng dụng này sử dụng phương thức đăng nhập thông qua số điện thoại (OTP) để tăng tính bảo mật và loại bỏ việc phải nhớ mật khẩu cho người dùng.

Bước 1: Khởi động ứng dụng

51 Bước 2: Nhập số điện thoại và nhấn “Đăng nhập”. Màn hình xác thực Captcha sẽ hiện ra. Người dùng cần vượt qua màn hình captcha này để có thể tiếp tục.

52 Bước 3: Khi captcha được vượt qua, màn hình

hiển thị chờ người dùng nhập mã số OTP đã được gửi tới số điện thoại được nhập trước đó hiện lên. Người dùng cần kiểm tra hộp thư đến tin nhắn và nhập mã OTP vào ứng dụng.

Hình 3.7. Lỗi đăng nhập khi người dùng chưa có tài khoản trong hệ thống

53

54 3.3.2. Chức năng quản trị thông tin Sinh viên

Hình 3.10. Màn hình chính (home) của Người quản lý

3.3.2.1. Thêm thông tin hồ sơ sinh viên

Sinh viên khi nhập vào ở Ký túc xá sẽ được người quản lý nhập thông tin vào hệ thống, đồng thời chọn phòng cho sinh viên đó.

Người quản lý cần chọn Khu à Tầng à Phòng, sau đó nhập thông tin sinh viên cho phòng này.

55 Bước 1: Ở màn hình home, chọn mục Phòng, sau đó chọn phòng muốn thêm thông tin sinh viên

56 Bước 2: Chọn mục Sinh viên trong màn hình chờ của phòng

57 Bước 4: Chọn nút thêm ở góc trên-phải để mở màn hình thêm thông tin sinh viên

cho phòng hiện tại. Tiến hành nhập thông tin và nhấn Tiếp tục khi đã hoàn tất. Nếu số điện thoại đã được sinh viên khác sử dụng, một thông báo lỗi sẽ hiện lên.

58

59 3.3.2.2. Chuyển thông tin sinh viên sang phòng khác

Trong quá trình ở Ký túc xá, đôi khi sẽ có trường hợp phòng nào đó gặp sự cố và không thể ở được trong một thời gian, hoặc sinh viên mong muốn chuyển phòng, người quản lý có thể chuyển thông tin sinh viên từ phòng này sang một phòng khác trong hệ thống.

Bước 1: Tại màn hình sinh viên của phòng, chọn vào chi tiết sinh viên muốn

chuyển phòng. Hộp thoại quản trị thông tin sinh viên hiện lên, chọn Chuyển

phòng. Sau cùng, chọn phòng khác để chuyển thông tin sinh viên tới.

60

Hình 3.15. Chọn phòng mới cho sinh viên

Hình 3.16. Chuyển thông tin sinh viên thành công

61 3.3.2.3. Xóa thông tin sinh viên

Khi sinh viên không còn nhu cầu ở lại Ký túc xá, người quản lý có thể xóa thông tin hồ sơ của sinh viên để tránh những dữ liệu dư thừa không dùng tới.

Bước 1: Chọn vào chi tiết sinh viên của phòng, khi hộp thoại quản trị thông

62

Sau khi xóa thông tin hồ sơ sinh viên thành công.

63 3.3.3. Các chức năng quản trị thông tin Dịch vụ

Khi ở Ký túc xá, một phòng thường đi kèm với các dịch vụ như: điện, nước,

wifi… Người quản lý có thể cấu hình thêm/cập nhật thông tin của các dịch vụ

như tên, đơn giá theo thời điểm nhằm đáp ứng nhu cầu thực tế.

Bước 1: Tại màn hình home, chọn mục Dịch vụ.

64 Bước 2: Tại đây, người quản lý có thể chọn vào dịch vụ để quản trị, hoặc nhấn

65 3.3.4. Chức năng quản trị thông tin Tài sản

Trong Ký túc xá, ở mỗi phòng đều có sử dụng/gắn các tài sản ví dụ như:

Giường, bóng đèn điện, điều hòa, bồn lavabo…

Người quản lý có thể quản trị thông tin các tài sản như thêm/cập nhật thông tin, gán thông tin vào phòng/bỏ gán khỏi phòng.

3.3.4.1. Quản trị thông tin Danh mục tài sản Bước 1: Tại màn hình home, chọn mục Tài sản

66 Bước 2: Tại đây, người quản lý có thể nhấn giữ để chọn vào danh mục tài sản

muốn quản trị, hoặc nhấn nút thêm ở góc trên-phải để mở màn hình thêm thông tin danh mục tài sản (danh mục tài sản ở đây có nghĩa là nhóm các loại tài sản

lại với nhau theo mục đích sử dụng hoặc tính năng)

67 3.3.4.2. Quản trị thông tin Loại tài sản

Loại tài sản ở đây là những tài sản có cùng nhà cung cấp, cùng mẫu mã. Các loại tài sản cùng đặc tính thì nằm chung trong danh mục tài sản.

Bước 1: Khi nhấp vào thông tin danh mục tài sản, màn hình chi tiết các loại tài

sản sẽ hiện ra

Người quản lý có thể nhấn giữ lên mục muốn quản trị, hoặc nhấn nút thêm ở góc trên-phải để mở cửa sổ thêm thông tin loại tài sản.

68 3.3.4.3. Quản trị thông tin Mã tài sản

Mã tài sản là các tài sản đơn lẻ, cùng thuộc một loại tài sản. Mỗi mã tài sản sẽ được gán vào phòng nào đó để thể hiện việc phòng sử dụng tài sản.

Bước 1: Tại màn hình các loại tài sản, khi nhấp vào một loại tài sản, màn hình chi

tiết các mã tài sản của thuộc loại đó sẽ hiện ra

69 3.3.4.4. Gán/Gỡ thông tin Mã tài sản lên phòng

Bước 1: Tại màn hình các mã tài sản, chọn vào mã tài sản muốn quản trị. Khi màn hình quản trị thông tin mã tài sản hiện ra, chọn vào Gỡ/Gán thông tin.

70 Bước 2: Khi chọn Gán vào phòng, màn hình chọn phòng hiện ra, người quản lý

chọn phòng muốn gán để gán thông tin mã tài sản vào phòng mong muốn

71

Mã tài sản sau khi Gỡ khỏi phòng sẽ hiện dấu “?’ ngay dưới chuỗi mã tài sản (ght1 trong hình dưới).

Hình 3.25. Mã tài sản sau khi gỡ thông tin khỏi phòng

72 3.3.5. Chức năng quản trị thông tin Yêu cầu sửa chữa

Trong quá trình ở Ký túc xá sẽ không thể tránh khỏi những sự cố xảy ra trong một phòng, ví dụ khi hỏng bóng điện, hỏng ống nước…

Người quản lý và sinh viên đều có thể tạo thông tin yêu cầu sửa chữa thông qua ứng dụng để lưu lại trong hệ thống. Người quản lý dựa vào thông tin các yêu cầu để chuẩn bị phương án xử lý – chuẩn bị đồ nghề khi đến phòng giải quyết sự cố.

Bước 1: Tại màn hình sảnh chờ của một phòng, chọn mục Yêu cầu sửa

chữa/Các yêu cầu. tại đây các yêu cầu trước đó sẽ hiện ra. Người quản

lý/Sinh viên thuộc phòng có thể chọn vào mục muốn quản trị thông tin, hoặc nhấp vào nút thêm ở góc trên–phải để mở cửa sổ thêm thông tin yêu cầu sửa chữa cho phòng

73

Hình 3.28. Màn hình cập nhật thông tin yêu cầu sửa chữa

74 3.3.6. Chức năng quản trị thông tin Hóa đơn

Mỗi cuối tháng, người quản lý có nhiệm vụ đi tới từng phòng để ghi nhận thông tin các chỉ số điện nước, nhằm tổng hợp thông tin và ghi phiếu báo tiền dành cho mỗi phòng.

Người quản lý có thể tạo thông tin hóa đơn cho các phòng, chi tiết hóa đơn được tính dựa trên tổng đơn giá của các dịch vụ mà phòng đang sử dụng. Các dịch vụ “tịnh tiến” như điện, nước được ứng dụng tự động lấy thông

tin chỉ số cũ từ hóa đơn gần nhất, đảm bảo việc tự động hóa trong cách

sử dụng ứng dụng mà không cần tra cứu lại thông tin theo cách thủ công.

75 Bước 1: Tại màn hình sảnh chờ của một phòng, nhấp vào mục Thêm Hóa đơn. Nhập các thông tin cần thiết như: thời gian thu của hóa đơn, chỉ số

mới của dịch vụ, giảm giá dịch vụ, ghi chú... và nhấn dấu tích ở góc trên-

phải để lưu thông tin hóa đơn.

76

Sau khi thêm thông tin hóa đơn, có thể xem lại thông tin ở màn hình Hóa đơn tại sảnh chờ của phòng.

77 3.3.6.2. In thông tin hóa đơn

Thông tin hóa đơn sau khi được thêm vào phòng, có thể được in ra nhờ chức năng in của ứng dụng.

Bước 1: Tại màn hình các hóa đơn của một phòng, nhấp vào hóa đơn muốn

xem chi tiết. Khi màn hình chi tiết hóa đơn hiện ra, nhấp vào icon máy in ở góc trên-phải, thứ 2 từ phải qua để mở cửa sổ xem trước nội dung in.

78 3.3.6.3. Thêm thông tin thanh toán cho hóa đơn

Khi một hóa đơn được thêm thông tin vào phòng, người quản lý có thể thêm

thông tin thanh toán cho hóa đơn ấy. Chức năng nhằm giúp lưu thông tin khi

sinh viên nộp tiền cho hóa đơn.

Bước 1: Tại màn hình chi tiết của một hóa đơn, chọn thẻ Thông tin thanh

toán ở phần dưới màn hình. Tại đây chọn vào nút dấu cộng “+” để thêm thông

tin thanh toán cho hóa đơn. Mỗi thanh toán cần gán thông tin sinh viên (riêng lẻ) và số tiền muốn nộp.

79

Hình 3.33. Màn hình thêm thanh toán thành công

3.3.7. Chức năng quản trị Thông báo bảng tin

Khi sinh hoạt tại Ký túc xá, sẽ có trường hợp người quản lý cần gửi các thông báo đến toàn bộ sinh viên. Chức năng Bảng tin giúp người quản lý thêm/cập nhật thông tin các thông báo tới mọi người dùng trong hệ thống.

80 Bước 1: Tại màn hình home, chọn thẻ Bảng tin. Tại đây, chọn vào dấu

“…” của tin muốn quản trị, hoặc nhấn nút Soạn tin mới để thêm mới một tin

81

Nhờ việc sử dụng package Flutter Quill, ứng dụng cho phép người quản lý tạo các nội dung thông báo có nhiều định dạng, làm tăng tính thu hút, nhấn mạnh tới người đọc.

82 3.3.8. Chức năng xuất thông tin Excel

Các thông tin khi hiển thị trong ứng dụng tuy có tính trực quan, nhưng đối với việc thống kê thông tin hàng loạt/số lượng lớn thì giao diện điện thoại chưa đáp ứng được khả năng hiển thị tốt à Cần xuất thông tin cần thiết ra file excel để dễ dàng quan sát trên máy tính.

Bước 1: Tại màn hình home, chọn mục Báo cáo. Màn hình xuất thông tin

hiện ra, người dùng chọn vào mục muốn xuất và chờ ứng dụng tổng hợp thông tin để lưu lại dưới dạng file Excel

83 3.3.9. Chức năng thay đổi Giao diện sáng/tối

Bằng việc cấu hình các màu sắc cho 2 chế độ sáng/tối, ứng dụng giúp người dùng dễ dàng thay đổi giao diện để phù hợp với điều kiện ánh sáng, tránh gây mỏi hoặc nhức mắt.

Bước 1: Tại màn hình home, chọn thẻ Cá nhân. Màn hình thông tin cá

nhân hiện ra. Người dùng có thể chọn vào mục Giao diện để thay đổi màu sắc cho ứng dụng

84

85 CHƯƠNG 4. KẾT LUẬN

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

Xây dựng ứng dụng chạy trên 2 hệ điều hành di động phổ biến nhất hiện nay là Android và iOS, trong đó các chức năng đã hoàn thiện:

Phía Người quản lí:

1. Quản trị được các thông tin: Dịch vụ, tài sản, sinh viên, hóa đơn, yêu cầu sữa chữa

2. Xuất thông tin báo cáo về: Sinh viên, hóa đơn, tài sản 3. Tạo thông báo broadcast tới toàn bộ sinh viên

Phía Sinh viên:

1. Xem được các thông tin: Dịch vụ, tài sản, sinh viên cùng phòng, hóa đơn của phòng đang ở, yêu cầu sửa chữa

2. Xem thông báo broadcast được gửi từ Người quản lý 3. Tạo và cập nhật được thông tin của các Yêu cầu sửa chữa.

4.2. Hạn chế còn tồn đọng

Mặc dù có cơ hội tiếp cận Flutter từ trước đó, tuy nhiên với các chức năng trong ứng dụng có yêu cầu độ phức tạp tương đối, việc xây dựng ứng dụng này trải qua không ít khó khăn. Trong đó, hạn chế về kinh nghiệm thực tế là rào cản lớn khiến tôi chưa thể thực sự hoàn thành sản phẩm một cách trọn vẹn. Có thể kể đến một số hạn chế của ứng dụng:

- Giao diện: Do bản thân không có nhiều năng khiếu về thiết kế, dẫn tới

thiết kế của ứng dụng có giao diện chưa thật sự “thoáng”, vẫn còn những nơi giao diện bị cứng nhắc, khô khan và thiếu tính sáng tạo, mang nhiều thiên hướng của một ứng dụng hệ thống hơn là dành cho người dùng phổ thông

86

- Bảo mật: Mặc dù đã sử dụng Security Rules, tuy nhiên vẫn còn một số

trường hợp cần lưu ý như kiểm tra, ràng buộc dữ liệu khi được thêm vào, xóa đi. Vì FireStore không phải một CSDL có cấu trúc quan hệ như SQL, việc ràng buộc các trường dữ liệu hoàn toàn do người lập trình định nghĩa trong quá trình coding (xây dựng ứng dụng) và kết hợp với Security Rules

- Thiếu chức năng: Do thời gian có hạn cùng chưa tích lũy được nhiều

kinh nghiệm, ứng dụng chỉ dừng lại ở việc cho phép Người quản lí có thể quản trị được các thông tin cơ bản, và Sinh viên dừng lại ở việc xem và cập nhật một số thông tin nhất định. Một số chức năng còn thiếu có thể kể đến như: Xem màn hình thống kê – cho phép xuất nhiều thông tin

hơn, cho phép sinh viên thanh toán hóa đơn thông qua e-banking, chưa có thông báo đẩy (push notification), ...

4.3. Hướng phát triển trong tương lai

Hiện nay các trường đại học hầu hết chưa phổ biến các phần mềm di động dành cho sinh viên trong việc quản lí thông tin Ký túc xá, hoặc đã triển khai nhưng ứng dụng chưa đạt hiệu quả do còn nhiều lỗi trong quá trình vận hành.

Đây cũng là một tiềm năng cho ứng dụng này - BVU Dormitory có thể

được tiếp tục phát triển trong tương lai, với mục đích tăng tính ổn định trên môi trường thực tế cho sản phẩm, thêm các tính năng đầy đủ hơn và hướng tới những thay đổi nhất định trong quy trình vận hành nhằm thương mại hóa.

87 TÀI LIỆU THAM KHẢO

1. Flutter Firestore

https://firebase.flutter.dev/docs/firestore/usage/

2. Firestore Atomic Transaction

https://firebase.google.com/docs/firestore/manage-data/transactions

3. Firestore Security Rules

https://firebase.google.com/docs/firestore/security/get-started https://firebase.google.com/docs/firestore/security/rules-conditions https://firebase.google.com/docs/firestore/security/rules-fields

4. Firebase Phone Authentication

https://firebase.flutter.dev/docs/auth/phone/

Một phần của tài liệu Xây dựng phần mềm quản lý bvu dormitory (Trang 58)