9 8 Cho phép lọc kết quả tìm kiếm theo giá cả, loại phòng, tiện ích, số người,… 9 Cho phép yêu thích/bỏ yêu thích phòng trọ 10 Cho phép gửi yêu cầu thuê phòng và thuê phòng 11 Cho phép g
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 3LỜI CẢM ƠN
Đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến quý Thầy Cô Trường Đại học Công nghệ thông tin - Đại học quốc gia TP.HCM và quý Thầy Cô khoa Công nghệ phần mềm đã giúp cho nhóm có kiến thức cơ bản làm nền tảng để thực hiện đề tài này
Đặc biệt, nhóm xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Cô Huỳnh Hồ Thị Mộng Trinh (Giảng viên hướng dẫn Đồ án 1 của nhóm) Cô đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báu giúp nhóm hoàn thành tốt bài báo cáo của mình Trong thời gian một học kỳ thực hiện đề tài, nhóm tác giả đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ đó, nhóm vận dụng tối đa những gì đã tiếp thu được để hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình thực hiện, nhóm không tránh khỏi những thiếu sót Chính vì vậy, nhóm rất mong được sự góp ý từ phía Thầy cô nhằm hoàn thiện những kiến thức mà nhóm đã học tập và là hành trang để nhóm thực hiện tiếp các đề tài trong tương lai
Xin chân thành cảm ơn quý Thầy cô!
Nhóm sinh viên thực hiện
Trang 42.4 Google Maps API 7
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 8
3.1 Phân tích yêu cầu 8
3.1.1 Yêu cầu chức năng 8
3.1.2 Yêu cầu phi chức năng 9
3.2 Phân tích Use case 10
3.2.1 Sơ đồ Use case 10
3.2.2 Danh sách tác nhân 11
3.2.3 Danh sách Use case 11
3.2.4 Đặc tả Use case và Sơ đồ luồng hoạt động 13
3.3 Sơ đồ lớp 38
3.4 Kiến trúc hệ thống 39
3.4.1 Sơ đồ tổng quan 39
3.4.2 Mô tả kiến trúc 40
3.5 Thiết kế cơ sở dữ liệu 41
3.5.1 Lược đồ cơ sở dữ liệu 41
3.5.2 Mô tả cơ sở dữ liệu 42
Trang 53.6 Thiết kế giao diện 46
Trang 61 CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 Lý do chọn đề tài
Việc tìm phòng trọ là một trong những nỗi lo lớn của nhiều người, đặc biệt là sinh viên và những người mới đến một thành phố lạ Vì trên thị trường nhà ở hiện nay, tình trạng khan hiếm phòng trọ và sự cạnh tranh khốc liệt khiến việc tìm kiếm một nơi ở phù hợp trở nên khó khăn Đối với sinh viên và những người mới đến thành phố, việc thiếu thời gian, kiến thức về khu vực và kinh nghiệm trong việc tìm phòng trọ càng làm gia tăng áp lực và khó khăn trong quá trình này
Vì vậy, nhóm đã quyết định chọn đề tài Xây dựng ứng dụng thuê trọ nhằm
giúp người dùng tiết kiệm thời gian và công sức trong việc tìm kiếm và thuê phòng trọ Ứng dụng sẽ cung cấp một giao diện đơn giản và dễ sử dụng, cho phép người dùng tìm kiếm và so sánh các phòng trọ dựa trên các tiêu chí như vị trí, giá cả, diện tích và tiện nghi Nhóm cũng hỗ trợ cung cấp thông tin chi tiết về từng phòng trọ, bao gồm hình ảnh và mô tả, thông tin tiện ích, giá một số phí sinh hoạt cụ thể và thông tin chi tiết của những chủ trọ, giúp người dùng có cái nhìn chính xác và tổng quan về các lựa chọn có sẵn Ngoài ra, với ứng dụng này, người dùng có thể liên lạc với chủ nhà một cách nhanh chóng và thuận tiện, từ đó đưa ra được quyết định thuê phòng và thực hiện việc đặt cọc an toàn, đảm bảo độ tin cậy ngay trên chính ứng dụng
Nhóm mong muốn có thể tạo ra một ứng dụng thuê phòng thuận tiện và đáng tin cậy, giúp người dùng dễ dàng tìm kiếm và thuê được nơi ở phù hợp với nhu cầu của họ Hy vọng rằng ứng dụng này sẽ giảm bớt gánh nặng và lo lắng trong quá trình tìm kiếm phòng trọ và mang lại trải nghiệm thuê trọ trọn vẹn và tốt đẹp cho người dùng
1.2 Mục tiêu đề tài 1.2.1 Khách quan
Tạo ra một ứng dụng di động dễ sử dụng và tiện ích để giúp người dùng tìm kiếm và đặt phòng trọ một cách thuận tiện và nhanh chóng Điều này giúp giảm bớt thời gian và công sức mà người dùng phải bỏ ra khi tìm kiếm phòng trọ truyền thống
Trang 72
Cung cấp các tính năng tìm kiếm và lọc phù hợp để người dùng có thể tìm kiếm phòng trọ dựa trên các tiêu chí như vị trí, giá cả, diện tích, tiện nghi và các yêu cầu khác Điều này giúp tối ưu hóa quá trình tìm kiếm và giúp người dùng tìm thấy phòng trọ phù hợp với nhu cầu của họ một cách dễ dàng
Cung cấp tính năng gửi yêu cầu thuê phòng, cho phép người dùng liên lạc với chủ nhà thông qua ứng dụng Điều này tạo ra sự tiện lợi và thuận tiện cho người dùng và giúp tăng tính hiệu quả trong quá trình thuê phòng
1.3 Đối tượng sử dụng
Người thuê trọ: là những người đang tìm kiếm phòng trọ để thuê, Họ có thể là sinh viên, người đi làm, người mới chuyến đến, Người thuê phòng sử dụng ứng dụng để tìm kiếm phòng trọ phù hợp với nhu cầu của mình, bao gồm các thông tin như: vị trí, giá cả, diện tích, nội thất, tiện ích…
Chủ nhà trọ: là những người đang có phòng trọ cho thuê Họ sử dụng ứng dụng để dăng tin cho thuê phòng, quản lý phòng trọ và tương tác với người thuê phòng Chủ nhà trọ có thể sử dụng các tính năng của ứng dụng như: đăng tin cho thuê phòng,
Trang 8o Nhu cầu tìm kiếm phòng trọ nhanh chóng, tiện lợi
o Nhu cầu tìm kiếm phòng trọ phù hợp với nhu cầu và khả năng tài chính
o Nhu cầu được cung cấp thông tin đầy đủ, chính xác về phòng trọ
o Nhu cầu được tương tác với chủ nhà trọ để trao đổi thông tin và thương lượng giá cả
• Hệ điều hành: iOS và Android
• Phiên bản hệ điều hành: iOS (phiên bản 10.0 trở lên) và Android (phiên bản 5.0 trở lên)
• Điều kiện mạng và kết nối: Ứng dụng được thiết kế để hoạt động trong mọi điều kiện mạng (bao gồm cả 3G/4G, Wifi,…)
• Sử dụng quyền truy cập thư viện để tải ảnh, quyền truy cập thông báo và GPS để lấy vị trí địa lý
1.4.2 Phạm vi chức năng
Ứng dụng cho phép người dùng:
Trang 9• Xem chi tiết các phòng theo bộ lọc tìm kiếm
• Xem các phòng đã thích và các phòng đã xem để người dùng tiện cho việc tìm kiếm lại thông tin phòng
• Xem các phòng trong khu vực nổi bật
• Cho phép người dùng liên hệ với chủ phòng theo nhiều cách tiếp cận khác nhau: gọi điện, nhắn tin
• Cho phép xem thông tin của chủ phòng trọ để người dùng có cái nhìn khách quan hơn về độ uy tín của chủ phòng trọ
• Tính năng Google Maps có thể giúp người có góc nhìn trực quan hơn cho việc tìm kiếm phòng trọ gần nơi mình sinh sống
• Đăng/sửa bài về phòng mình cho thuê: giá cả, vị trí, các tiện ích,…
• Nhận thông báo về phòng mình cho thuê được duyệt bởi hệ thống, thông báo tin nhắn khi người thuê phòng liên hệ
• Tự động xóa bài đăng phòng nếu hết hạn
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Flutter
Flutter là một framework phát triển ứng dụng di động đa nền tảng được phát triển bởi Google Sử dụng ngôn ngữ lập trình Dart, Flutter cho phép bạn xây dựng các ứng dụng di động đẹp và tương tác trên cả nền tảng iOS và Android từ một mã nguồn duy nhất Flutter đi kèm với một bộ công cụ phong phú, cho phép bạn xây dựng giao diện người dùng đáp ứng và quản lý trạng thái ứng dụng một cách hiệu quả
Trang 10• Giao diện người dùng đẹp: Flutter cung cấp bộ widget phù hợp với giao diện người dùng tương tác, cho phép bạn tạo ra ứng dụng với giao diện đẹp và mượt mà
• Tích hợp dễ dàng: Flutter cung cấp các plugin và thư viện mạnh mẽ để tích hợp với các dịch vụ và API bên ngoài
Nhược điểm:
• Hạn chế số lượng plugin: So vói các framwork khác, Flutter có số lượng plugin hạn chế hơn, đặc biết đối với các tính năng phức tạp và đặc thù của từng nền tảng
• Kích thước file lớn: Ứng dụng Flutter có kích thước tương đối lớn do bao gồm các framework và thư viện cần thiết
2.2 GetX
GetX là một thư viện Flutter cung cấp công cụ quản lý trạng thái và dependency injection, Với GetX, bạn có thể dễ dạng quản lý trạng thái ứng dụng mà không cần sử dụng các thư viện phức tạp khác Thư viện này cung cấp các lớp hỗ trợ
như GetBuilder, GetX, Obx, giúp bạn theo dõi và cập nhật trạng thái ứng dụng một
cách thuận tiện và hiệu quả Ưu điểm:
• Quản lý trạng thái dễ dàng, GetX cung cấp các lớp hỗ trợ giúp bạn quản lý trạng thái ứng dụng một các thuận tiện và hiệu quả
Trang 116
• Dependency injection: Thư viện này cung cấp công cụ dependency injection giúp quản lý và tiếp cận các thành phần ứng dụng một cách linh hoạt và dễ dàng
• Tích hợp đơn giản: GetX tích hợp dễ dàng với Flutter và không đòi hỏi cấu hình phức tạp
Nhược điểm:
• Hạn chế tài liệu và cộng đồng: So với các thư viện quản lý trạng thái khác, GetX có một cộng đồng nhỏ hơn và tài liệu hạn chế hơn, dẫn đến việc tìm kiếm hỗ trợ có thể khó hơn
2.3 Firebase
Firebase là một nền tảng phát triển ứng dụng di động và web do Google cung cấp Nó cung cấp một loạt các dịch vụ đám mây để phát triển ứng dụng báo gồm xác thực người dùng, lưu trữ dữ liệu thông qua cơ sở dữ liệu realtime, push notifications, phân tích và nhiều dịch vụ khác Với Firebase, developer có thể nhanh chóng tích hợp các tính năng mạnh mẽ vào ứng dụng của mình mà không cần xây dựng từ đầu
Nhược điểm:
• Giới hạn bảng giá: Firebase áp dụng mô hình giá cước dựa trên việc sử dụng, việc mở rộng ứng dụng có thể đòi hỏi chi phí cao hơn
Trang 127
• Tùy chọn quản lý dữ liệu hạn chế: Firebase có giới hạn trong việc truy vấn và xử lý dữ liệu phức tạp, đặc biệt khi ứng dụng có quy mô lớn
2.4 Google Maps API
Google Map API là một tập hợp các API do Google cung cấp để truy cập và sử dụng dữ liệu và tính năng của Google Maps Google Map API có thể được sử dụng để tạo ra các ứng dụng web, di động và máy tính để bàn sử dụng bản đồ, định vị và các tính năng bản đồ khác
Google Map API dựa trên một số công nghệ tiên tiến, bao gồm:
• Google Maps Platform: Google Maps Platform là một nền tảng cung cấp các dịch vụ bản đồ, định vị và các tính năng bản đồ khác Google Map API là một phần của Google Maps Platform
• REST API: Google Map API sử dụng REST API để cung cấp truy cập đến dữ liệu và tính năng của Google Maps REST API là một phương thức tiêu chuẩn để truy cập các tài nguyên web
• JSON: Google Map API sử dụng JSON để truyền dữ liệu giữa ứng dụng và Google Maps Platform JSON là một định dạng dữ liệu nhẹ và dễ sử dụng
Google cung cấp một số loại Google Map API, bao gồm:
• Maps Android API: Maps Android API là một API Java cho phép các nhà phát triển thêm bản đồ Google vào ứng dụng Android của họ
• Maps iOS API: Maps iOS API là một API Objective-C cho phép các nhà phát triển thêm bản đồ Google vào ứng dụng iOS của họ
• Các tính năng của Google Map API
Google Map API cung cấp một loạt các tính năng, bao gồm:
• Hiển thị bản đồ: Google Map API cho phép các nhà phát triển hiển thị bản đồ Google trong ứng dụng của họ
• Tìm kiếm địa điểm: Google Map API cho phép các nhà phát triển tìm kiếm địa điểm trên bản đồ
• Định vị: Google Map API cho phép các nhà phát triển định vị vị trí của người dùng
• Đường đi: Google Map API cho phép các nhà phát triển tạo đường đi giữa các địa điểm
• Thông tin giao thông: Google Map API cho phép các nhà phát triển hiển thị thông tin giao thông trên bản đồ
Trang 13bao gồm web, di động và máy tính để bàn Nhược điểm:
• Chi phí: Google Map API áp dụng mô hình giá cước dựa trên việc sử dụng, có thể tốn kém cho các ứng dụng có quy mô lớn
• Tính bảo mật: Google Map API xử lý dữ liệu nhạy cảm, vì vậy các nhà phát triển cần đảm bảo rằng ứng dụng của họ được bảo mật
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 3.1 Phân tích yêu cầu
3.1.1 Yêu cầu chức năng
1 Cho phép đăng nhập bằng tài khoản xác thực qua số điện thoại
2 Cho phép đăng ký tài khoản xác thực qua số điện thoại
3 Cho phép chỉnh sửa thông tin cá nhân
4 Cho phép đăng bài cho thuê phòng, sửa/xóa bài đã đăng
5 Cho phép xem thông tin chi tiết phòng trọ
6 Cho phép xem lịch sử đánh giá phòng trọ
7 Cho phép tìm kiếm phòng trọ theo địa điểm
Trang 149
8 Cho phép lọc kết quả tìm kiếm theo giá cả, loại phòng, tiện ích, số người,…
9 Cho phép yêu thích/bỏ yêu thích phòng trọ
10 Cho phép gửi yêu cầu thuê phòng và thuê phòng
11 Cho phép gửi yêu cầu trả phòng và trả phòng
12 Cho phép đánh giá phòng trọ đã thuê
13 Cho phép thanh toán tiền đặt cọc/hoàn tiền đặt cọc phòng trọ
14 Cho phép nhắn tin thời gian thực với chủ nhà/người thuê
15 Lưu trữ danh sách phòng trọ đã xem gần đây
16 Cho phép cài đặt (bật/tắt) các thông báo hệ thống
17 Cho phép báo cáo sự cố cho quản trị viên
18 Cho phép xem vị trí phòng trọ trên bản đồ
19 Cho phép tìm kiếm phòng trọ gần nơi học tập/làm việc
20 Tự động thông báo cho người dùng khi có phòng mới được đăng, có tin nhắn mới,…
3.1.2 Yêu cầu phi chức năng 3.1.2.1 Vận hành
• Hệ thống phải tương thích với các hệ thống khác mà doanh nghiệp đang sử dụng để quản lý và vận hành các hoạt động khác
• Hệ thống phải chạy được trên các thiết bị di động hệ điều hành Android và iOS
Trang 1510 3.1.2.2 Hiệu suất
• Hệ thống phải được hoạt động 24/7
• Tốc độ truy cập và xử lý dữ liệu nhanh chóng và hiệu quả
• Khả năng xử lý và lưu trữ dữ liệu lớn một cách ổn định và đảm bảo an toàn
• Đảm bảo tính đáp ứng cao đối với số lượng người dùng lớn cùng lúc • Không gây ra các tình trạng treo, chậm hoặc tắt đột ngột
Trang 1611 3.2.2 Danh sách tác nhân
1 Người dùng Người sử dụng hệ thống
3.2.3 Danh sách Use case
1 Thêm phòng trọ Thêm thông tin một phòng trọ mới
2 Sửa phòng trọ Chỉnh sửa thông tin một phòng trọ
3 Xóa phòng trọ Xóa thông tin một phòng trọ
Trang 1712
4 Tìm kiếm phòng trọ Tìm kiếm danh sách phòng trọ theo địa điểm
5 Lọc kết quả tìm kiếm Lọc kết quả tìm kiếm theo giá cả, loại phòng, số người, tiện ích,…
6 Xem bản đồ với vị trí
phòng trọ Hiển thị vị trí phòng trọ trên bản đồ
7 Tìm phòng trọ gần nơi học tập và làm việc
Tìm kiếm phòng trọ gần nơi học tập hoặc làm việc và hiển thị kết quả trên bản đồ
8 Thêm/bỏ phòng trọ yêu thích
Thêm vào hoặc loại bỏ phòng trọ khỏi danh sách yêu thích
9 Xem danh sách yêu thích Xem danh sách phòng trọ đã yêu thích
10 Xem danh sách đã xem gần
đây Xem danh sách phòng trọ đã xem gần đây
11 Xem thông tin chi tiết
phòng trọ Xem thông tin chi tiết của phòng trọ
12 Xem lịch sử đánh giá phòng trọ
Xem lịch sử đánh giá phòng trọ từ những người đã thuê trước đó
13 Xem phòng trọ của bạn
Xem danh sách các phòng trọ của bạn, bao gồm: phòng yêu cầu thuê, phòng yêu cầu trả, phòng đã thuê, phòng đã đăng, phòng đang chờ duyệt, phòng yêu thích
14 Thuê phòng trọ Quy trình thực hiện thuê 1 phòng trọ
15 Gửi yêu cầu thuê phòng Gửi yêu cầu thuê phòng đến chủ nhà
Trang 1821 Đăng ký Đăng ký một tài khoản mới
22 Cập nhật thông tin cá nhân Cập nhật thông tin cá nhân của tài khoản
23 Gửi báo cáo sự cố Gửi báo cáo sự cố cho quản trị viên hệ thống
24 Nhắn tin thời gian thực Gửi tin nhắn cho chủ nhà trọ hoặc người thuê
3.2.4 Đặc tả Use case và Sơ đồ luồng hoạt động 3.2.4.1 Use case thêm phòng trọ
Mã Use Case UC001
Tên Use Case Thêm phòng trọ
Mô tả Use case cho phép người dùng đăng bài cho thuê và thêm thông tin của phòng trọ mới vào hệ thống
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Trang 19Tên Use Case Sửa phòng trọ
Mô tả Use case cho phép người dùng chỉnh sửa thông tin của một phòng trọ người dùng đó đã đăng
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào trang “Phòng đã đăng” hoặc “Phòng chờ duyệt”
Hậu điều kiện Thông tin của phòng trọ được cập nhật thành công trong hệ thống
Trang 2015 Luồng sự kiện
3.2.4.3 Use case xóa phòng trọ Mã Use Case UC003
Tên Use Case Xóa phòng trọ
Mô tả Use case cho phép người dùng xóa thông tin của một phòng trọ người dùng đó đã đăng
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào trang “Phòng đã đăng” hoặc “Phòng chờ duyệt”
Hậu điều kiện Thông tin của phòng trọ được xóa khỏi hệ thống và các thông tin liên quan cũng được xóa
Trang 2116 Luồng sự kiện
3.2.4.4 Use case tìm kiếm phòng trọ Mã Use Case UC004
Tên Use Case Tìm kiếm phòng trọ
Mô tả Use case cho phép người dùng tìm kiếm các phòng trọ trong hệ thống theo địa điểm
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào màn hình “Trang chủ”
Hậu điều kiện Hiển thị kết quả tìm kiếm theo địa điểm được nhập vào
Trang 2217 Luồng sự kiện
3.2.4.5 Use case lọc kết quả tìm kiếm Mã Use Case UC005
Tên Use Case Lọc kết quả tìm kiếm
Mô tả Use case cho phép người dùng lọc kết quả tìm kiếm phòng trọ dựa trên các tiêu chí và yêu cầu của mình để thu hẹp phạm vi tìm kiếm và tìm được phòng trọ phù hợp
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã thực hiện tìm kiếm phòng trọ trên hệ thống
Hậu điều kiện Hiển thị kết quả tìm kiếm được áp dụng bộ lọc dựa trên yêu cầu của
người dùng
Trang 2318 Luồng sự kiện
3.2.4.6 Use case xem bản đồ với vị trí phòng trọ Mã Use Case UC006
Tên Use Case Xem bản đồ với vị trí phòng trọ
Mô tả Use case cho phép người dùng xem bản đồ hiển thị vị trí của tất cả phòng trọ có sẵn trong hệ thống để có cái nhìn tổng quan về sự phân bố và vị trí của các phòng trọ
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào trang xem bản đồ của hệ thống
Hậu điều kiện Người dùng đã xem được bản đồ hiển thị vị trí của tất cả các phòng trọ có sẵn trong hệ thống
Trang 2419 Luồng sự kiện
3.2.4.7 Use case tìm phòng trọ gần nơi học tập và làm việc Mã Use Case UC007
Tên Use Case Tìm phòng trọ gần nơi học tập và làm việc
Mô tả Use case cho phép người dùng tìm kiếm phòng trọ gần nơi học tập và làm việc của người dùng
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào màn hình “Trang chủ”
Hậu điều kiện Người dùng đã xem được bản đồ hiển thị vị trí của tất cả các phòng trọ gần nơi học tập và làm việc của mình
Trang 2520 Luồng sự kiện
3.2.4.8 Use case thêm/bỏ phòng trọ yêu thích Mã Use Case UC008
Tên Use Case Thêm/bỏ phòng trọ yêu thích
Mô tả Use case cho phép người dùng thêm hoặc bỏ một phòng trọ vào danh sách yêu thích
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào trang thông tin chi tiết của phòng trọ hoặc các danh sách hiển thị phòng trọ
Trang 26Tên Use Case Xem danh sách yêu thích
Mô tả Use case cho phép người dùng xem lại danh sách các phòng trọ mà họ quan tâm và đã chọn yêu thích
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào trang Yêu thích
Hậu điều kiện Người dùng đã xem danh sách các phòng trọ yêu thích
Trang 2722 Luồng sự kiện
3.2.4.10 Use case xem danh sách đã xem gần đây Mã Use Case UC0010
Tên Use Case Xem danh sách đã xem gần đây
Mô tả Use case cho phép người dùng xem danh sách các phòng trọ mà người dùng đã xem gần đây trên hệ thống
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã truy cập vào màn hình trang chủ
Hậu điều kiện Người dùng đã xem danh sách các phòng trọ đã xem gần đây
Luồng sự kiện
Trang 2823
3.2.4.11 Use case xem thông tin chi tiết phòng trọ Mã Use Case UC0011
Tên Use Case Xem thông tin chi tiết phòng trọ
Mô tả Use case cho phép người dùng xem thông tin chi tiết về một phòng trọ cụ thể trên hệ thống Người dùng có thể xem mô tả, hình ảnh, tiện ích, giá thuê, vị trí và các thông tin liên quan khác
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã tìm thấy phòng trọ muốn xem thông tin chi tiết
Hậu điều kiện Người dùng đã xem thông tin chi tiết về phòng trọ
Trang 2924 Luồng sự kiện
3.2.4.12 Use case xem lịch sử đánh giá phòng trọ Mã Use Case UC0012
Tên Use Case Xem lịch sử đánh giá phòng trọ
Mô tả Use case cho phép người dùng xem thông lịch sử đánh giá phòng trọ bao gồm số điểm đánh giá và nhận xét từ những người đã thuê phòng trọ này trước đó
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã tìm thấy phòng trọ muốn xem lịch sử đánh giá
Hậu điều kiện Người dùng đã xem lịch sử đánh giá về phòng trọ
Luồng sự kiện
Trang 3025
3.2.4.13 Use case xem phòng trọ của bạn Mã Use Case UC0013
Tên Use Case Xem phòng trọ của bạn
Mô tả Use case cho phép người dùng xem danh sách các phòng trọ của bạn, bao gồm: phòng yêu cầu thuê, phòng yêu cầu trả, phòng đã thuê, phòng đã đăng, phòng đang chờ duyệt, phòng yêu thích
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Hậu điều kiện Người dùng đã xem danh sách phòng trọ của mình
Trang 3126 Luồng sự kiện
3.2.4.14 Use case thuê phòng trọ Mã Use Case UC0014
Tên Use Case Thuê phòng trọ
Mô tả Use case cho phép người dùng thực hiện quy trình thuê một phòng trọ
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã xác định được phòng trọ muốn thuê, phòng trọ này đã tồn tại trên hệ thống và có trạng thái chưa được thuê
Hậu điều kiện Người dùng hoàn tất quá trình thuê một phòng trọ
Luồng sự kiện
Trang 3227
3.2.4.15 Use case gửi yêu cầu thuê phòng Mã Use Case UC0015
Tên Use Case Gửi yêu cầu thuê phòng
Mô tả Use case cho phép người dùng gửi một yêu cầu thuê phòng tới chủ phòng trọ
Trang 3328 Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã xác định được phòng trọ muốn gửi yêu cầu thuê, phòng trọ này đã tồn tại trên hệ thống và có trạng thái chưa được thuê
Hậu điều kiện Người dùng đã gửi được yêu cầu thuê phòng
Luồng sự kiện
3.2.4.16 Use case thanh toán
Trang 3429 Mã Use Case UC0016
Tên Use Case Thanh toán
Mô tả Use case cho phép người dùng thực hiện thanh toán khoản tiền đặt cọc phòng trọ cho chủ nhà hoặc hoàn trả tiền cọc cho người thuê
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã xác định được phòng trọ muốn thanh toán, phòng trọ này đã tồn tại trên hệ thống
Hậu điều kiện Người dùng đã hoàn tất thanh toán
Luồng sự kiện
3.2.4.17 Use case trả phòng trọ
Trang 3530 Mã Use Case UC0017
Tên Use Case Trả phòng trọ
Mô tả Use case cho phép người dùng thực hiện quy trình trả một phòng trọ đã thuê
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã xác định được phòng trọ muốn trả
Phòng trọ được trả có trạng thái đang được thuê bởi tác nhân
Hậu điều kiện Người dùng hoàn tất quá trình trả phòng trọ
Luồng sự kiện
Trang 3631
3.2.4.18 Use case gửi yêu cầu trả phòng Mã Use Case UC0018
Tên Use Case Gửi yêu cầu trả phòng trọ
Mô tả Use case cho phép người dùng thực hiện gửi yêu cầu trả một phòng trọ đã thuê tới chủ phòng trọ
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Người dùng đã xác định được phòng trọ muốn gửi yêu cầu trả
Trang 3732
Phòng trọ được trả có trạng thái đang được thuê bởi tác nhân
Hậu điều kiện Người dùng đã gửi yêu cầu trả phòng trọ
Luồng sự kiện
3.2.4.19 Use case đánh giá phòng đã thuê Mã Use Case UC0019
Trang 3833 Tên Use Case Đánh giá phòng đã thuê
Mô tả Use case cho phép người dùng thực hiện đánh giá một phòng trọ đã thuê sau khi trả phòng thành công
Tác nhân Người dùng
Tiền điều kiện Người dùng đã đăng nhập vào hệ thống
Phòng trọ muốn đánh giá đã được người dùng trả thành công
Hậu điều kiện Người dùng đã đánh giá phòng trọ
Trang 3934
Mô tả Use case mô tả quá trình đăng nhập vào hệ thống, cho phép người dùng đăng nhập bằng tài khoản đã đăng ký trước đó hoặc sử dụng tài khoản Google của mình để đăng nhập nhanh chóng
Tác nhân Người dùng
Tiền điều kiện Người dùng đã truy cập vào ứng dụng
Hậu điều kiện Người dùng đã đăng nhập thành công và có thể truy cập và sử dụng các tính năng của ứng dụng
Trang 4035
Mô tả Use case mô tả quá trình đăng ký để tạo một tài khoản mới trên hệ thống
Tác nhân Người dùng
Tiền điều kiện Người dùng đã truy cập vào trang đăng ký của hệ thống
Hậu điều kiện Người dùng đã đăng ký thành công và một tài khoản mới được tạo để truy cập vào hệ thống