Bối cảnh và vấn đề nghiên cứu
Sự gia tăng nhanh chóng của các thiết bị di động thông minh cùng sự mở rộng của các dịch vụ định vị, truyền thông trực tuyến đã tác động sâu sắc đến nhu cầu sinh hoạt hàng ngày. Tại các đô thị tập trung đông dân cư như Thành phố Hồ Chí Minh và Hà Nội, nhu cầu tìm kiếm phòng trọ, nhà trọ của sinh viên mới nhập học, người lao động và nhân viên công tác xa nhà luôn ở mức cao. Các phương thức tìm trọ truyền thống như tìm kiếm trực tiếp trên đường phố hoặc qua thông tin tờ rơi bộc lộ nhiều hạn chế về thời gian, chi phí và độ tin cậy. Đồ án tốt nghiệp "Tìm hiểu xây dựng ứng dụng tìm kiếm nhà trọ trên di động" của sinh viên Lê Hoàng Công và Nguyễn Quang Thọ, thuộc Bộ môn Công nghệ Phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2016 – 2020), được thực hiện dưới sự hướng dẫn của TS. Lê Văn Vinh nhằm giải quyết các vấn đề thực tiễn trên.
Mục tiêu chính của đề tài là làm chủ kỹ thuật lập trình ứng dụng Android bằng ngôn ngữ Kotlin, xây dựng cơ sở dữ liệu trên hệ quản trị MySQL, triển khai dịch vụ nền tảng (Backend) bằng Node.js và xây dựng cổng thông tin quản trị (Admin) bằng ngôn ngữ Python.
Theo đề cương nghiên cứu, các nhiệm vụ cụ thể được xác định bao gồm:
- Tìm hiểu và nghiên cứu ngôn ngữ lập trình Kotlin trên nền tảng di động Android.
- Tìm kiếm, khảo sát và so sánh các ứng dụng tìm trọ hiện có nhằm hình thành giải pháp chức năng.
- Tìm hiểu hệ quản trị cơ sở dữ liệu MySQL để thiết kế và lưu trữ dữ liệu hệ thống.
- Nghiên cứu nền tảng Node.js trên môi trường Web để phát triển hệ thống giao diện lập trình ứng dụng (RESTful API).
- Nghiên cứu ngôn ngữ Python để xây dựng website quản trị Admin và triển khai mô hình gợi ý phòng trọ (Recommendation System).
- Xây dựng hoàn chỉnh ứng dụng di động cho người dùng và cổng website quản trị cho quản trị viên.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Người dùng có nhu cầu tìm kiếm và thuê nhà trọ, chủ nhà trọ có nhu cầu cho thuê, cùng bộ phận quản trị viên quản lý thông tin nhà trọ.
- Phạm vi không gian và công nghệ: Khảo sát và triển khai dữ liệu nhà trọ thực nghiệm tại khu vực Thành phố Hồ Chí Minh; hệ thống vận hành trên môi trường thiết bị di động Android và trình duyệt Web; thời gian thực hiện nghiên cứu từ tháng 3/2020 đến tháng 8/2020.
Cơ sở lý thuyết và phương pháp
Đề tài kết hợp nhiều nền tảng công nghệ phần mềm và lý thuyết tính toán để xây dựng hệ thống đa phân hệ:
- Nền tảng ứng dụng di động: Ngôn ngữ Kotlin được lựa chọn để phát triển ứng dụng Android. Đây là ngôn ngữ kiểu tĩnh vận hành trên máy ảo Java (JVM), tương thích với Java Class Library, sở hữu cơ chế suy luận kiểu, cú pháp ngắn gọn và khả năng kiểm soát lỗi con trỏ rỗng (Null Pointer Exception).
- Hệ thống phụ trợ (Backend) và mạng:
- Node.js: Môi trường thực thi JavaScript phía máy chủ xây dựng trên V8 JavaScript Engine và thư viện libUV, hoạt động theo cơ chế nhập/xuất bất đồng bộ không chặn (Non-blocking I/O) và mô hình vòng lặp sự kiện (Event Loop) kết hợp ngăn xếp (Stack LIFO), hàng đợi gọi lại (Callback Queue FIFO) cùng luồng xử lý (Thread Pool).
- Express.js: Framework định tuyến và cấu hình trung gian (Middleware) trên Node.js dùng để xây dựng các RESTful API.
- Python và Django: Ngôn ngữ thông dịch, hướng đối tượng Python được sử dụng để phát triển trang quản trị máy chủ và các dịch vụ tính toán chuyên sâu.
- Công nghệ truyền thông thời gian thực:
- Giao thức XMPP (Extensible Messaging and Presence Protocol): Giao thức mở dựa trên định dạng XML chuẩn hóa bởi IETF, dùng để quản lý trạng thái hiện diện và truyền nhận tin nhắn tức thời.
- Công nghệ WebRTC (Web Real-Time Communication): Tiêu chuẩn mở do W3C và IETF phát triển, hỗ trợ truyền tải trực tiếp âm thanh, hình ảnh và dữ liệu ngang hàng (Peer-to-Peer - P2P) giữa các thiết bị mà không cần phần mềm bổ trợ, sử dụng giao thức bảo mật SRTP (Secure Real-Time Transport Protocol) kết hợp thư viện Quickblox.
- Dịch vụ tích hợp: Google Maps SDK hỗ trợ xử lý vị trí và hiển thị bản đồ số; Google AdMob hỗ trợ quảng cáo; Google Play định hướng phát hành sản phẩm.
- Lý thuyết hệ gợi ý (Recommendation System): Ứng dụng giải thuật lọc cộng tác (Collaborative Filtering) bao gồm phương pháp tiếp cận theo người dùng (User-based) và theo sản phẩm (Item-based). Hệ thống mô hình hóa dữ liệu thông qua ma trận Người dùng - Mục tin - Phản hồi (User - Item - Feedback), sử dụng hệ số tương quan Pearson (Pearson correlation) và công thức khoảng cách Euclid (Ơ-clit) để tính toán độ tương đồng giữa các người dùng và độ tương quan giữa các phòng trọ dựa trên các thuộc tính như giá cả, diện tích và tiện ích.
Phương pháp nghiên cứu được triển khai bao gồm: thu thập và phân tích tài liệu lý thuyết; khảo sát hiện trạng 4 ứng dụng di động thực tế; mô hình hóa yêu cầu hệ thống bằng sơ đồ UML; thiết kế cơ sở dữ liệu quan hệ; thực nghiệm lập trình và kiểm thử chức năng.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc Client - Server đa tầng, phân định rõ ràng giữa tầng hiển thị, tầng logic nghiệp vụ và tầng lưu trữ dữ liệu:
- Tầng Client di động: Ứng dụng Android viết bằng Kotlin, chịu trách nhiệm nhận thao tác người dùng, gọi các dịch vụ định vị Google Maps, thiết lập phiên gọi video P2P qua WebRTC và gửi/nhận dữ liệu thông qua các điểm cuối RESTful API.
- Tầng Web quản trị: Giao diện quản lý viết bằng Python/Django, cho phép Admin và Super Admin theo dõi, kiểm duyệt và phân quyền hệ thống.
- Tầng Server API: Máy chủ Node.js/Express.js tiếp nhận các truy vấn HTTP, xử lý xác thực qua mã thông báo (Token) và điều phối dữ liệu với hệ quản trị cơ sở dữ liệu.
- Tầng Cơ sở dữ liệu: Sử dụng hệ quản trị MySQL gồm 14 bảng quan hệ logic:
| Tên bảng |
Chức năng lưu trữ dữ liệu |
tbl_user |
Tài khoản đăng nhập, thông tin xác thực của người dùng |
tbl_userinfor |
Thông tin chi tiết cá nhân của người dùng (họ tên, ngày sinh, địa chỉ) |
tbl_thanhpho |
Danh mục tỉnh/thành phố |
tbl_quan |
Danh mục quận/huyện trực thuộc tỉnh/thành phố |
tbl_nhatro |
Thông tin cơ bản về phòng trọ (tiêu đề, địa chỉ, giá cả, tọa độ) |
tbl_chitietnt |
Thông tin chi tiết nhà trọ (diện tích, giá điện, giá nước, tiện ích) |
tbl_hinhanh |
Danh sách đường dẫn hình ảnh thực tế của phòng trọ |
tbl_qlnhatro |
Dữ liệu quản lý liên kết giữa chủ nhà trọ và bài đăng |
tbl_danhgia |
Điểm đánh giá chất lượng phòng trọ từ người dùng |
tbl_binhluan |
Nội dung các bình luận |
tbl_bl_nhatro |
Liên kết giữa bình luận và bài đăng nhà trọ |
tbl_bl_nguoidung |
Liên kết giữa bình luận và tài khoản người dùng thực hiện |
tbl_admin |
Tài khoản truy cập của các cấp quản trị viên |
tbl_admininfor |
Thông tin cá nhân của quản trị viên hệ thống |
Hệ thống triển khai tính năng liên lạc trực tiếp: người dùng có thể kích hoạt tin nhắn tức thời (dựa trên nền tảng XMPP) hoặc khởi tạo cuộc gọi thoại/video trực tiếp tới số điện thoại của chủ phòng trọ (dựa trên cơ chế P2P của WebRTC) ngay trên giao diện chi tiết phòng trọ.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết
Chương 1 hệ thống hóa toàn bộ các nền tảng công nghệ và lý thuyết phục vụ xây dựng ứng dụng. Tác giả trình bày chi tiết về:
- Ngôn ngữ Kotlin và các ưu điểm tương tác với Java, giảm mã dư thừa và cơ chế loại trừ ngoại lệ null.
- Giao thức XMPP và tiêu chuẩn WebRTC với kiến trúc truyền thông không qua trung gian.
- Nền tảng Node.js, đi sâu vào nguyên lý hoạt động của cơ chế bất đồng bộ, phân tích mô hình bộ nhớ gồm Heap, Stack, cấu trúc vòng lặp Event Loop cùng cơ chế Non-Blocking I/O đối lập với Blocking I/O truyền thống.
- Framework Express.js với vai trò xử lý yêu cầu HTTP và bộ định tuyến API.
- Ngôn ngữ Python phiên bản 3 và các đặc trưng thông dịch, lập trình hướng đối tượng.
- Hệ thống gợi ý sản phẩm (Recommendation System), phân loại hai hướng tiếp cận của giải thuật lọc cộng tác (User-based và Item-based), cấu trúc ma trận biểu diễn dữ liệu và lợi ích thực tiễn trong việc tăng tính tương tác, hỗ trợ người tìm trọ tiếp cận không gian lưu trú phù hợp.
Chương 2: Khảo sát hiện trạng và xác định yêu cầu
Chương này khảo sát 4 ứng dụng tìm kiếm nhà trọ di động trên thị trường nhằm đánh giá ưu, nhược điểm:
| Ứng dụng khảo sát |
Ưu điểm ghi nhận |
Nhược điểm ghi nhận |
| Ahana |
Giao diện phân bố vừa phải; có chức năng tìm phòng gấp, tìm phòng gần nơi làm việc, đăng phòng và tìm người ở ghép |
Chưa tối ưu hóa chức năng giao tiếp trực tiếp |
| Nhà Trọ 360 |
Giao diện đơn giản; hỗ trợ tìm phòng mới đăng, tìm kiếm theo từ khóa, tìm khu vực lân cận, gọi điện và chỉ đường |
Chưa tích hợp công nghệ gọi video trực tuyến trong app |
| Nhà tốt |
Có chức năng tìm kiếm quanh vị trí bằng Google Maps; hỗ trợ bộ lọc phòng trọ |
Thiết kế chưa thu hút; dữ liệu tìm kiếm ít; Google Maps chưa tối ưu; thiếu tính năng đăng nhập |
| Thuê nhà |
Giao diện màu sắc hài hòa, bắt mắt; có chức năng đăng nhập, tìm kiếm và lọc |
Chức năng lọc còn hạn chế |
Từ khảo sát trên, nhóm tác giả xác định yêu cầu xây dựng ứng dụng Android cho người dùng và giao diện Web cho Admin và Super Admin, đảm bảo khả năng quản lý toàn diện cơ sở dữ liệu và hỗ trợ người dùng tương tác trực tiếp.
Chương 3: Mô hình hóa yêu cầu
Tác giả xây dựng sơ đồ Use Case tổng quát cho hệ thống và phân định trách nhiệm nghiệp vụ cụ thể cho từng nhóm tác nhân:
- Tác nhân User (Người dùng): Thống kê 17 nghiệp vụ chuẩn hóa với mã quy định từ
QD_DK đến QD_DMKM:
- Đăng ký tài khoản (
QD_DK)
- Đăng nhập hệ thống hoặc đăng nhập bằng tài khoản Google (
QD_DN)
- Xem danh sách nhà trọ tại màn hình trang chủ (
QD_DSNT)
- Tìm kiếm nhà trọ theo từ khóa (
QD_TK)
- Xem chi tiết thông tin nhà trọ (
QD_CTNT)
- Gửi bình luận đánh giá phòng trọ (
QD_CTNT)
- Chấm điểm sao đánh giá phòng trọ (
QD_CTNT)
- Đăng thông tin nhà trọ kèm tiện ích, chi phí, hình ảnh (
QD_DT)
- Xem danh sách các bài đăng cá nhân (
QD_XT)
- Chỉnh sửa thông tin phòng trọ đã đăng (
QD_ST)
- Lấy lại mật khẩu qua email xác nhận (
QD_QMK)
- Tìm và xem danh sách nhà trọ xung quanh trên bản đồ số (
QD_XTBD)
- Thay đổi thông tin cá nhân (
QD_DTT)
- Đổi mật khẩu tài khoản (
QD_DMK)
- Thực hiện cuộc gọi video tới chủ phòng trọ (
QD_GV)
- Gửi tin nhắn trực tiếp đến chủ phòng trọ (
QD_NT)
- Đặt mật khẩu mới (
QD_DMKM)
- Tác nhân Admin: Thống kê 10 nghiệp vụ thuộc 4 nhóm chính gồm phân quyền (đăng nhập, xem trang chủ, sửa thông tin), quản lý nhà trọ (xem danh sách, duyệt bài đăng, xóa bài), quản lý người dùng (xem danh sách, xóa tài khoản) và nghiệp vụ thống kê (thống kê người dùng, thống kê nhà trọ).
- Tác nhân Super Admin: Đảm nhận các quyền hạn tối cao, bao gồm toàn bộ chức năng của Admin cùng nghiệp vụ quản lý tài khoản Admin (xem danh sách, thêm mới và xóa tài khoản Admin).
Chương 4: Thiết kế phần mềm
Nội dung chương 4 tập trung vào việc mô hình hóa cấu trúc tĩnh và luồng xử lý động của hệ thống:
- Xây dựng lược đồ lớp (Class Diagram) cho tác nhân người dùng.
- Xây dựng hệ thống sơ đồ tuần tự (Sequence Diagram) minh họa các tiến trình: đăng nhập, đăng ký, đăng xuất, tìm kiếm và lọc trọ, đăng trọ, xem trọ trên bản đồ, sửa thông tin cá nhân, sửa thông tin trọ, xem chi tiết trọ, thống kê nhà trọ, thống kê user, duyệt bài đăng, xóa bài đăng, xóa người dùng, thêm admin và xóa admin.
- Thiết kế chi tiết lược đồ cơ sở dữ liệu quan hệ vật lý bao gồm 14 bảng, xác định rõ ràng các trường khóa chính, khóa ngoại và ràng buộc dữ liệu.
Chương 5: Thiết kế giao diện
Chương 5 trình bày thiết kế chi tiết các màn hình chức năng và giải thuật gợi ý:
- Giao diện người dùng Android: Thiết kế 18 màn hình bao gồm Trang chủ (Home), Tìm kiếm, Cá nhân, Chi tiết nhà trọ, Bản đồ số, Bộ lọc trọ, Đăng trọ, Danh sách trọ đã đăng, Sửa trọ, Đăng nhập, Quên mật khẩu, Đổi mật khẩu, Đặt mật khẩu mới, Đăng ký, Danh sách tin nhắn, Khung hội thoại tin nhắn, Giao diện thực hiện cuộc gọi và Giao diện nhận cuộc gọi video.
- Giao diện Web quản trị: Thiết kế các màn hình Đăng nhập Admin, Trang chủ, Sửa thông tin Admin, Quản lý nhà trọ, Quản lý người dùng, Quản lý Admin và Thêm Admin mới.
- Triển khai hệ thống gợi ý: Ứng dụng giải thuật Collaborative Filtering dựa trên thuật toán tương quan Pearson correlation:
- Tính toán độ tương quan giữa hai người dùng dựa trên lịch sử tương tác và đánh giá.
- Tính toán độ tương quan giữa hai nhà trọ dựa trên các đặc tính vật lý (giá phòng, diện tích, tiện ích) sử dụng công thức khoảng cách Euclid (Ơ-clit) để đề xuất phòng trọ phù hợp nhất với hành vi tìm kiếm của người dùng.
Chương 6: Kiểm thử phần mềm
Chương 6 trình bày các bước cài đặt hệ thống trên môi trường máy chủ và thiết bị di động, đồng thời thiết lập bảng kịch bản kiểm thử phần mềm. Quá trình kiểm thử tập trung vào việc xác minh tính chính xác của các luồng nghiệp vụ: đăng nhập/đăng ký, tìm kiếm theo từ khóa, lọc theo tiêu chí, hiển thị tọa độ trên bản đồ số, kết nối phiên gọi WebRTC, gửi nhận tin nhắn XMPP và các thao tác duyệt/xóa bài đăng của quản trị viên.
Kết quả và đóng góp
Đồ án hoàn thành các mục tiêu đề ra về mặt lý thuyết và thực hành phần mềm:
- Kết quả kỹ thuật:
- Xây dựng thành công ứng dụng Android hoàn chỉnh bằng ngôn ngữ Kotlin, kết nối với máy chủ API viết bằng Node.js/Express.js.
- Xây dựng trang web quản trị hai cấp (Admin và Super Admin) vận hành trên nền tảng Python.
- Xây dựng cơ sở dữ liệu MySQL chuẩn hóa gồm 14 bảng, đáp ứng toàn diện các mối quan hệ giữa người dùng, bài đăng, bình luận, đánh giá và phân cấp hành chính.
- Tích hợp thành công bản đồ Google Maps SDK định vị nhà trọ và công nghệ WebRTC/XMPP hỗ trợ gọi video, nhắn tin nội bộ P2P.
- Triển khai thuật toán lọc cộng tác (Collaborative Filtering) sử dụng công thức tương quan Pearson và khoảng cách Euclid phục vụ chức năng gợi ý nhà trọ.
- Đóng góp so với các ứng dụng trước:
- So với các ứng dụng đã khảo sát tại Chương 2 (Ahana, Nhà Trọ 360, Nhà tốt, Thuê nhà), sản phẩm của đề tài đã bổ sung kênh giao tiếp thời gian thực đa phương tiện (gọi video, nhắn tin trực tiếp), giúp người thuê xác minh nhanh hiện trạng phòng trọ với chủ nhà mà không phát sinh cước viễn thông thông thường.
- Khắc phục nhược điểm thiếu chức năng tài khoản và bản đồ chưa tối ưu của một số ứng dụng trên thị trường bằng hệ thống xác thực người dùng chặt chẽ và giao diện định vị trực quan.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung tổng kết của văn bản đồ án, các hạn chế và hướng mở rộng được xác định như sau:
- Hạn chế:
- Ứng dụng di động hiện mới chỉ hỗ trợ hệ điều hành Android, chưa được phát triển và tối ưu cho nền tảng iOS.
- Dữ liệu nhà trọ thử nghiệm ban đầu còn hạn chế về số lượng, đòi hỏi thời gian vận hành thực tế để tích lũy dữ liệu phòng trọ phong phú hơn.
- Mô hình gợi ý dựa trên lọc cộng tác cần lượng dữ liệu tương tác đủ lớn để đạt hiệu quả tối ưu, dễ chịu ảnh hưởng bởi vấn đề khởi đầu lạnh đối với người dùng hoặc phòng trọ mới đăng.
- Hướng phát triển tiếp theo:
- Mở rộng xây dựng ứng dụng trên nền tảng iOS để phục vụ toàn diện người dùng thiết bị di động.
- Nâng cấp và tối ưu thuật toán gợi ý nhà trọ khi quy mô cơ sở dữ liệu và lượng người dùng tăng cao.
- Tích hợp thêm các giải pháp kiểm duyệt tự động thông tin bài đăng và cơ chế xác minh giấy tờ sở hữu nhà trọ nhằm nâng cao tính pháp lý và an toàn cho người thuê.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu học thuật và kỹ thuật phù hợp cho:
- Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm tham khảo mô hình làm đồ án tốt nghiệp về phát triển ứng dụng di động kết hợp hệ thống dịch vụ phụ trợ phân tán.
- Lập trình viên nghiên cứu phương pháp kết hợp đa công nghệ: Kotlin (Android Client), Node.js/Express.js (RESTful API), Python (Web Admin & phân tích dữ liệu) và MySQL.
- Các đề tài nghiên cứu liên quan đến việc tích hợp truyền thông thời gian thực (WebRTC, XMPP) và dịch vụ vị trí địa lý (Google Maps SDK) trên thiết bị di động.
- Tài liệu cung cấp mẫu phân tích nghiệp vụ UML hoàn chỉnh với 17 ca sử dụng chi tiết cho người dùng và thiết kế cơ sở dữ liệu quan hệ chuẩn hóa 14 bảng.
Câu hỏi thường gặp
1. Hệ thống gợi ý nhà trọ trong đồ án hoạt động dựa trên nguyên lý nào?
Hệ thống sử dụng giải thuật lọc cộng tác (Collaborative Filtering) dựa trên thuật toán tương quan Pearson correlation và công thức khoảng cách Euclid (Ơ-clit). Dữ liệu được tính toán dựa trên ma trận ba thành phần: người dùng (user), mục tin phòng trọ (items) và điểm phản hồi/đánh giá (feedback), kết hợp cùng các đặc tính vật lý của phòng trọ như giá thuê, diện tích và các tiện ích đi kèm.
2. Đồ án đã tiến hành khảo sát những ứng dụng thực tế nào và rút ra kết luận gì?
Nhóm tác giả đã khảo sát 4 ứng dụng: Ahana, Nhà Trọ 360, Nhà tốt và Thuê nhà. Kết quả khảo sát chỉ ra các hạn chế của ứng dụng hiện hành như: ứng dụng Nhà tốt thiếu chức năng đăng nhập, dữ liệu ít và bản đồ chưa tối ưu; ứng dụng Thuê nhà hạn chế về bộ lọc; đa số các ứng dụng chưa hỗ trợ gọi video trực tuyến trực tiếp giữa người thuê và chủ nhà ngay trong giao diện ứng dụng.
3. Tính năng gọi điện và nhắn tin giữa người tìm trọ và chủ trọ được hiện thực bằng công nghệ gì?
Chức năng nhắn tin văn bản tức thời được phát triển dựa trên giao thức mở XMPP định dạng dữ liệu XML; chức năng gọi thoại và gọi video thời gian thực được xây dựng bằng công nghệ WebRTC truyền dữ liệu ngang hàng (P2P), bảo mật bằng giao thức SRTP kết hợp với nền tảng Quickblox.
4. Cơ sở dữ liệu của ứng dụng gồm những nhóm bảng chính nào?
Hệ thống gồm 14 bảng MySQL chia thành 5 nhóm: nhóm người dùng (tbl_user, tbl_userinfor), nhóm địa lý hành chính (tbl_thanhpho, tbl_quan), nhóm thông tin nhà trọ (tbl_nhatro, tbl_chitietnt, tbl_hinhanh, tbl_qlnhatro), nhóm tương tác phản hồi (tbl_danhgia, tbl_binhluan, tbl_bl_nhatro, tbl_bl_nguoidung) và nhóm quản trị viên (tbl_admin, tbl_admininfor).
5. Sự khác biệt về quyền hạn giữa Admin và Super Admin được phân định ra sao?
Admin phụ trách theo dõi hệ thống, duyệt bài đăng nhà trọ, xóa bài đăng, quản lý và xóa người dùng, cùng chức năng thống kê số liệu trong phạm vi khu vực được phân công. Super Admin nắm quyền hạn cao nhất, có toàn quyền quản lý dữ liệu toàn hệ thống và thực hiện thêm mới hoặc xóa bỏ tài khoản của các Admin khác.
Kết luận
Đồ án tốt nghiệp "Tìm hiểu xây dựng ứng dụng tìm kiếm nhà trọ trên di động" của sinh viên Lê Hoàng Công và Nguyễn Quang Thọ đã giải quyết bài toán tìm kiếm nơi cư trú thông qua việc kết hợp ứng dụng di động Android viết bằng Kotlin với máy chủ API Node.js và hệ thống quản trị Python. Đề tài xây dựng hoàn chỉnh quy trình kỹ thuật phần mềm từ khảo sát hiện trạng, phân tích nghiệp vụ UML, thiết kế cơ sở dữ liệu 14 bảng cho đến kiểm thử thực tế. Công trình có giá trị thực tiễn nhờ tích hợp giải pháp liên lạc trực tiếp qua WebRTC/XMPP và bộ máy gợi ý phòng trọ dựa trên thuật toán lọc cộng tác.