Bối cảnh và vấn đề nghiên cứu

Theo số liệu thống kê tại thành phố Vũng Tàu tính đến ngày 09/08/2019, quy mô dân số đô thị đạt 351.300 người với 101.347 hộ gia đình đang sinh sống, làm việc và học tập. Cùng với sự phát triển của các ngành dịch vụ du lịch, nhu cầu thuê phòng lưu trú, nhà trọ và ký túc xá phục vụ người lao động và sinh viên gia tăng nhanh chóng. Đối với các cơ sở kinh doanh phòng trọ, nhà nghỉ quy mô lớn hoặc các khu ký túc xá có số lượng lên tới hàng trăm phòng, công tác quản lý thông tin thủ công bộc lộ nhiều điểm bất cập.

Trong thực tế, phương thức quản lý truyền thống bằng sổ sách và chứng từ giấy tờ gặp phải các vấn đề:

  • Khó khăn trong việc lưu trữ khối lượng lớn hồ sơ khách thuê và hóa đơn theo thời gian.
  • Nguy cơ thất lạc, rách hỏng dữ liệu và sai sót trong quá trình tính toán tiền phòng, dịch vụ, chỉ số tiêu thụ điện nước.
  • Hạn chế trong công tác tra cứu lịch sử lưu trú, kiểm soát dòng tiền và tổng hợp số liệu báo cáo doanh thu định kỳ.

Xuất phát từ thực trạng trên, tác giả thực hiện đề tài nhằm số hóa quy trình quản lý phòng trọ trên thiết bị di động, nâng cao hiệu suất vận hành và giảm thiểu rủi ro mất mát dữ liệu cho các chủ cơ sở cho thuê.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể được xác định như sau:

  1. Nghiên cứu cách thức hoạt động và quy trình nghiệp vụ thực tế của dãy phòng trọ, ký túc xá để thiết kế mô hình cơ sở dữ liệu phù hợp.
  2. Nghiên cứu và tích hợp thư viện MPAndroidChart vào ứng dụng di động để trực quan hóa dữ liệu thống kê qua các dạng biểu đồ.
  3. Nghiên cứu và tích hợp thư viện mã nguồn mở ZXing (Zebra Crossing) để xử lý mã vạch 1D/2D (mã QR) phục vụ việc định danh và truy xuất dữ liệu.
  4. Nghiên cứu và tích hợp nền tảng đám mây Google Firebase, bao gồm các dịch vụ: Firebase Authentication (xác thực người dùng), Firebase Realtime Database (cơ sở dữ liệu thời gian thực có hỗ trợ bộ đệm ngoại tuyến), Firebase Storage (lưu trữ tệp đa phương tiện).
  5. Nghiên cứu thiết kế giao diện người dùng và ứng dụng ngôn ngữ lập trình Kotlin trên môi trường Android Studio để xây dựng hoàn chỉnh hai phần mềm độc lập.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình quản lý thông tin phòng trọ, quản lý khách thuê, quản lý dịch vụ, chỉ số điện nước, lập hóa đơn thanh toán và báo cáo doanh thu; các công nghệ phát triển ứng dụng di động Android (Kotlin, Firebase, ZXing, MPAndroidChart).
  • Phạm vi không gian: Nghiên cứu và ứng dụng thử nghiệm cho các mô hình nhà trọ, nhà nghỉ, ký túc xá tại địa bàn thành phố Vũng Tàu.
  • Phạm vi công nghệ và thời gian: Hệ điều hành Android (phiên bản Android 11), ngôn ngữ Kotlin 1.4, cơ sở dữ liệu Firebase; đồ án được hoàn thành vào tháng 01 năm 2021.

Cơ sở lý thuyết và phương pháp

Đề tài dựa trên các nền tảng công nghệ phần mềm và kiến trúc hệ thống di động bao gồm:

  1. Hệ điều hành Android và các thành phần cốt lõi:
    • Hệ điều hành di động mã nguồn mở dựa trên nhân Linux.
    • Kiến trúc ứng dụng gồm 4 thành phần chính: Activity (giao diện tương tác người dùng, quản lý theo ngăn xếp vòng đời), Service (thực thi tác vụ chạy ngầm không giao diện), Broadcast Receiver (tiếp nhận và phản hồi các thông điệp sự kiện từ hệ thống hoặc ứng dụng), Content Provider (quản lý và chia sẻ dữ liệu giữa các ứng dụng).
  2. Ngôn ngữ lập trình Kotlin:
    • Ngôn ngữ lập trình kiểu tĩnh chạy trên máy ảo Java (JVM), được JetBrains giới thiệu năm 2011 và Google công nhận là ngôn ngữ chính thức cho Android từ năm 2017.
    • Các đặc tính kỹ thuật được ứng dụng: khả năng tương thích 100% với mã nguồn Java, cơ chế an toàn kiểu dữ liệu giúp triệt tiêu lỗi NullPointerException, cú pháp ngắn gọn, hỗ trợ Extension function (mở rộng hàm không cần kế thừa), Nested function (hàm lồng nhau) và Coroutines cho xử lý bất đồng bộ.
  3. Nền tảng Google Firebase:
    • Kiến trúc Serverless/Backend-as-a-Service (BaaS) giúp vận hành ứng dụng không cần xây dựng máy chủ backend riêng biệt.
    • Firebase Authentication: Hỗ trợ xác thực người dùng qua Email/Mật khẩu và tài khoản Google.
    • Firebase Realtime Database: Cơ sở dữ liệu NoSQL lưu trữ dưới định dạng JSON, tự động đồng bộ hai chiều thời gian thực và hỗ trợ lưu đệm cục bộ (local cache) khi thiết bị mất kết nối mạng.
    • Firebase Storage: Lưu trữ các tệp phương tiện (hình ảnh đại diện, chứng từ).
  4. Các thư viện chuyên dụng:
    • MPAndroidChart: Thư viện hiển thị biểu đồ đa dạng (LineChart, BarChart, Combined-Chart, PieChart) hỗ trợ phóng to, thu nhỏ và tạo hiệu ứng chuyển động.
    • ZXing: Thư viện mã nguồn mở xử lý quét và khởi tạo mã vạch 1D/2D đa luồng trên nền background.

Phương pháp nghiên cứu thực tế:

  • Phương pháp phân tích nghiệp vụ thực tế: Khảo sát quy trình ghi chép chỉ số điện nước, lập phiếu thu và quản lý thông tin khách thuê tại các khu trọ.
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Xây dựng sơ đồ Use Case, sơ đồ tuần tự (Sequence Diagram), sơ đồ hợp tác (Collaboration Diagram) và sơ đồ quan hệ thực thể.
  • Phương pháp thực nghiệm phần mềm: Lập trình ứng dụng trên Android Studio bằng Kotlin; thiết kế tài nguyên đồ họa (icon, background) bằng Adobe Photoshop và Adobe Illustrator; kiểm thử giao diện và chức năng trên thiết bị Android.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình Client - BaaS, gồm 3 nhóm tác nhân chính và 2 ứng dụng di động độc lập chia sẻ chung một cơ sở dữ liệu Firebase Realtime Database.

+-----------------------------------------------------------------------------+
|                          GOOGLE FIREBASE SERVICES                           |
|  [Firebase Authentication]   [Realtime Database]   [Firebase Storage]       |
+-----------------------------------------------------------------------------+
+------------------------------------+   +------------------------------------+
|     ỨNG DỤNG MOTEL MANAGEMENT      |   |  ỨNG DỤNG SEARCH MOTEL INFORMATION  |
|  (Dành cho Chủ nhà trọ / Quản lý)  |   |     (Dành cho Người thuê trọ)      |
| - Quản lý phòng, dịch vụ, khách trọ|   | - Quét mã QR code truy cập hệ thống|
| - Ghi chỉ số điện nước hàng tháng  |   | - Tra cứu thông tin phòng đang ở   |
| - Lập và theo dõi hóa đơn thu tiền |   | - Xem lịch sử hóa đơn thanh toán   |
| - Báo cáo thống kê (Line/Bar chart)|   | - Xem danh sách bạn cùng phòng     |
| - Tạo và xuất mã QR cho từng phòng |   | - Xem biểu đồ điện nước (Report)   |
+------------------------------------+   +------------------------------------+

1. Phân quyền và tương tác của các tác nhân

Tác nhân Quyền hạn và phạm vi tương tác trên hệ thống
Admin Quản trị trực tiếp trên Firebase Console; quản lý tài khoản người dùng, cấu hình quyền, sao lưu, nhập/xuất dữ liệu JSON và quản lý tệp trên Firebase Storage.
User (Người cho thuê phòng) Sử dụng ứng dụng Motel Management; thực hiện toàn bộ nghiệp vụ thêm/sửa/xóa thông tin phòng, dịch vụ, khách thuê, chỉ số điện nước, hóa đơn, xem thống kê và xuất mã QR.
Người thuê phòng Sử dụng ứng dụng Search Motel Information; quét mã QR do chủ trọ cấp để tra cứu thông tin phòng, danh sách hóa đơn, thành viên cùng phòng và biểu đồ tiêu thụ điện nước (chế độ chỉ đọc).

2. Thiết kế cấu trúc dữ liệu trên Firebase Realtime Database

Hệ thống tổ chức dữ liệu theo mô hình NoSQL JSON với các thực thể chính sau:

Tên thực thể Thuộc tính chính Kiểu dữ liệu Mô tả chức năng
User id, email, photoUri, displayName, password String, Uri Quản lý thông tin tài khoản của chủ nhà trọ.
Room id, roomName, roomRate, electricityIndex, waterIndex, isFull, userId, deleted String, Int, Boolean Lưu trữ thông tin phòng, đơn giá, chỉ số công tơ hiện tại và trạng thái phòng.
DetailRoom id, electricityNewIndex, waterNewIndex, recordedDate String, Int, Date Lưu lịch sử ghi nhận chỉ số điện nước định kỳ của từng phòng.
Lodger id, name, identityCard, phoneNumber, roomId, stayDate String, Date Lưu trữ hồ sơ nhân khẩu khách thuê trọ (CMND/CCCD, liên hệ).
Service id, serviceName, price, unit, userId String, Int Danh mục các dịch vụ tính phí (rác, wifi, vệ sinh...).
Bill / DetailBill id, roomId, totalPrice, status, createdDate, details String, Int, Boolean Quản lý hóa đơn thu tiền, chi tiết từng khoản mục và trạng thái thanh toán.

3. Triển khai phân hệ ứng dụng Motel Management (Chủ trọ)

Ứng dụng dành cho chủ trọ được xây dựng hoàn chỉnh với hệ thống giao diện và luồng xử lý:

  • Module xác thực và tài khoản: Màn hình chờ (Splash Screen), Đăng nhập (hỗ trợ Email/Mật khẩu và Google Sign-In), Đăng ký tài khoản (tích hợp chụp ảnh camera hoặc tải ảnh từ bộ nhớ máy, có chức năng cắt ảnh trước khi tải lên Firebase Storage), Quên mật khẩu và Đổi mật khẩu.
  • Module quản lý phòng: Màn hình Dashboard hiển thị tổng quan số phòng; Màn hình danh sách phòng hỗ trợ cử chỉ vuốt (swipe left/right) để kích hoạt thao tác nhanh (gọi điện, chỉnh sửa, xóa, ghi điện nước); Tìm kiếm phòng theo tên hoặc trạng thái.
  • Module khách thuê và dịch vụ: Giao diện thêm/cập nhật thông tin người ở trọ (quản lý số CMND/CCCD, quê quán); Giao diện quản lý dịch vụ dùng chung.
  • Module hóa đơn và chỉ số điện nước: Giao diện ghi chỉ số công tơ điện nước định kỳ; Tự động tính toán số điện nước tiêu thụ và sinh hóa đơn chi tiết; Quản lý trạng thái hóa đơn (Đã thanh toán / Chưa thanh toán); Cửa sổ Popup hiển thị nhanh thông tin hóa đơn.
  • Module thống kê và xuất mã định danh: Màn hình thống kê tích hợp MPAndroidChart hiển thị doanh thu theo tháng/quý và lưu lượng tiêu thụ điện nước; Chức năng tạo mã QR định danh riêng cho từng phòng để cấp cho khách thuê.

4. Triển khai phân hệ ứng dụng Search Motel Information (Khách thuê)

Ứng dụng dành cho khách thuê được tối giản hóa nhằm đảm bảo tính tiện lợi:

  • Màn hình quét mã QR: Sử dụng thư viện ZXing để quét mã phòng do chủ trọ cung cấp, kiểm tra tính hợp lệ của mã và kết nối dữ liệu phòng tương ứng.
  • Giao diện điều hướng 4 thẻ (Bottom Navigation / Tab Layout):
    • Thẻ Home: Hiển thị chi tiết thông tin phòng (tên phòng, diện tích, giá thuê, chỉ số điện nước ban đầu).
    • Thẻ Bills: Danh sách các hóa đơn của phòng qua các tháng, phân định rõ hóa đơn đã thanh toán và chưa thanh toán.
    • Thẻ Lodgers: Danh sách các thành viên hiện đang đăng ký lưu trú trong cùng phòng.
    • Thẻ Report: Biểu đồ trực quan hóa lượng điện, nước tiêu thụ và chi phí sinh hoạt hàng tháng của phòng.

Nội dung chính theo từng chương

Chương 1. Hệ điều hành Android

Chương này trình bày tổng quan lý thuyết về nền tảng phát triển ứng dụng di động Android và các công nghệ phụ trợ được lựa chọn:

  • Lịch sử và thành phần hệ điều hành Android: Khái quát quá trình phát triển từ khi thành lập Android, Inc. (10/2003), thương vụ sáp nhập vào Google (08/2005) đến phiên bản Android 11 phát hành ngày 09/09/2020. Trình bày chi tiết cơ chế hoạt động, vòng đời của 4 thành phần cơ bản: Activity, Service, Broadcast Receiver và Content Provider.
  • Ngôn ngữ lập trình Kotlin: Lịch sử phát triển từ phiên bản 1.0 (2016) đến 1.4 (2020); phân tích so sánh kỹ thuật giữa Kotlin và Java. Làm rõ các ưu điểm: giải quyết triệt để lỗi NullPointerException, cú pháp rút gọn, tính năng Extension Function mở rộng lớp mà không cần kế thừa, Nested Function tối ưu xử lý nội bộ và khả năng tương thích 100% với nền tảng Java/JVM sẵn có.
  • Dịch vụ Google Firebase: Lịch sử hình thành từ năm 2011, được Google mua lại vào tháng 10/2014; phân loại 3 nhóm dịch vụ (phát triển ứng dụng, tăng tương tác, kiểm thử chất lượng). Trình bày cơ chế của Firebase Authentication, Firebase Realtime Database (đồng bộ JSON thời gian thực, lưu trữ đệm ngoại tuyến) và Firebase Storage.
  • Thư viện MPAndroidChart và ZXing: Khảo sát các dạng biểu đồ trong MPAndroidChart (LineChart, BarChart, Combined-Chart, PieChart) phục vụ báo cáo tài chính; nguyên lý hoạt động của thư viện giải mã hình ảnh mã vạch ZXing chạy trên luồng nền (background thread).

Chương 2. Phân tích hệ thống

Chương này tập trung vào công tác phân tích yêu cầu, mô hình hóa hệ thống và thiết kế chi tiết giao diện cho hai ứng dụng:

  • Mô tả chức năng chi tiết: Phân định rõ chức năng trên giao diện quản trị Firebase Console (dành cho Admin) và các chức năng tương tác trên ứng dụng di động (dành cho User chủ trọ và người thuê trọ).
  • Xác định tác nhân và mô hình Use Case: Xây dựng sơ đồ Use Case tổng quát cho Admin, Chủ trọ và Khách thuê; chi tiết hóa các kịch bản tương tác (Đăng nhập, Tìm kiếm, Thống kê, Xem thông tin tài khoản, Cập nhật dữ liệu).
  • Mô hình hóa động: Xây dựng hệ thống sơ đồ tuần tự (Sequence Diagram) và sơ đồ hợp tác (Collaboration Diagram) mô tả luồng dữ liệu cho các trường hợp đăng nhập thành công/thất bại, xử lý thống kê biểu đồ và cập nhật dữ liệu lên Firebase.
  • Thiết kế cơ sở dữ liệu: Xác định các thực thể dữ liệu (User, Room, DetailRoom, Lodger, Service, Bill) cùng các thuộc tính và mối liên kết logic NoSQL.
  • Đặc tả thiết kế màn hình: Xây dựng danh mục bảng mô tả và sơ đồ giao diện cho từng màn hình trên hai phần mềm Motel Management và Search Motel Information, bao gồm cả các thông báo lỗi kết nối mạng, kiểm soát quyền truy cập camera/bộ nhớ và các hộp thoại xác nhận.

Kết quả và đóng góp

1. Kết quả chính đạt được

Đề tài đã hoàn thành việc nghiên cứu và xây dựng trọn vẹn bộ đôi ứng dụng di động phục vụ nghiệp vụ quản lý phòng trọ:

Tiêu chí Ứng dụng Motel Management Ứng dụng Search Motel Information
Đối tượng sử dụng Chủ nhà trọ, ban quản lý ký túc xá Người thuê phòng trọ, sinh viên ở ký túc xá
Phương thức xác thực Email/Password, Google Sign-In Quét mã QR Code định danh phòng
Chức năng chính Quản lý phòng, khách thuê, dịch vụ, ghi chỉ số điện nước, lập hóa đơn, thống kê doanh thu Tra cứu thông tin phòng, xem danh sách bạn cùng phòng, lịch sử hóa đơn, theo dõi biểu đồ điện nước
Công nghệ tích hợp Firebase Auth, Realtime DB, Storage, MPAndroidChart, ZXing Firebase Realtime DB, ZXing (Reader), MPAndroidChart
Quyền truy cập dữ liệu Toàn quyền (Đọc, Ghi, Sửa, Xóa) Giới hạn (Chỉ đọc - Read-only)

2. Đóng góp của đề tài

  • Đóng góp ứng dụng thực tiễn: Cung cấp giải pháp phần mềm chuyên dụng giúp thay thế hoàn toàn sổ sách giấy tờ thủ công tại các khu nhà trọ, ký túc xá; hạn chế tối đa sai sót trong việc tính toán tiền điện nước và giảm thiểu thời gian quản lý cho chủ cơ sở.
  • Đóng góp về giải pháp kỹ thuật:
    • Ứng dụng thành công mô hình cơ sở dữ liệu thời gian thực (Firebase Realtime Database) giúp dữ liệu cập nhật tức thời và vẫn vận hành ổn định qua cơ chế lưu đệm khi mất mạng cục bộ.
    • Tích hợp giải pháp quét mã QR Code để phân quyền truy cập nhanh cho khách thuê trọ mà không đòi hỏi người thuê phải trải qua các bước đăng ký tài khoản phức tạp.
    • Khai thác hiệu quả ngôn ngữ Kotlin và các thư viện chuyên biệt (MPAndroidChart, ZXing) để xây dựng ứng dụng di động có giao diện trực quan và hiệu năng xử lý mượt mà.

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế của đồ án

  • Nền tảng triển khai: Ứng dụng mới chỉ được phát triển và chạy thử nghiệm trên hệ điều hành Android (bằng Kotlin thuần Android Native), chưa hỗ trợ người dùng trên hệ điều hành iOS hoặc giao diện Web.
  • Quy trình thanh toán: Hệ thống mới dừng lại ở việc quản lý trạng thái hóa đơn thủ công (chủ nhà tự tích chọn "Đã thanh toán" hoặc "Chưa thanh toán"), chưa tích hợp các cổng thanh toán trực tuyến tự động (như chuyển khoản ngân hàng, ví điện tử).
  • Tính năng tương tác: Phân hệ ứng dụng dành cho người thuê phòng (Search Motel Information) chỉ hoạt động ở chế độ đọc dữ liệu, chưa có tính năng gửi phản hồi, báo hỏng hóc trang thiết bị hoặc gửi thông báo trực tiếp đến chủ trọ qua ứng dụng.

2. Hướng nghiên cứu và phát triển tiếp

  • Mở rộng đa nền tảng: Nghiên cứu áp dụng Kotlin Multiplatform Mobile (KMM) hoặc các framework đa nền tảng để phát hành ứng dụng đồng thời trên hệ điều hành iOS và nền tảng Web.
  • Tích hợp cổng thanh toán tự động: Tích hợp API của các cổng thanh toán trực tuyến (VNPay, MoMo, ZaloPay) để người thuê có thể thanh toán tiền phòng trực tiếp trên ứng dụng và tự động gạch nợ hóa đơn.
  • Nâng cấp tính năng tương tác hai chiều: Xây dựng module thông báo đẩy (Firebase Cloud Messaging) cho phép chủ trọ gửi thông báo chung (tiền nhà, lịch cắt điện nước) và cho phép người thuê gửi yêu cầu sửa chữa cơ sở vật chất.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Đặc biệt là sinh viên chuyên ngành Lập trình ứng dụng di động đang tìm hiểu về quy trình xây dựng ứng dụng Android hoàn chỉnh bằng ngôn ngữ Kotlin trên môi trường Android Studio.
  • Lập trình viên nghiên cứu kiến trúc Serverless: Tài liệu cung cấp ví dụ thực tế về việc tích hợp trọn bộ các dịch vụ Google Firebase (Authentication, Realtime Database, Cloud Storage) vào ứng dụng di động thương mại hóa mà không cần máy chủ riêng.
  • Người nghiên cứu các đề tài quản lý tương tự: Cung cấp cơ sở lý thuyết và mô hình phân tích thiết kế hệ thống (sơ đồ Use Case, sơ đồ tuần tự, sơ đồ quan hệ NoSQL JSON) cho bài toán quản lý nhà trọ, khách sạn mini, ký túc xá sinh viên.

Câu hỏi thường gặp

1. Đồ án xây dựng bao nhiêu ứng dụng di động và sự khác biệt giữa các ứng dụng là gì?
Tác giả xây dựng 02 ứng dụng di động riêng biệt chạy trên nền tảng Android:

  • Motel Management: Dành cho chủ nhà trọ/quản lý với đầy đủ các quyền quản trị phòng, thêm sửa xóa dữ liệu khách thuê, dịch vụ, ghi chỉ số điện nước, lập hóa đơn, theo dõi thống kê doanh thu và tạo mã QR.
  • Search Motel Information: Dành cho người thuê trọ với quyền chỉ đọc (read-only), truy cập thông tin qua mã QR để xem chi tiết phòng, danh sách bạn cùng phòng, lịch sử hóa đơn và biểu đồ tiêu thụ điện nước.

2. Hệ thống sử dụng cơ sở dữ liệu gì và xử lý tình huống mất mạng như thế nào?
Hệ thống sử dụng cơ sở dữ liệu thời gian thực Firebase Realtime Database của Google, lưu trữ dữ liệu dưới định dạng chuỗi NoSQL JSON. Khi thiết bị di động ở trạng thái ngoại tuyến (offline), Firebase Realtime Database sử dụng bộ đệm cục bộ (local cache) trên máy để duy trì hoạt động; ngay khi thiết bị có kết nối mạng trở lại, dữ liệu từ bộ đệm sẽ tự động đồng bộ hóa lên hệ thống máy chủ đám mây.

3. Người thuê phòng truy cập vào hệ thống bằng phương thức nào?
Người thuê phòng không cần đăng ký tài khoản cá nhân. Thay vào đó, người thuê sử dụng ứng dụng Search Motel Information và quét mã QR Code riêng của phòng do chủ trọ cung cấp (được xử lý thông qua thư viện quét mã ZXing tích hợp trong ứng dụng).

4. Thư viện MPAndroidChart đóng vai trò gì trong hệ thống?
Thư viện MPAndroidChart được tác giả tích hợp để trực quan hóa dữ liệu số liệu thành các biểu đồ: LineChart (biểu đồ đường theo dõi biến động doanh thu, tăng trưởng theo tháng/quý), BarChart (biểu đồ cột so sánh chi phí), Combined-Chart (biểu đồ kết hợp) và PieChart (biểu đồ tròn phân tích tỷ trọng doanh thu các quý) trên cả hai phân hệ ứng dụng.

5. Vì sao tác giả lựa chọn ngôn ngữ Kotlin thay vì Java để phát triển hệ thống?
Theo phân tích của tác giả trong Chương 1, Kotlin được lựa chọn vì là ngôn ngữ chính thức được Google hỗ trợ cho Android, có khả năng tương thích 100% với máy ảo Java (JVM), giúp triệt tiêu lỗi phổ biến NullPointerException, giảm thiểu số lượng dòng mã nguồn dư thừa, hỗ trợ các tính năng hiện đại như Extension Function, Nested Function và Coroutines giúp mã nguồn gọn gàng, dễ bảo trì hơn.


Kết luận

Đồ án tốt nghiệp "Ứng dụng Quản lý phòng trọ" của tác giả Lê Thành Trung (Trường Đại học Bà Rịa - Vũng Tàu) đã giải quyết trọn vẹn bài toán số hóa nghiệp vụ quản lý phòng lưu trú cho các nhà trọ, nhà nghỉ và ký túc xá. Bằng việc kết hợp hiệu quả ngôn ngữ lập trình Kotlin, nền tảng cơ sở dữ liệu thời gian thực Google Firebase cùng các thư viện chuyên dụng ZXing và MPAndroidChart, tác giả đã triển khai thành công hai ứng dụng di động đáp ứng đồng thời nhu cầu quản lý của chủ cơ sở và nhu cầu tra cứu minh bạch của khách thuê. Mặc dù còn hạn chế về việc mở rộng đa nền tảng và tích hợp cổng thanh toán trực tuyến, công trình đã thể hiện phương pháp phân tích thiết kế hệ thống bài bản, đem lại giá trị ứng dụng thực tiễn cao và là tài liệu tham khảo có giá trị cho sinh viên ngành Công nghệ thông tin.