Giới thiệu dự án

Tại các đô thị lớn và trung tâm giáo dục đại học như TP. Hồ Chí Minh và Hà Nội, tốc độ đô thị hóa nhanh chóng cùng làn sóng sinh viên, người lao động nhập cư tạo nên áp lực khổng lồ về nhu cầu nhà ở. Theo các khảo sát thực tế, việc tìm kiếm phòng trọ trong bán kính 1–2 km quanh trường học hoặc nơi làm việc giúp giảm thiểu đáng kể thời gian di chuyển, chi phí sinh hoạt và tình trạng ùn tắc giao thông giờ cao điểm. Tuy nhiên, quy trình tìm trọ truyền thống qua tờ rơi, môi giới trung gian hoặc các bài đăng mạng xã hội thiếu kiểm chứng bộc lộ nhiều bất cập nghiêm trọng: thông tin sai lệch, giá cả không minh bạch, thiếu hình ảnh thực tế và khó định vị chính xác vị trí địa lý.

Đề tài "Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. HCM (HCMUTE) dưới sự hướng dẫn của ThS. Nguyễn Trần Thi Văn. Đề tài tập trung giải quyết bài toán cốt lõi: số hóa và minh bạch hóa toàn bộ quy trình tìm kiếm, đánh giá, so sánh và quản lý nhà trọ thông qua nền tảng công nghệ di động và web hiện đại.

                  +----------------------------------------------------+
                  |               HỆ THỐNG TÌM PHÒNG TRỌ              |
                  +----------------------------------------------------+
                                     /             \
                                    /               \
        +--------------------------------+     +-------------------------------+
        |  ỨNG DỤNG DI ĐỘNG (FLUTTER)    |     |   WEB ADMIN PORTAL (NEXT.JS)  |
        |  - Người tìm trọ (Finder)      |     |   - Quản trị viên (Admin)     |
        |  - Chủ phòng trọ (Innkeeper)   |     |   - Quản lý User, Room, Post  |
        +--------------------------------+     +-------------------------------+
                       |                                       |
                       +-------------------+-------------------+
                                           |
                    +-------------------------------------+
                    |     NỀN TẢNG CLOUD & DỊCH VỤ        |
                    |  - Firebase Cloud Firestore (NoSQL) |
                    |  - Firebase Auth & Storage          |
                    |  - Google Maps Platform APIs        |
                    +-------------------------------------+

Mục tiêu của dự án

  1. Nghiên cứu và làm chủ công nghệ: Khảo sát chuyên sâu framework Flutter (ngôn ngữ Dart), hệ sinh thái Google Firebase (Cloud Firestore, Authentication, Cloud Storage, Remote Config) và nền tảng Google Maps Platform. Đồng thời, nghiên cứu kiến trúc Server-Side Rendering (SSR) với Next.js, TypeScript và quản lý trạng thái bằng Redux.
  2. Xây dựng ứng dụng di động đa nền tảng: Phát triển ứng dụng trên hệ điều hành di động cho hai nhóm tác nhân chính: Người tìm phòng trọ (Finder) và Chủ nhà trọ (Innkeeper), hỗ trợ tìm kiếm theo vị trí GPS thực tế, bộ lọc chi tiết nhiều tiêu chí, so sánh đối đầu hai phòng trọ và diễn đàn tương tác cộng đồng.
  3. Phát triển cổng thông tin quản trị Web Admin: Xây dựng trang web quản trị tập trung dành cho Admin, hỗ trợ kiểm duyệt, cập nhật trạng thái phòng trọ, quản lý danh sách người dùng và kiểm duyệt bài đăng diễn đàn.
  4. Tối ưu hóa hiệu năng và trải nghiệm người dùng (UX): Đảm bảo độ trễ chuyển màn hình dưới 2 giây, thời gian xử lý truy vấn dữ liệu thời gian thực dưới 5 giây và duy trì tốc độ khung hình mượt mà (60–120 FPS).

Phạm vi và giới hạn đề tài

  • Phạm vi triển khai: Ứng dụng di động được đóng gói tối ưu hóa cho hệ điều hành Android (hỗ trợ mở rộng iOS nhờ kiến trúc Flutter engine); hệ thống Web Admin tương thích đa trình duyệt trên Linux, macOS và Windows.
  • Giới hạn kỹ thuật: Hệ thống tập trung vào chức năng kết nối thông tin, định vị địa lý và tương tác xã hội; chưa tích hợp cổng thanh toán trực tuyến (payment gateway) cho quy trình đặt cọc giữ chỗ.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thực tế các ứng dụng tìm phòng trọ hiện hành tại thị trường Việt Nam cho thấy những ưu điểm và hạn chế kỹ thuật rõ rệt:

Ứng dụng khảo sát Điểm mạnh kỹ thuật Hạn chế cốt lõi Khoảng trống giải pháp (Gap Analysis)
Hello Rent Giao diện thân thiện, có bản đồ tích hợp và bộ lọc. Quy trình tìm kiếm phức tạp qua nhiều bước trung gian; UX chưa tối ưu. Cần đơn giản hóa User Flow, giảm số bước thao tác để xem thông tin chi tiết.
Doong Tốc độ xử lý nhanh, luồng tìm trọ tinh gọn, có hình ảnh trực quan. Bố cục giao diện và phối màu chưa hài hòa; dữ liệu cập nhật không thường xuyên. Cải thiện UI/UX hiện đại; cơ chế đồng bộ dữ liệu theo thời gian thực (Realtime Sync).
Landber Quy trình tìm kiếm ngắn gọn, hỗ trợ định vị bản đồ trực quan. Dữ liệu phòng trọ cũ; thiếu tính năng so sánh trực tiếp các phòng. Tích hợp tính năng so sánh đa tiêu chí (Compare Rooms) giữa 2 phòng trọ.
Tìm Trọ Cập nhật dữ liệu thường xuyên, hỗ trợ tìm kiếm theo vị trí. Giao diện chưa thu hút; thiếu diễn đàn trao đổi kinh nghiệm sinh viên. Bổ sung diễn đàn thảo luận cộng đồng (Community Forum) kèm hệ thống đánh giá.

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must-Have (Bắt buộc): Xác thực người dùng (Sign In/Sign Up); Tìm kiếm phòng trọ theo bộ lọc (Filter) và theo bán kính bản đồ (Google Maps); Xem chi tiết phòng trọ; Đăng tin phòng trọ (Innkeeper); Quản lý người dùng, phòng trọ, bài đăng (Admin).
  • Should-Have (Nên có): Chức năng so sánh đối đầu chi tiết 2 phòng trọ (Compare Rooms); Diễn đàn thảo luận và bình luận bài viết (Community Forum); Phân quyền RBAC (Role-Based Access Control).
  • Could-Have (Có thể có): Cấu hình động ứng dụng từ xa qua Firebase Remote Config; Trình soạn thảo bài viết phong phú TinyMCE trên Web Admin.
  • Won't-Have (Chưa thực hiện): Thanh toán đặt cọc trực tuyến; Xem phòng qua công nghệ thực tế ảo VR 360 độ.

Thiết kế hệ thống

Hệ thống được thiết kế theo kiến trúc phân tầng module hóa, tách biệt rõ ràng giữa Client-side, Management Portal và Cloud Backend.

+-----------------------------------------------------------------------------------+
|                              KIẾN TRÚC TỔNG THỂ HỆ THỐNG                          |
+-----------------------------------------------------------------------------------+

  [ MOBILE CLIENT (Flutter SDK) ]                 [ WEB ADMIN (Next.js & React) ]
  +-----------------------------+                 +-----------------------------+
  | - UI Widgets (Dart)         |                 | - TypeScript & React Engine |
  | - Provider / State Handler  |                 | - Redux Store & Middlewares |
  | - Google Maps SDK Native    |                 | - Server-Side Rendering     |
  +-----------------------------+                 +-----------------------------+
                 \                                               /
                  \                                             /
             HTTPS / REST                                 HTTPS / REST
                    \                                         /
                     v                                       v
  +---------------------------------------------------------------------------------+
  |                       GOOGLE FIREBASE INFRASTRUCTURE                            |
  |  +---------------------+  +----------------------+  +------------------------+  |
  |  | Firebase Auth       |  | Cloud Firestore      |  | Firebase Storage       |  |
  |  | (JWT Tokens & RBAC) |  | (NoSQL Document DB)  |  | (Media & Room Images)  |  |
  |  +---------------------+  +----------------------+  +------------------------+  |
  +---------------------------------------------------------------------------------+
                                           ^
                                           | HTTP Geocoding / Matrix
                                           v
  +---------------------------------------------------------------------------------+
  |                          GOOGLE MAPS PLATFORM APIS                              |
  |  [ Maps SDK ]   [ Geocoding API ]   [ Direction API ]   [ Distance Matrix API ] |
  +---------------------------------------------------------------------------------+

Technology Stack và phiên bản công nghệ

  • Mobile App: Flutter SDK v1.x (ngôn ngữ Dart 2.8+), tận dụng kiến trúc 4 luồng tác vụ độc lập (Platform Task Runner, UI Task Runner, GPU Task Runner, IO Task Runner) và engine đồ họa C++ Skia.
  • Web Admin: Next.js v9.x, React v16.x, TypeScript v3.8+, Node.js v12.x, Express.
  • State Management: Redux v4.x kết hợp Redux-Thunk / Redux-Saga trên Web Admin; Stateful Architecture trên Mobile.
  • Cloud Database & Services: Firebase Cloud Firestore (NoSQL Document-based database), Firebase Authentication, Firebase Storage, Firebase Remote Config.
  • Geographical Services: Google Maps API v3, Direction API, Distance Matrix API, Geocoding API, Geolocation API.

Thiết kế cơ sở dữ liệu NoSQL (Cloud Firestore)

Cấu trúc cơ sở dữ liệu được tổ chức dưới dạng các Collection và Document lồng nhau:

  • Collection Users: { uid: String, username: String, email: String, phone: String, address: String, role: "Finder" | "Innkeeper" | "Admin", createdAt: Timestamp }
  • Collection Rooms: { roomId: String, innkeeperId: String, title: String, address: String, location: GeoPoint(lat, lng), price: Number, square: Number, electricityCost: Number, waterCost: Number, amenities: { garage: Boolean, shareRoom: Boolean, wifi: Boolean, balcony: Boolean, furniture: Boolean, cooking: Boolean, petAllowed: Boolean, smokingAllowed: Boolean }, images: Array<String>, status: "Available" | "Hidden", createdAt: Timestamp }
  • Collection Posts: { postId: String, authorId: String, title: String, content: String, createdAt: Timestamp, commentsCount: Number }
  • Sub-collection Posts/{postId}/Comments: { commentId: String, userId: String, username: String, content: String, createdAt: Timestamp }
  Firestore Root
  ├── users (Collection)
  │   └── {userId} (Document)
  │       ├── username: "nguyenvana"
  │       ├── role: "Finder"
  │       └── phone: "0901234567"
  ├── rooms (Collection)
  │   └── {roomId} (Document)
  │       ├── title: "Phòng trọ gần ĐH SPKT"
  │       ├── price: 2500000
  │       ├── location: GeoPoint(10.8505, 106.7719)
  │       └── amenities: { wifi: true, garage: true, petAllowed: false }
  └── posts (Collection)
      └── {postId} (Document)
          ├── title: "Tìm bạn ở ghép quận Thủ Đức"
          └── comments (Sub-collection)
              └── {commentId} (Document)

Tiêu chuẩn an toàn và bảo mật

  • Phân quyền truy cập cơ sở dữ liệu thông qua Firebase Security Rules, đảm bảo chỉ tài khoản có quyền Admin mới được cập nhật thông tin phòng trọ của người khác hoặc khóa tài khoản.
  • Dữ liệu truyền tải giữa Client và Cloud Database được mã hóa toàn diện qua giao thức SSL/TLS (HTTPS).
  • Xác thực mã định danh độc nhất (Unique UUID) cho từng thực thể người dùng, phòng trọ và bài viết nhằm ngăn chặn tấn công giả mạo dữ liệu.

Methodology

Dự án áp dụng quy trình phát triển kết hợp linh hoạt (Agile-like Iterative Approach) trong khung thời gian 15 tuần thực hiện khóa luận:

Giai đoạn Thời gian Nhiệm vụ kỹ thuật chính Sản phẩm bàn giao
Sprint 1 Tuần 1–2 Nghiên cứu SSR, Next.js, React, TypeScript, Redux Architecture. Tài liệu kiến trúc và môi trường Web Admin.
Sprint 2 Tuần 3–5 Xây dựng Web Admin bằng Next.js, Auth module, quản lý phòng trọ. Module CMS Web Admin cơ bản.
Sprint 3 Tuần 6 Tích hợp trình soạn thảo TinyMCE (Tinyrcm) cho quản lý bài viết. Trình tạo nội dung bài viết quản trị.
Sprint 4 Tuần 7–8 Xây dựng bộ lọc phòng trọ đa tiêu chí (Filter Engine) trên Mobile. Module Filter & Search hoàn chỉnh.
Sprint 5 Tuần 9–11 Phát triển tính năng diễn đàn cộng đồng, bình luận bài viết trên di động. Module Diễn đàn & Tương tác xã hội.
Sprint 6 Tuần 12 Tích hợp Right Sidebar, tối ưu giao diện Homepage, ListRoom, Detail. Hoàn thiện UI/UX toàn diện trên ứng dụng.
Sprint 7 Tuần 13 Tích hợp Firebase Remote Config, thử nghiệm môi trường A/B. Ứng dụng hỗ trợ cấu hình động từ xa.
Sprint 8 Tuần 14 Kiểm thử hệ thống, vá lỗi logic, giao diện trên Web Admin và Mobile. Báo cáo kiểm thử & bản vá lỗi hoàn thiện.
Sprint 9 Tuần 15 Tổng hợp tài liệu, hoàn thiện báo cáo khóa luận, ghi hình video demo. Toàn văn Khóa luận tốt nghiệp & Video Demo.

Implementation và kết quả

Development process

Quá trình lập trình tập trung vào việc xử lý các thuật toán tối ưu hóa tìm kiếm, định vị không gian địa lý và quản lý trạng thái luồng dữ liệu hai chiều.

1. Xử lý logic lọc phòng trọ đa tiêu chí (Multi-criteria Query Engine)

Module tìm kiếm trên Flutter cho phép người dùng kết hợp đồng thời nhiều ràng buộc: mức giá tối đa, diện tích tối thiểu, vị trí hành chính và 8 tiêu chí tiện ích bổ sung.

// Code trích xuất giải thuật lọc phòng trọ phía Mobile Client (Flutter/Dart)
List<RoomModel> filterRooms({
  required List<RoomModel> rawRooms,
  required double maxPrice,
  required double minSquare,
  required bool requireWifi,
  required bool requireGarage,
  required bool allowCooking,
}) {
  return rawRooms.where((room) {
    // Ràng buộc giá và diện tích
    final bool matchPrice = room.price <= maxPrice;
    final bool matchSquare = room.square >= minSquare;
    
    // Ràng buộc tiện nghi bắt buộc
    final bool matchWifi = !requireWifi || (room.amenities.hasWifi == true);
    final bool matchGarage = !requireGarage || (room.amenities.hasGarage == true);
    final bool matchCooking = !allowCooking || (room.amenities.canCook == true);

    return matchPrice && matchSquare && matchWifi && matchGarage && matchCooking;
  }).toList();
}

2. Tích hợp Google Maps Platform & Tính toán khoảng cách

Ứng dụng sử dụng Google Maps SDK for Android để render bản đồ vector mượt mà, đồng thời gọi Geocoding API để phân giải chuỗi địa chỉ thành tọa độ $(Latitude, Longitude)$ và Direction API để vẽ tuyến đường ngắn nhất từ vị trí người dùng đến phòng trọ.

                      +-----------------------------+
                      |   Vị trí hiện tại (User)   |
                      +-----------------------------+
                                     |
                                     v
                        [ Google Geocoding API ]  <--- Phân giải địa chỉ chuỗi
                                     |
                                     v
                     [ Google Distance Matrix API ]
                                     |
              +----------------------+----------------------+
              |                      |                      |
              v                      v                      v
        Phòng trọ A            Phòng trọ B            Phòng trọ C
        (Cách 0.8 km)          (Cách 1.4 km)          (Cách 3.2 km)
              |
              +---> Tuyến đường ngắn nhất (Direction API) ---> [ Render Polyline ]

3. Quản lý trạng thái Redux trên Next.js Admin

Trên giao diện Web Admin, kiến trúc Redux với Reducer thuần túy (Pure Functions) đảm bảo dữ liệu phòng trọ và bài viết được đồng bộ trạng thái nhất quán, tránh re-render lãng phí tài nguyên.

// Redux Reducer quản lý trạng thái danh sách phòng trọ trên Web Admin (TypeScript)
interface RoomState {
  loading: boolean;
  rooms: Array<RoomItem>;
  error: string | null;
}

const initialState: RoomState = {
  loading: false,
  rooms: [],
  error: null,
};

export const roomReducer = (state = initialState, action: RoomAction): RoomState => {
  switch (action.type) {
    case 'FETCH_ROOMS_REQUEST':
      return { ...state, loading: true, error: null };
    case 'FETCH_ROOMS_SUCCESS':
      return { ...state, loading: false, rooms: action.payload };
    case 'UPDATE_ROOM_STATUS':
      return {
        ...state,
        rooms: state.rooms.map((room) =>
          room.id === action.payload.id ? { ...room, status: action.payload.status } : room
        ),
      };
    case 'FETCH_ROOMS_FAILURE':
      return { ...state, loading: false, error: action.payload };
    default:
      return state;
  }
};

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box Testing), kiểm thử tích hợp (Integration Testing) và kiểm thử hiệu năng với các chỉ số đo lường thực tế:

Kịch bản kiểm thử (Test Scenario) Phương pháp kiểm tra Kết quả kỳ vọng Kết quả đo lường thực tế Đánh giá
Chuyển đổi màn hình (Navigation) Flutter Performance Profiling Thời gian chuyển cảnh $< 2.0\text{ s}$ $0.45\text{ s} - 0.80\text{ s}$ Đạt (Vượt kỳ vọng)
Tìm kiếm & Lọc dữ liệu phòng Truy vấn Firestore với bộ lọc 5 tiêu chí Thời gian trả về kết quả $< 5.0\text{ s}$ $1.20\text{ s} - 1.85\text{ s}$ Đạt
Tải ảnh phòng trọ (5 ảnh HD) Firebase Storage Upload Thời gian tải lên hoàn tất $< 10.0\text{ s}$ $4.10\text{ s} - 6.30\text{ s}$ Đạt
Độ mượt mà giao diện (UI Smoothness) GPU Profiler trên thiết bị di động Đạt chuẩn $60\text{ FPS}$ không giật lag $58.5 - 60.0\text{ FPS}$ Đạt
Độ chính xác định vị bản đồ Google Geolocation & Maps SDK Sai số bán kính $< 15\text{ m}$ $5\text{ m} - 10\text{ m}$ Đạt

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

  • Phía ứng dụng di động: Hoàn thành 100% các chức năng đề ra trong đề cương bao gồm Đăng ký/Đăng nhập, Tìm kiếm theo bộ lọc chi tiết, Bản đồ định vị GPS, So sánh 2 phòng trọ, Đăng tin phòng trọ kèm hình ảnh và Diễn đàn sinh viên tương tác trực tiếp.
  • Phía trang quản trị Web Admin: Xây dựng thành công cổng quản lý tối ưu SEO bằng Next.js, tích hợp trình soạn thảo TinyMCE, cho phép chỉnh sửa, ẩn/hiện phòng trọ, duyệt bài viết diễn đàn và quản lý phân quyền tài khoản người dùng an toàn.

Đổi mới và đóng góp

1. Tính năng so sánh đối đầu chi tiết hai phòng trọ (Side-by-Side Room Comparison)

Khác với các ứng dụng hiện nay chỉ cho phép xem đơn lẻ từng bài đăng, hệ thống tích hợp module so sánh song song hai phòng trọ được người dùng lựa chọn. Bảng so sánh trực quan đối chiếu tức thì các thông số: đơn giá thuê, chi phí điện/nước, diện tích sử dụng, khoảng cách di chuyển thực tế và hệ sinh thái tiện ích (chỗ để xe, nấu ăn, thú cưng, ban công). Giải pháp này giúp người thuê trọ rút ngắn tới 65% thời gian cân nhắc và đưa ra quyết định chính xác.

2. Mô hình diễn đàn tương tác xã hội tích hợp sâu trong ứng dụng

Việc kết hợp diễn đàn thảo luận mở (Community Forum) trực tiếp bên trong ứng dụng tìm trọ tạo ra kênh thông tin hai chiều minh bạch. Sinh viên có thể chia sẻ trải nghiệm thực tế về khu trọ, an ninh khu vực, tìm kiếm bạn ở ghép uy tín và gửi bình luận đánh giá khách quan.

3. Ứng dụng công nghệ Server-Side Rendering (SSR) trong Web Admin

Sử dụng Next.js kết hợp TypeScript giúp hệ thống quản trị đạt tốc độ render dữ liệu ban đầu vượt trội, tối ưu hóa chỉ số SEO trang web quản trị và đảm bảo tính an toàn dữ liệu với cơ chế Static Typing nghiêm ngặt trong suốt quá trình vận hành codebase lớn.


Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-World Use Cases)

  1. Tân sinh viên nhập học: Sinh viên mới nhập học tại TP. HCM chỉ cần mở ứng dụng, cấp quyền vị trí GPS, chọn bán kính 1.5 km quanh khuôn viên trường (ví dụ: Đại học Sư phạm Kỹ thuật TP. HCM) và thiết lập khoảng giá 2 – 3 triệu VNĐ. Hệ thống lập tức trả về danh sách các phòng còn trống kèm khoảng cách di chuyển tối ưu nhất.
  2. Chủ nhà trọ (Innkeeper) tiếp cận khách thuê: Chủ nhà trọ chụp ảnh phòng thực tế, cập nhật đơn giá, các khoản phí dịch vụ và đăng tin trực tiếp qua ứng dụng. Thông tin lập tức đồng bộ thời gian thực tới hàng ngàn người dùng mà không mất phí môi giới.
  3. Quản trị viên (Admin) kiểm duyệt chất lượng: Quản trị viên dễ dàng lọc các bài đăng có dấu hiệu lừa đảo, tin rác hoặc thông tin không chính xác qua Web Admin để tiến hành gỡ bỏ hoặc khóa quyền tài khoản vi phạm.
+------------------------------------------------------------------------------------+
|                         LỘ TRÌNH TRIỂN KHAI VÀ MỞ RỘNG                             |
+------------------------------------------------------------------------------------+
  [ GIAI ĐOẠN 1: Thử nghiệm ]        [ GIAI ĐOẠN 2: Triển khai ]     [ GIAI ĐOẠN 3: Quy mô lớn ]
  - Triển khai APK Android nội bộ    - Phát hành Google Play Store    - Mở rộng toàn diện iOS
  - Thử nghiệm sinh viên HCMUTE      - Host Web Admin trên Vercel     - Tích hợp cổng MoMo/VNPay
  - Khảo sát 100+ phòng trọ thật     - Cấu hình Firebase Production   - Hệ thống gợi ý AI (ML)

Yêu cầu triển khai hệ thống (Deployment Requirements)

  • Phía Client Mobile: Thiết bị chạy Android 5.0 (Lollipop, API level 21) trở lên hoặc iOS 11.0 trở lên; bộ nhớ RAM tối thiểu 2GB; kết nối Internet 3G/4G/5G hoặc Wi-Fi.
  • Phía Web Admin Server: Node.js runtime environment (v12.x trở lên); dịch vụ máy chủ đám mây (Vercel, AWS EC2 hoặc Google Cloud Run); cấu hình biến môi trường kết nối Firebase SDK Admin an toàn.
  • Cơ sở hạ tầng Cloud: Google Cloud Platform project kích hoạt đầy đủ Maps SDK, Geocoding API, Distance Matrix API và Firebase Cloud Firestore.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống phụ thuộc nhiều vào hạn ngạch (quota) và chi phí truy vấn của Google Maps Platform khi số lượng người dùng đồng thời tăng đột biến.
  • Cơ chế xác thực thông tin chính chủ của phòng trọ hiện vẫn dựa vào kiểm duyệt thủ công của Admin, chưa có tính năng xác thực căn cước công dân (eKYC) hoặc định danh chủ nhà tự động.
  • Ứng dụng chưa hỗ trợ chức năng thanh toán trực tuyến hoặc ký hợp đồng thuê trọ điện tử có giá trị pháp lý.

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

  • Tích hợp thuật toán trí tuệ nhân tạo (AI & Machine Learning): Xây dựng hệ thống gợi ý thông minh (Recommendation Engine) dựa trên lịch sử tìm kiếm, sở thích cá nhân và hành vi di chuyển của người dùng.
  • Mở rộng nền tảng thanh toán & Ký kết hợp đồng: Tích hợp ví điện tử MoMo, VNPay, ZaloPay để hỗ trợ thanh toán cọc và quản lý kỳ thanh toán tiền trọ hàng tháng tự động.
  • Số hóa trải nghiệm với VR/AR 360: Hỗ trợ tính năng xem phòng trọ thực tế ảo 360 độ giúp người thuê khảo sát chi tiết không gian phòng từ xa trước khi đến xem trực tiếp.

Đối tượng hưởng lợi

  • Người thuê trọ & Sinh viên (Finder): Tiết kiệm hơn 60% thời gian khảo sát thực tế, dễ dàng tìm được phòng trọ ưng ý đúng ngân sách và vị trí mong muốn; loại bỏ rủi ro bị lừa đảo môi giới.
  • Chủ nhà trọ (Innkeeper): Kênh tiếp cận khách thuê trực tiếp hoàn toàn miễn phí, quản lý tình trạng phòng trống chuyên nghiệp và quảng bá hình ảnh phòng trọ rõ ràng.
  • Lập trình viên & Sinh viên nghiên cứu (Developers/Students): Cung cấp tài liệu tham khảo hoàn chỉnh về kiến trúc ứng dụng kết hợp giữa Flutter, Google Maps APIs, Firebase NoSQL và Next.js SSR trong thực tế.
  • Cộng đồng xã hội (Society): Góp phần minh bạch hóa thị trường cho thuê bất động sản dân sinh, giảm ùn tắc giao thông đô thị bằng cách tối ưu hóa khoảng cách nơi ở và nơi làm việc.

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

1. Yêu cầu kỹ thuật để triển khai và chạy ứng dụng là gì?

Đối với ứng dụng di động, người dùng cần thiết bị Android 5.0+ hoặc iOS 11.0+ có kết nối Internet và định vị GPS. Đối với Web Admin, máy chủ cần cài đặt Node.js 12+ cùng các khóa bảo mật API từ Google Cloud Platform và Firebase Console.

2. Giới hạn mở rộng (Scalability) của hệ thống cơ sở dữ liệu Firebase Cloud Firestore như thế nào?

Cloud Firestore được xây dựng trên nền tảng Google Cloud với khả năng tự động co giãn (Auto-scaling), hỗ trợ hàng triệu kết nối đồng thời và hàng tỷ tài liệu. Khi quy lượng dữ liệu tăng cao, Firestore tự động phân mảnh (sharding) dữ liệu trên nhiều cụm máy chủ để đảm bảo độ trễ truy vấn luôn dưới mức 100ms.

3. Ứng dụng có thể tích hợp với các hệ thống bản đồ hoặc cổng thanh toán khác không?

Kiến trúc phần mềm được thiết kế module hóa lỏng (loose-coupling), cho phép dễ dàng thay thế Google Maps bằng OpenStreetMap/Mapbox hoặc tích hợp các API thanh toán bên thứ ba như VNPay, MoMo, Stripe thông qua các RESTful API Service.

4. Chi phí vận hành hạ tầng Google Firebase và Google Maps có tốn kém không?

Trong giai đoạn đầu triển khai, gói miễn phí của Firebase (Spark Plan) và hạn mức tặng 200 USD hàng tháng của Google Maps Platform hoàn toàn đủ đáp ứng cho hàng ngàn người dùng thường xuyên mà không phát sinh chi phí. Khi mở rộng quy mô thương mại, chi phí sẽ được bù đắp thông qua các gói quảng cáo tin đăng nổi bật của chủ trọ.

5. Hệ thống giải quyết bài toán tin ảo và phòng trọ không đúng thực tế bằng cách nào?

Hệ thống sử dụng cơ chế kiểm duyệt kép: Quản trị viên kiểm tra dữ liệu đầu vào qua Web Admin kết hợp với cơ chế xếp hạng tín nhiệm, báo cáo sai phạm (Report) và bình luận đánh giá trực tiếp từ cộng đồng sinh viên trên diễn đàn.


Kết luận

Đề tài khóa luận tốt nghiệp "Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động" đã hoàn thành xuất sắc các mục tiêu nghiên cứu và thực nghiệm đề ra. Dự án không chỉ chứng minh tính khả thi vượt trội của việc kết hợp các công nghệ tiên tiến nhất hiện nay — Flutter, Google Firebase, Google Maps Platform và Next.js — mà còn mang lại một giải pháp công nghệ có giá trị thực tiễn cao cho xã hội.

Hệ thống đã giải quyết thấu đáo các rào cản thông tin giữa người thuê trọ và chủ nhà trọ, tối ưu hóa thời gian tìm kiếm, đảm bảo tính minh bạch về chi phí và nâng cao chất lượng đời sống sinh hoạt của sinh viên và người lao động đô thị. Đây là nền tảng vững chắc để tiếp tục phát triển các tính năng mở rộng chuyên sâu như tích hợp trí tuệ nhân tạo, số hóa hợp đồng điện tử và thương mại hóa toàn diện sản phẩm trong tương lai.