Mục tiêu nghiên cứu
Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết công cho thuê phòng trọ Các mục tiêu cụ thể của đề tài gồm:
- Tìm ra phương pháp hiệu quả trong việc cho thuê phòng trọ của người cho thuê.
- Tìm ra phương pháp hiệu quả trong việc đi tìm phòng trọ của người đi thuê.
- Tìm ra phương pháp quản lí hiệu quả các hợp đồng cho thuê, hoá đơn chi
- Ứng dụng ngôn ngữ Dart và công nghệ Flutter vào xây dựng ứng dụng di động cho thuê phòng trọ.
- Ứng dụng ngôn ngữ GoLang và công nghệ GraphQL và GRPC vào xây dựng backend cho ứng dụng.
- Ứng dụng công nghệ React JS vào xây dựng website quản lí cho người quản trị.
Phương pháp nghiên cứu
Phương pháp lý thuyết được áp dụng để nghiên cứu các tài liệu liên quan đến ngôn ngữ lập trình và các framework như Flutter, GoLang và ReactJS Bên cạnh đó, nghiên cứu cũng tập trung vào nhu cầu của người cho thuê và người đi thuê, nhằm hiểu rõ hơn về thị trường và xu hướng hiện tại.
Phương pháp thực nghiệm trong nghiên cứu và xây dựng các phương pháp đặt cọc, thuê phòng, tìm kiếm phòng trọ, cũng như trao đổi thông tin qua tin nhắn, sẽ giúp quản lý hiệu quả quá trình thuê phòng trọ Việc phát triển ứng dụng thuê phòng trọ và đánh giá kết quả sẽ nâng cao trải nghiệm người dùng và tối ưu hóa quy trình thuê phòng.
Ý nghĩa của đề tài
Đề tài này tập trung vào việc ứng dụng công nghệ thông tin trong lĩnh vực bất động sản, đặc biệt là cho thuê phòng trọ, nhằm nâng cao hiệu quả trong việc áp dụng công nghệ vào cuộc sống hàng ngày Đối tượng sử dụng bao gồm mọi người, nhưng đặc biệt hữu ích cho sinh viên, người lao động xa nhà và các môi giới Đề tài đề xuất phương pháp giúp người thuê và người cho thuê giao dịch nhanh chóng và rõ ràng, bao gồm các hợp đồng, hóa đơn thanh toán và thông tin trao đổi qua tin nhắn.
Bố cục của đề tài
Để đạt được mục tiêu nghiên cứu và đảm bảo tính logic cho đồ án, bài viết được cấu trúc thành các chương, bên cạnh phần mở đầu và kết luận.
Chương 1 của bài viết trình bày cơ sở lý thuyết về lập trình đa nền tảng, tập trung vào các ngôn ngữ lập trình như Dart, GoLang và Javascript Ngoài ra, chương này cũng giới thiệu các framework tương ứng như Flutter, GraphQL, GRPC và ReactJS, được áp dụng trong quá trình xây dựng đề tài nghiên cứu.
Chương 2: Phân tích và thiết kế hệ thống trình bày bài toán cùng các mô hình hệ thống, đề xuất ý tưởng và chức năng cho phần mềm Chương này còn bao gồm các mô hình thực thể quan hệ và sơ đồ phân cấp chức năng, phân tích chi tiết các chức năng dành cho người sử dụng và quản lý, đồng thời thiết kế giao diện người dùng và cấu trúc dữ liệu cho hệ thống.
Chương 3: Cài đặt chương trình và kết quả Trong chương này, nêu kết quả thực hiện được của đề tài và trình bày cách cài đặt chương trình.
Đóng góp của đồ án
Trong đồ án thực tập tốt nghiệp này, chúng em đã áp dụng linh hoạt kiến thức học được để thực hiện đề tài Chúng em đã cùng nhau trao đổi và bàn bạc, đưa ra ý tưởng và đề xuất hướng các tác vụ của người dùng, nhằm xây dựng một đồ án hoàn chỉnh và sản phẩm thân thiện với người sử dụng Những đóng góp chính của đồ án bao gồm việc cải thiện trải nghiệm người dùng và tối ưu hóa quy trình làm việc.
Phân tích rõ ràng vai trò của người sử dụng trong hệ thống
Người đi thuê trọ hoặc căn hộ có thể dễ dàng tìm kiếm và đặt cọc phòng tại các toà nhà hoặc dãy trọ mong muốn Hệ thống cho phép người dùng thanh toán hoá đơn tiền điện, nước và chi phí thuê phòng, đồng thời quản lý mọi giao dịch thuê và cho thuê một cách hiệu quả Hợp đồng thuê phòng được trình bày rõ ràng với đầy đủ thông tin cần thiết.
Người cho thuê trọ hoặc căn hộ có thể đăng tải thông tin chi tiết về tòa nhà, dãy trọ và các phòng cho thuê, bao gồm tiện ích, giá đặt cọc và giá thuê Họ cũng chịu trách nhiệm xác nhận yêu cầu đặt cọc của người thuê để lập hợp đồng Chủ nhà có khả năng tạo hóa đơn cho điện, nước và chi phí thuê tương ứng với từng phòng, đồng thời quản lý việc thanh toán hóa đơn qua ứng dụng.
- Đối với người quản lí, họ có thể quản lí toàn bộ các thông tin người dùng, toà nhà, căn hộ, hoá đơn, hợp đồng của hệ thống
Phân tích và thiết kế chức năng thanh toán hoá đơn trực tuyến
Nghiên cứu và triển khai chức năng thanh toán hóa đơn trực tuyến mang lại sự nhanh chóng, tiện dụng và tiết kiệm thời gian cho người dùng Hệ thống này giúp người dùng dễ dàng quản lý và kiểm soát tài chính cùng trạng thái hóa đơn của mình Hơn nữa, việc thanh toán trực tuyến còn nâng cao tính chuyên nghiệp trong kinh doanh và quy trình hoạt động của ứng dụng.
Thiết kế chức năng nhắn tin cá nhân và nhắn tin nhóm cho ứng dụng
Liên lạc giữa người cho thuê và người đi thuê là rất quan trọng để thảo luận về hợp đồng, hoá đơn, điện nước và các vấn đề khác liên quan đến phòng thuê Chức năng nhắn tin cá nhân và nhóm giúp người dùng dễ dàng trao đổi thông tin mà không cần sử dụng ứng dụng bên ngoài, tạo sự thuận tiện trong việc giải quyết các vấn đề liên quan.
CƠ SỞ LÝ THUYẾT
Tổng quan về ngôn ngữ Dart
Hoàn thành nội dung và viết báo cáo chương 1
Tổng quan về ngôn ngữ Golang
Hệ quản trị cơ sở dữ liệu PostgetQL
Chương 2: Phân tích và thiết kế hệ thống
2.1 Phân tích yêu cầu đề tài
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
Hoàn thành nội dung và viết báo cáo chương 2.
Hoàn thiện mã nguồn cho tất cả chức năng của ứng dụng và trang web (bao gồm Frontend và Backend).
2.4 Biểu đồ ca sử dụng Trịnh Nhật Hạ Vy
2.5 Biểu đồ hoạt động Trịnh Nhật Hạ Vy
2.6 Biểu đồ tuần tự Nguyễn Đình Toản
2.7 Thiết kế cơ sở dữ liệu Nguyễn Đình Toản
Lập trình giao diện cơ bản ứng dụng Trịnh Nhật Hạ Vy
Lập trình giao diện dành cho doanh nghiệp của ứng dụng
Lập trình giao diện phương thức thanh toán cho ứng dụng
Lập trình API cơ bản
Lập trình API cho doanh nghiệp
Lập trình API cho người thuê
Lập trình API cho người quản trị
Lập trình API tin nhắn
Lập trình API phương thức thanh toán
Chương 3: Cài đặt chương trình và kết quả
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
04/04/2022 – 08/04/2022 Hoàn thành nội dung và viết báo cáo chương 3.
Chương 4: Kết luận và hướng phát triển
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
11/04/2022 – 15/04/2022Hoàn thành chương 4 Hoàn thiện sản phẩm và báo cáo TTTN4.2 Định hướng phát triển
KẾ HOẠCH THỰC HIỆN ĐỀ TÀI CỦA NHÓM
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
1 Lí do chọn đề tài 2
3 Đối tượng và phạm vi nghiên cứu 4
6 Bố cục của đề tài 4
7 Đóng góp của đồ án 5
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 7
1.1 Tổng quan về ngôn ngữ Dart 7
1.1.2 Lịch sử hình thành ngôn ngữ Dart 7
1.1.3 Tại sao sử dụng ngôn ngữ Dart 8
1.2 Tổng quan về framework Flutter 10
1.2.5 Ưu và nhược điểm của Flutter 14
1.3 Tổng quan về ngôn ngữ Javascript 15
1.3.5 Sự khác nhau giữa Javascript với các ngôn ngữ lập trình web khác 20
1.4 Tổng quan về framework ReactJS 21
1.4.3 Ưu và nhược điểm của ReactJS 23
1.4.4 Sự phát triển của ReactJS 24
1.5 Tổng quan về ngôn ngữ Golang 25
1.5.2 Lịch sử hình thành ngôn ngữ Golang 25
1.5.4 Ưu và nhược điểm của Golang 27
1.5.5 Các lĩnh vực ứng dụng Golang 28
1.6.3 Ưu và nhược điểm của gRPC 31
1.7.4 Ưu và nhược điểm GraphQL 34
1.8 Hệ quản trị cơ sở dữ liệu PostgetQL 34
1.8.4 So sánh PostgetSQL và MySQL 36
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 40
2.1 Phân tích yêu cầu đề tài 40
2.4 Biểu đồ ca sử dụng 44
2.4.1 Biểu đồ ca sử dụng của hệ thống 46
2.4.2 Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 46
2.4.3 Biểu đồ ca sử dụng nhắn tin của hệ thống 47
2.5.1 Biểu đồ hoạt động đăng kí 49
2.5.2 Biểu đồ hoạt động đăng nhập 50
2.5.3 Biểu đồ hoạt động khôi phục mật khẩu 50
2.5.4 Biểu đồ hoạt động tạo toà nhà 51
2.5.5 Biểu đồ hoạt động chỉnh sửa toà nhà 51
2.5.6 Biểu đồ hoạt động xoá toà nhà 51
2.5.7 Biểu đồ hoạt động thêm phòng 52
2.5.8 Biểu đồ hoạt động chỉnh sửa phòng 52
2.5.9 Biểu đồ hoạt động xoá phòng 52
2.5.10 Biểu đồ hoạt động tạo hoá đơn 52
2.5.11 Biểu đồ hoạt động chỉnh sửa hoá đơn 53
2.5.12 Biểu đồ hoạt động xoá hoá đơn 53
2.5.13 Biểu đồ hoạt động đặt cọc 53
2.5.14 Biểu đồ hoạt động xác nhận đặt cọc 54
2.5.15 Biểu đồ hoạt động rút lại tiền đặt cọc 54
2.5.16 Biểu đồ hoạt động thanh toán hoá đơn 55
2.5.17 Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
2.5.18 Biểu đồ hoạt động tạo cuộc trò chuyện 55
2.5.19 Biểu đồ hoạt động tạo nhóm hội thoại 56
2.5.20 Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
2.5.21 Biểu đồ hoạt động xoá cuộc hội thoại 56
2.5.22 Biểu đồ hoạt động nhắn tin 57
2.5.23 Biểu đồ hoạt động gửi hình ảnh 57
2.5.24 Biểu đồ hoạt động xoá tin nhắn 57
2.6.1 Biểu đồ tuần tự đăng kí với email 60
2.6.2 Biểu đồ tuần tự đăng nhập với email 60
2.6.3 Biểu đồ tuần tự tạo toà nhà 61
2.6.5 Biểu đồ tuần tự xoá toà nhà 62
2.6.6 Biểu đồ tuần tự thêm phòng 62
2.6.7 Biểu đồ tuần tự chỉnh sửa phòng 63
2.6.8 Biểu đồ tuần tự xoá phòng 63
2.6.9 Biểu đồ tuần tự đặt phòng 64
2.6.10 Biểu đồ tuần tự tạo hoá đơn 65
2.6.11 Biểu đồ tuần tự chỉnh sửa hoá đơn 66
2.6.12 Biểu đồ tuần tự thanh toán hoá đơn 66
2.7 Thiết kế cơ sở dữ liệu 67
2.7.1 Thiết kế bảng dữ liệu 67
2.7.2 Thiết kế biểu đồ lớp 75
2.7.3 Mô hình cơ sở dữ liệu 76
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ 77
3.1.1 Cài đặt chương trình hệ thống 77
3.1.3 Cài đặt trang web quản lí 77
3.2.2 Giao diện đăng nhập/đăng kí 78
3.2.3 Giao diện tạo tài khoản doanh nghiệp 79
3.2.4 Giao diện tìm kiếm toà nhà 79
3.2.5 Giao diện chi tiết toà nhà 80
3.2.6 Giao diện chi tiết căn hộ 81
3.2.7 Giao diện đặt cọc phòng 81
3.2.8 Giao diện rút lại tiền cọc 82
3.2.9 Giao diện hoá đơn của người dùng 83
3.2.10 Giao diện thanh toán hoá đơn 83
3.2.12 Giao diện quản lí toà nhà 85
3.2.13 Giao diện quản lí căn hộ 85
3.2.14 Giao diện thêm toà nhà 86
3.2.15 Giao diện chỉnh sửa toà nhà 86
3.2.16 Giao diện xoá toà toà nhà 87
3.2.17 Giao diện thêm căn hộ 88
3.2.18 Giao diện chỉnh sửa căn hộ 88
3.2.19 Giao diện xoá căn hộ 89
3.2.21 Giao diện yêu cầu đặt cọc 90
3.2.22 Giao diện danh sách hợp đồng và hoá đơn 91
3.2.23 Giao diện tạo hoá đơn 91
3.2.24 Giao diện chỉnh sửa hoá đơn 92
3.2.25 Giao diện xoá hoá đơn 93
3.2.26 Giao diện xác nhận thanh toán 93
3.2.27 Giao diện danh sách cuộc trò chuyện 94
3.2.28 Giao diện chi tiết cuộc trò chuyện 95
3.2.29 Giao diện thông tin cuộc trò chuyện 95
3.2.30 Giao diện tạo nhóm trò chuyện 96
3.2.31 Giao diện thêm người dùng vào nhóm trò chuyện 96
3.2.32 Giao diện thông báo của ứng dụng 97
3.2.34 Giao diện cập nhật tài khoản 98
3.2.35 Giao diện đăng nhập (website quản lí) 98
3.2.36 Giao diện quản lí người dùng (website quản lí) 99
3.2.37 Giao diện quản lí toà nhà, căn hộ (website quản lí) 101
3.2.38 Giao diện quản lí hợp đồng (website quản lí) 106
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 109
2 Hạn chế của đề tài 110
Bảng 1: So sánh PostgetSQL và MySQL 36
Bảng 2: Đặc tả hệ thống 44
Bảng 9: Thực thể BUILDING_COMMENT 71
Bảng 12: Thực thể CHAT_ROOM 72
Bảng 13: Thực thể CHAT_MESSAGE 73
Bảng 14: Thực thể CHAT_MEMBER 73
Bảng 15: Thực thể USER_MESSAGE 74
Bảng 16: Thực thể USER_CHAT_ROOM 74
Hình 1: Tính năng của ngôn ngữ Dart 8
Hình 2: Kiến trúc của Flutter 11
Hình 3: Cách hoạt động của Javascript 18
Hình 4: Thành phần Vitural DOM 22
Hình 5: Mô hình giao tiếp client/server trong RPC 29
Hình 7: Các kí hiệu của biểu đồ ca sử dụng 46
Hình 8: Biểu đồ ca sử dụng của hệ thống 46
Hình 9: Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 47
Hình 10: Biểu đồ ca sử dụng nhắn tin 47
Hình 11: Kí hiệu các hoạt động trong biểu đồ hoạt động 48
Hình 12: Kí hiệu đồng hoá các hoạt động trong biểu đồ hoạt động 48
Hình 13: Kí hiệu đồng hoá có điều kiện trong biểu đồ hoạt động 49
Hình 14: Kí hiệu quyết định trong biểu đồ hoạt động 49
Hình 15: Kí hiệu quyết định kết hợp trong biểu đồ hoạt động 49
Hình 16: Biểu đồ hoạt động đăng kí 50
Hình 17: Biểu đồ hoạt động đăng nhập 50
Hình 18: Biểu đồ hoạt động khôi phục mật khẩu 51
Hình 19: Biểu đồ hoạt động tạo toà nhà 51
Hình 20: Biểu đồ hoạt động chỉnh sửa toà nhà 51
Hình 21: Biểu đồ hoạt động xoá toà nhà 52
Hình 22: Biểu đồ hoạt động thêm phòng 52
Hình 23: Biểu đồ hoạt động chỉnh sửa phòng 52
Hình 24: Biểu đồ hoạt động xoá phòng 52
Hình 25: Biểu đồ hoạt động tạo hoá đơn 53
Hình 26: Biểu đồ hoạt động chỉnh sửa hoá đơn 53
Hình 27: Biểu đồ hoạt động xoá phòng 53
Hình 28: Biểu đồ hoạt động đặt cọc 54
Hình 29: Biểu đồ hoạt động xác nhận đặt cọc 54
Hình 30: Biểu đồ hoạt động rút lại tiền cọc 55
Hình 31: Biểu đồ hoạt động thanh toán hoá đơn 55
Hình 32: Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
Hình 33: Biểu đồ hoạt động tạo cuộc trò chuyện 56
Hình 34: Biểu đồ hoạt động tạo nhóm hội thoại 56
Hình 35: Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
Hình 36: Biểu đồ hoạt động xoá cuộc hội thoại 56
Hình 37: Biểu đồ hoạt động nhắn tin 57
Hình 38: Biểu đồ hoạt động gửi hình ảnh 57
Hình 39: Biểu đồ hoạt động xoá tin nhắn 57
Hình 40: Kí hiệu đối tượng trong biểu đồ tuần tự 57
Hình 41: Kí hiệu thời gian hoạt động trong biểu đồ tuần tự 58
Hình 42: Kí hiệu cách gửi thông điệp trong biểu đồ tuần tự 58
Hình 43: Kí hiệu thông điệp trả về trong biểu đồ tuần tự 58
Hình 44: Kí hiệu thông điệp gửi trong biểu đồ tuần tự 59
Hình 45: Kí hiệu tạo/huỷ phương thức trong biểu đồ tuần tự 59
Hình 46: Kí hiệu lặp thông điệp trong biểu đồ tuần tự 59
Hình 47: Kí hiệu lặp thông điệp có điều kiện trong biểu đồ tuần tự 59
Hình 48: Kí hiệu gửi phụ thuộc có điều kiện trong biểu đồ tuần tự 60
Hình 49: Kí hiệu đệ quy trong biểu đồ tuần tự 60
Hình 50: Biểu đồ tuần tự đăng kí với email 60
Hình 51: Biểu đồ tuần tự đăng nhập với email 61
Hình 52: Biểu đồ tuần tự tạo toà nhà 61
Hình 53: Biểu đồ tuần tự chỉnh sửa toà nhà 62
Hình 54: Biểu đồ tuần tự xoá toà nhà 62
Hình 55: Biểu đồ tuần tự thêm phòng 63
Hình 56: Biểu đồ tuần tự chỉnh sửa phòng 63
Hình 57: Biểu đồ tuần tự xoá phòng 64
Hình 58: Biểu đồ tuần tự đặt phòng 65
Hình 59: Biểu đồ tuần tự tạo hoá đơn 66
Hình 60: Biểu đồ tuần tự chỉnh sửa hoá đơn 66
Hình 61: Biểu đồ tuần tự thanh toán hoá đơn 67
Hình 62: Biểu đồ lớp của hệ thống 76
Hình 63: Sơ đồ quan hệ cơ sở dữ liệu 76
Hình 64: Giao diện khởi động 1 78
Hình 65: Giao diện khởi động 2 78
Hình 66: Giao diện khởi động 3 78
Hình 67: Màn hình tạo tài khoản 79
Hình 68: Màn hình đăng kí 79
Hình 69: Màn hình đăng nhập 79
Hình 70: Màn hình tạo tài khoản doanh nghiệp 1 79
Hình 71: Màn hình tạo tài khoản doanh nghiệp 2 79
Hình 72: Màn hình tìm kiếm 80
Hình 73: Màn hình tuỳ chỉnh 80
Hình 74: Màn hình xem bản đồ 80
Hình 75: Màn hình chi tiết 80
Hình 76: Màn hình bình luận toà nhà 80
Hình 77: Màn hình bản đồ vị trí của toà nhà 80
Hình 78: Màn hình chi tiết căn hộ 1 81
Hình 79: Màn hình chi tiết căn hộ 2 81
Hình 80: Màn hình chọn phương pháp 82
Hình 81: Màn hình thông báo 82
Hình 82: Màn hình rút lại tiền cọc 82
Hình 83: Màn hình xác nhận rút lại tiền cọc 82
Hình 84: Giao diện danh sách hoá đơn 83
Hình 85: Màn hình chi tiết hoá đơn 83
Hình 86: Màn hình chọn phương thức thanh toán 84
Hình 87: Màn hình xác nhận thanh toán thành công 84
Hình 88: Màn hình chờ xác nhận đã thanh toán 84
Hình 89: Màn hình danh sách hợp đồng 84
Hình 90: Màn hình chi tiết hoá đơn (của người dùng) 84
Hình 91: Màn hình quản lí toà nhà 85
Hình 92: Màn hình chi tiết toà nhà 85
Hình 93: Màn hình căn hộ 85
Hình 94: Màn hình căn hộ (1) 85
Hình 95: Màn hình căn hộ (2) 85
Hình 96: Màn hình thêm toà nhà (1) 86
Hình 98: Màn hình ghim vị trí toà nhà trên bản đồ 86
Hình 99: Màn hình chọn chỉnh sửa 87
Hình 100: Màn hình chỉnh sửa toà nhà (1) 87
Hình 101: Màn hình chỉnh sửa toà nhà (2) 87
Hình 102: Màn hình xoá toà nhà (1) 87
Hình 103: Màn hình xoá toà nhà (2) 87
Hình 104: Màn hình thêm phòng mới (1) 88
Hình 105: Màn hình thêm phòng mới (2) 88
Hình 106: Màn hình chỉnh sửa phòng (1) 89
Hình 107: Màn hình chính sửa phòng (2) 89
Hình 108: Màn hình chỉnh sửa phòng (3) 89
Hình 109: Màn hình xoá phòng (1) 89
Hình 110: Màn hình xoá phòng (2) 89
Hình 111: Màn hình quản lí tài chính 90
Hình 112: Màn hình danh sách các yêu cầu đặt cọc 90
Hình 113: Màn hình danh sách các hợp đồng 91
Hình 114: Màn hình danh sách các hoá đơn 91
Hình 115: Màn hình tạo hoá đơn mới (1) 92
Hình 116: Màn hình tạo hoá đơn (2) 92
Hình 117: Màn hình chi tiết hoá đơn 92
Hình 118: Màn hình chỉnh sửa hoá đơn (1) 92
Hình 119: Màn hình chỉnh sửa hoá đơn (2) 92
Hình 120: Màn hình xoá hoá đơn 93
Hình 121: Màn hình xác nhận xoá hoá đơn 93
Hình 122: Màn hình xác nhận thanh toán 94
Hình 123: Màn hình thanh toán thành công 94
Hình 124: Màn hình danh sách các cuộc trò chuyện 94
Hình 125: Màn hình cuộc trò chuyện 1-1 95
Hình 126: Màn hình cuộc trò chuyện nhóm 95
Hình 127: Màn hình thông tin người trò chuyện 95
Hình 128: Màn hình thông tin trò chuyện nhóm 95
Hình 129: Màn hình danh bạ người dùng 96
Hình 130: Màn hình tạo nhóm trò chuyện 96
Hình 131: Màn hình chi tiết nhóm 97
Hình 132: Màn hình thêm người dùng 97
Hình 133: Màn hình sau khi thêm thành công 97
Hình 134: Màn hình thông báo (1) 97
Hình 135: Màn hình thông báo (2) 97
Hình 136: Màn hình tài khoản người dùng 98
Hình 137: Màn hình chỉnh sửa tài khoản 98
Hình 138: Màn hình chỉnh sửa mật khẩu 98
Hình 139: Trang web đăng nhập dành cho người quản lí 99
Hình 140: Trang web quản lí người dùng 99
Hình 141: Thông tin chi tiết của tài khoản 100
Hình 142: Form thêm mới tài khoản 100
Hình 143: Form chỉnh sửa tài khoản 101
Hình 145: Trang web quản lí toà nhà 102
Hình 146: Chi tiết toà nhà 102
Hình 147: Form thêm mới toà nhà 103
Hình 148: Form chỉnh sửa toà nhà 103
Hình 150: Chi tiết căn hộ 104
Hình 151: Form thêm mới căn hộ 105
Hình 152: Form chỉnh sửa căn hộ 106
Hình 154: Trang web quản lí hợp đồng 107
Hình 155: Chi tiết hợp đồng 107
Hình 156: Chỉnh sửa hợp đồng 108
Hình 157: Xác nhận kết thúc hợp đồng 108
1 Lí do chọn đề tài
Ngày nay, việc thuê trọ trở thành mối quan tâm lớn đối với sinh viên và người lao động sống xa nhà Họ mong muốn tìm kiếm nơi ở an toàn, sạch sẽ và thuận tiện cho việc đi học hoặc làm việc Nhà trọ và phòng trọ thường được xây dựng ở những vị trí mặt tiền đường, nhưng với nhu cầu ngày càng tăng, nhiều nhà trọ cũng xuất hiện ở các hẻm, ngõ với mức giá thuê đa dạng.
Quản lý người thuê trọ là một thách thức lớn, đặc biệt với các dãy nhà trọ nhỏ từ 10 - 20 phòng cho đến những cơ sở lớn lên đến cả trăm phòng Mỗi phòng trọ tương đương với một khách hàng, dẫn đến nhiều vấn đề phát sinh khác nhau, đặc biệt khi đối tượng khách hàng rất đa dạng, từ sinh viên đến công nhân và người lao động nhập cư Việc quản lý một số lượng lớn phòng trọ đòi hỏi khối lượng công việc khổng lồ, bao gồm sửa chữa hư hỏng, tân trang và nâng cấp khu nhà trọ, cũng như đảm bảo an ninh và nhắc nhở khách hàng thực hiện nghĩa vụ thanh toán Do đó, để giữ chân khách thuê, nhà đầu tư cần có các biện pháp hiệu quả nhằm đáp ứng mong muốn của người thuê và xử lý các vấn đề phát sinh.
Khi tìm phòng trọ, sinh viên và người lao động cần chú ý đến nhiều yếu tố quan trọng như chất lượng phòng ở, an ninh và vị trí Họ nên kiểm tra tình trạng tường, sơn, cửa chính, ổ khóa, cũng như hệ thống ống nước để đảm bảo an toàn và thoải mái Vấn đề an ninh và giao dịch cũng rất quan trọng, vì có nhiều trường hợp lừa đảo liên quan đến giấy tờ cho thuê Giá cả là một yếu tố hàng đầu, thường thay đổi tùy theo khu vực và loại hình căn hộ Người thuê cần nắm rõ các khoản phí bổ sung như điện, nước, wifi Hiện nay, việc tìm phòng trọ đã dễ dàng hơn nhờ vào các nền tảng trực tuyến như Google và Facebook, nơi có nhiều hội nhóm chuyên cung cấp thông tin về nhà trọ, nhưng giao dịch và hợp đồng vẫn cần thực hiện qua ứng dụng quản lý để bảo đảm an toàn.
Sự hỗ trợ mạnh mẽ từ các ngôn ngữ lập trình và sự phát triển của các framework đã thúc đẩy nhóm chúng tôi lựa chọn đề tài “Nghiên cứu lập trình di động đa nền tảng và xây dựng ứng dụng cho thuê phòng trọ” với sự kết hợp giữa Flutter, Golang và GraphQL Đề tài này không chỉ đáp ứng yêu cầu của chương trình đào tạo mà còn thể hiện mong muốn ứng dụng công nghệ để tìm ra giải pháp hiệu quả cho việc cho thuê phòng trọ trực tuyến.
Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết công cho thuê phòng trọ Các mục tiêu cụ thể của đề tài gồm:
- Tìm ra phương pháp hiệu quả trong việc cho thuê phòng trọ của người cho thuê.
- Tìm ra phương pháp hiệu quả trong việc đi tìm phòng trọ của người đi thuê.
- Tìm ra phương pháp quản lí hiệu quả các hợp đồng cho thuê, hoá đơn chi
- Ứng dụng ngôn ngữ Dart và công nghệ Flutter vào xây dựng ứng dụng di động cho thuê phòng trọ.
- Ứng dụng ngôn ngữ GoLang và công nghệ GraphQL và GRPC vào xây dựng backend cho ứng dụng.
- Ứng dụng công nghệ React JS vào xây dựng website quản lí cho người quản trị.
3 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu gồm:
- Các chức năng của người cho thuê, người đi thuê.
- Thông tin các tỉnh/thành, quận/huyện, phường/xã.
- Thông tin liên quan đến hợp đồng cho thuê.
- Thông tin liên quan đến hoá đơn thanh toán.
- Cổng thanh toán ví điện tử.
- Các chức năng nhắn tin riêng và nhắn tin nhóm.
Giới hạn phạm vi nghiên cứu trong đề tài gồm:
Chúng tôi xây dựng hệ thống kết nối hiệu quả giữa người cho thuê và người đi thuê trọ, giúp họ dễ dàng tiếp cận nhau Người cho thuê có thể nhanh chóng đăng tải và quản lý thông tin phòng cho thuê, trong khi người đi thuê dễ dàng tìm kiếm phòng với giá cả và tiện ích hợp lý Hệ thống cũng hỗ trợ quản lý hợp đồng thanh toán và cho thuê một cách tiện lợi, mang lại trải nghiệm tốt nhất cho cả hai bên.
- Đề tài được xây dựng bởi các ngôn ngữ lập trình như: Dart, Javascript,
Go, HTML, CSS, với công nghệ Flutter, GoLang, GraphQL, GRPC và ReactJS.
Phương pháp lý thuyết trong nghiên cứu này bao gồm việc xem xét các tài liệu liên quan đến ngôn ngữ lập trình và các framework như Flutter, GoLang và ReactJS Nghiên cứu cũng tập trung vào nhu cầu của cả người cho thuê và người đi thuê, nhằm hiểu rõ hơn về các yêu cầu và xu hướng trong lĩnh vực này.
Phương pháp thực nghiệm trong nghiên cứu và xây dựng các phương pháp đặt cọc, thuê phòng, tìm kiếm phòng trọ, và trao đổi thông tin qua tin nhắn giúp quản lý hiệu quả việc thuê phòng Việc phát triển ứng dụng thuê phòng trọ và đánh giá kết quả sẽ nâng cao trải nghiệm người dùng và tối ưu hóa quy trình tìm kiếm chỗ ở.
5 Ý nghĩa của đề tài Đề tài đang hướng vào ứng dụng công nghệ thông tin trong lĩnh vực bất động sản, cụ thể là ứng dụng cho thuê phòng trọ Việc ứng dụng công nghệ thông tin vào lĩnh vực này nhằm đẩy mạnh quá trình áp dụng công nghệ thông tin vào cuộc sống Và đề tài hướng đến người sử dụng là tất cả mọi người, đặc biệt có ích đối với các sinh viên, người lao động sống xa nhà, hay người môi giới,… Đóng góp chính của đề tài là đề xuất phương pháp thích hợp cho người đi thuê và người cho thuê một cách nhanh chóng và rõ ràng, gồm đầy đủ các bản hợp đồng, hoá đơn thanh toán và các cuộc trao đổi qua tin nhắn.
6 Bố cục của đề tài
Dựa trên các nội dung nghiên cứu, đồ án được cấu trúc thành các chương nhằm đạt được mục tiêu đã đề ra và đảm bảo tính logic, bên cạnh phần mở đầu và kết luận.
Chương 1 Cơ sở lý thuyết Chương này trình bày kết quả nghiên cứu về lập trình đa nền tảng; trình bày các cơ sở lí thuyết về ngôn ngữ lập trình: Dart, GoLang, Javascript cùng các framework tương ứng Flutter, GraphQL, GRPC, ReactJS được sử dụng trong việc xây dựng đề tài.
Chương 2: Phân tích và thiết kế hệ thống Chương này giới thiệu bài toán và đưa ra các mô hình hệ thống; đề xuất các ý tưởng, chức năng cho phần mềm; trình bày các mô hình thực thể quan hệ, sơ đồ phân cấp chức năng Phân tích chi tiết các chức năng của người sử dụng và người quản lí; thiết kế giao diện người dùng và thiết dữ liệu, chức năng cho hệ thống.
Chương 3: Cài đặt chương trình và kết quả Trong chương này, nêu kết quả thực hiện được của đề tài và trình bày cách cài đặt chương trình.
7 Đóng góp của đồ án
Trong đồ án thực tập tốt nghiệp này, chúng em đã áp dụng linh hoạt kiến thức học được để thực hiện đề tài Chúng em đã cùng nhau trao đổi và bàn bạc, đưa ra ý tưởng cũng như đề xuất hướng các tác vụ của người dùng với đơn vị thực tập Mục tiêu là xây dựng một đồ án hoàn chỉnh và sản phẩm thân thiện với người sử dụng Những đóng góp chính của đồ án thực tập tốt nghiệp rất đáng chú ý.
Phân tích rõ ràng vai trò của người sử dụng trong hệ thống
Người thuê trọ hoặc căn hộ có thể dễ dàng tìm kiếm các toà nhà và dãy trọ, đồng thời đặt cọc phòng mong muốn Hệ thống cho phép người dùng thanh toán các hoá đơn như tiền điện, nước và chi phí thuê phòng, giúp quản lý mọi giao dịch thuê và cho thuê một cách hiệu quả Hợp đồng thuê phòng được trình bày đầy đủ và rõ ràng với tất cả thông tin cần thiết.
Người cho thuê trọ hoặc căn hộ có thể đăng tải thông tin về tòa nhà, dãy trọ và các phòng cho thuê, bao gồm tiện ích, giá đặt cọc và giá thuê Họ cũng xác nhận yêu cầu đặt cọc phòng để lập hợp đồng cho người thuê Chủ nhà có khả năng tạo hóa đơn điện, nước và các chi phí liên quan đến phòng, đồng thời quản lý việc chi trả hóa đơn qua ứng dụng.
- Đối với người quản lí, họ có thể quản lí toàn bộ các thông tin người dùng, toà nhà, căn hộ, hoá đơn, hợp đồng của hệ thống
Phân tích và thiết kế chức năng thanh toán hoá đơn trực tuyến
Nghiên cứu và triển khai chức năng thanh toán hóa đơn trực tuyến nhằm mang lại sự nhanh chóng, tiện lợi và tiết kiệm thời gian cho người dùng Thanh toán trực tuyến giúp người dùng dễ dàng quản lý và kiểm soát tài chính cũng như trạng thái hóa đơn của mình Hơn nữa, việc áp dụng thanh toán trực tuyến không chỉ nâng cao tính chuyên nghiệp trong kinh doanh mà còn cải thiện quy trình hoạt động của ứng dụng.
Thiết kế chức năng nhắn tin cá nhân và nhắn tin nhóm cho ứng dụng
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu đề tài
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
Hoàn thành nội dung và viết báo cáo chương 2.
Hoàn thiện mã nguồn cho tất cả chức năng của ứng dụng và trang web (bao gồm Frontend và Backend).
Thiết kế cơ sở dữ liệu
Lập trình giao diện cơ bản ứng dụng Trịnh Nhật Hạ Vy
Lập trình giao diện dành cho doanh nghiệp của ứng dụng
Lập trình giao diện phương thức thanh toán cho ứng dụng
Lập trình API cơ bản
Lập trình API cho doanh nghiệp
Lập trình API cho người thuê
Lập trình API cho người quản trị
Lập trình API tin nhắn
Lập trình API phương thức thanh toán
Chương 3: Cài đặt chương trình và kết quả
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
04/04/2022 – 08/04/2022 Hoàn thành nội dung và viết báo cáo chương 3.
Chương 4: Kết luận và hướng phát triển
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
11/04/2022 – 15/04/2022Hoàn thành chương 4 Hoàn thiện sản phẩm và báo cáo TTTN4.2 Định hướng phát triển
KẾ HOẠCH THỰC HIỆN ĐỀ TÀI CỦA NHÓM
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
1 Lí do chọn đề tài 2
3 Đối tượng và phạm vi nghiên cứu 4
6 Bố cục của đề tài 4
7 Đóng góp của đồ án 5
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 7
1.1 Tổng quan về ngôn ngữ Dart 7
1.1.2 Lịch sử hình thành ngôn ngữ Dart 7
1.1.3 Tại sao sử dụng ngôn ngữ Dart 8
1.2 Tổng quan về framework Flutter 10
1.2.5 Ưu và nhược điểm của Flutter 14
1.3 Tổng quan về ngôn ngữ Javascript 15
1.3.5 Sự khác nhau giữa Javascript với các ngôn ngữ lập trình web khác 20
1.4 Tổng quan về framework ReactJS 21
1.4.3 Ưu và nhược điểm của ReactJS 23
1.4.4 Sự phát triển của ReactJS 24
1.5 Tổng quan về ngôn ngữ Golang 25
1.5.2 Lịch sử hình thành ngôn ngữ Golang 25
1.5.4 Ưu và nhược điểm của Golang 27
1.5.5 Các lĩnh vực ứng dụng Golang 28
1.6.3 Ưu và nhược điểm của gRPC 31
1.7.4 Ưu và nhược điểm GraphQL 34
1.8 Hệ quản trị cơ sở dữ liệu PostgetQL 34
1.8.4 So sánh PostgetSQL và MySQL 36
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 40
2.1 Phân tích yêu cầu đề tài 40
2.4 Biểu đồ ca sử dụng 44
2.4.1 Biểu đồ ca sử dụng của hệ thống 46
2.4.2 Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 46
2.4.3 Biểu đồ ca sử dụng nhắn tin của hệ thống 47
2.5.1 Biểu đồ hoạt động đăng kí 49
2.5.2 Biểu đồ hoạt động đăng nhập 50
2.5.3 Biểu đồ hoạt động khôi phục mật khẩu 50
2.5.4 Biểu đồ hoạt động tạo toà nhà 51
2.5.5 Biểu đồ hoạt động chỉnh sửa toà nhà 51
2.5.6 Biểu đồ hoạt động xoá toà nhà 51
2.5.7 Biểu đồ hoạt động thêm phòng 52
2.5.8 Biểu đồ hoạt động chỉnh sửa phòng 52
2.5.9 Biểu đồ hoạt động xoá phòng 52
2.5.10 Biểu đồ hoạt động tạo hoá đơn 52
2.5.11 Biểu đồ hoạt động chỉnh sửa hoá đơn 53
2.5.12 Biểu đồ hoạt động xoá hoá đơn 53
2.5.13 Biểu đồ hoạt động đặt cọc 53
2.5.14 Biểu đồ hoạt động xác nhận đặt cọc 54
2.5.15 Biểu đồ hoạt động rút lại tiền đặt cọc 54
2.5.16 Biểu đồ hoạt động thanh toán hoá đơn 55
2.5.17 Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
2.5.18 Biểu đồ hoạt động tạo cuộc trò chuyện 55
2.5.19 Biểu đồ hoạt động tạo nhóm hội thoại 56
2.5.20 Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
2.5.21 Biểu đồ hoạt động xoá cuộc hội thoại 56
2.5.22 Biểu đồ hoạt động nhắn tin 57
2.5.23 Biểu đồ hoạt động gửi hình ảnh 57
2.5.24 Biểu đồ hoạt động xoá tin nhắn 57
2.6.1 Biểu đồ tuần tự đăng kí với email 60
2.6.2 Biểu đồ tuần tự đăng nhập với email 60
2.6.3 Biểu đồ tuần tự tạo toà nhà 61
2.6.5 Biểu đồ tuần tự xoá toà nhà 62
2.6.6 Biểu đồ tuần tự thêm phòng 62
2.6.7 Biểu đồ tuần tự chỉnh sửa phòng 63
2.6.8 Biểu đồ tuần tự xoá phòng 63
2.6.9 Biểu đồ tuần tự đặt phòng 64
2.6.10 Biểu đồ tuần tự tạo hoá đơn 65
2.6.11 Biểu đồ tuần tự chỉnh sửa hoá đơn 66
2.6.12 Biểu đồ tuần tự thanh toán hoá đơn 66
2.7 Thiết kế cơ sở dữ liệu 67
2.7.1 Thiết kế bảng dữ liệu 67
2.7.2 Thiết kế biểu đồ lớp 75
2.7.3 Mô hình cơ sở dữ liệu 76
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ 77
3.1.1 Cài đặt chương trình hệ thống 77
3.1.3 Cài đặt trang web quản lí 77
3.2.2 Giao diện đăng nhập/đăng kí 78
3.2.3 Giao diện tạo tài khoản doanh nghiệp 79
3.2.4 Giao diện tìm kiếm toà nhà 79
3.2.5 Giao diện chi tiết toà nhà 80
3.2.6 Giao diện chi tiết căn hộ 81
3.2.7 Giao diện đặt cọc phòng 81
3.2.8 Giao diện rút lại tiền cọc 82
3.2.9 Giao diện hoá đơn của người dùng 83
3.2.10 Giao diện thanh toán hoá đơn 83
3.2.12 Giao diện quản lí toà nhà 85
3.2.13 Giao diện quản lí căn hộ 85
3.2.14 Giao diện thêm toà nhà 86
3.2.15 Giao diện chỉnh sửa toà nhà 86
3.2.16 Giao diện xoá toà toà nhà 87
3.2.17 Giao diện thêm căn hộ 88
3.2.18 Giao diện chỉnh sửa căn hộ 88
3.2.19 Giao diện xoá căn hộ 89
3.2.21 Giao diện yêu cầu đặt cọc 90
3.2.22 Giao diện danh sách hợp đồng và hoá đơn 91
3.2.23 Giao diện tạo hoá đơn 91
3.2.24 Giao diện chỉnh sửa hoá đơn 92
3.2.25 Giao diện xoá hoá đơn 93
3.2.26 Giao diện xác nhận thanh toán 93
3.2.27 Giao diện danh sách cuộc trò chuyện 94
3.2.28 Giao diện chi tiết cuộc trò chuyện 95
3.2.29 Giao diện thông tin cuộc trò chuyện 95
3.2.30 Giao diện tạo nhóm trò chuyện 96
3.2.31 Giao diện thêm người dùng vào nhóm trò chuyện 96
3.2.32 Giao diện thông báo của ứng dụng 97
3.2.34 Giao diện cập nhật tài khoản 98
3.2.35 Giao diện đăng nhập (website quản lí) 98
3.2.36 Giao diện quản lí người dùng (website quản lí) 99
3.2.37 Giao diện quản lí toà nhà, căn hộ (website quản lí) 101
3.2.38 Giao diện quản lí hợp đồng (website quản lí) 106
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 109
2 Hạn chế của đề tài 110
Bảng 1: So sánh PostgetSQL và MySQL 36
Bảng 2: Đặc tả hệ thống 44
Bảng 9: Thực thể BUILDING_COMMENT 71
Bảng 12: Thực thể CHAT_ROOM 72
Bảng 13: Thực thể CHAT_MESSAGE 73
Bảng 14: Thực thể CHAT_MEMBER 73
Bảng 15: Thực thể USER_MESSAGE 74
Bảng 16: Thực thể USER_CHAT_ROOM 74
Hình 1: Tính năng của ngôn ngữ Dart 8
Hình 2: Kiến trúc của Flutter 11
Hình 3: Cách hoạt động của Javascript 18
Hình 4: Thành phần Vitural DOM 22
Hình 5: Mô hình giao tiếp client/server trong RPC 29
Hình 7: Các kí hiệu của biểu đồ ca sử dụng 46
Hình 8: Biểu đồ ca sử dụng của hệ thống 46
Hình 9: Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 47
Hình 10: Biểu đồ ca sử dụng nhắn tin 47
Hình 11: Kí hiệu các hoạt động trong biểu đồ hoạt động 48
Hình 12: Kí hiệu đồng hoá các hoạt động trong biểu đồ hoạt động 48
Hình 13: Kí hiệu đồng hoá có điều kiện trong biểu đồ hoạt động 49
Hình 14: Kí hiệu quyết định trong biểu đồ hoạt động 49
Hình 15: Kí hiệu quyết định kết hợp trong biểu đồ hoạt động 49
Hình 16: Biểu đồ hoạt động đăng kí 50
Hình 17: Biểu đồ hoạt động đăng nhập 50
Hình 18: Biểu đồ hoạt động khôi phục mật khẩu 51
Hình 19: Biểu đồ hoạt động tạo toà nhà 51
Hình 20: Biểu đồ hoạt động chỉnh sửa toà nhà 51
Hình 21: Biểu đồ hoạt động xoá toà nhà 52
Hình 22: Biểu đồ hoạt động thêm phòng 52
Hình 23: Biểu đồ hoạt động chỉnh sửa phòng 52
Hình 24: Biểu đồ hoạt động xoá phòng 52
Hình 25: Biểu đồ hoạt động tạo hoá đơn 53
Hình 26: Biểu đồ hoạt động chỉnh sửa hoá đơn 53
Hình 27: Biểu đồ hoạt động xoá phòng 53
Hình 28: Biểu đồ hoạt động đặt cọc 54
Hình 29: Biểu đồ hoạt động xác nhận đặt cọc 54
Hình 30: Biểu đồ hoạt động rút lại tiền cọc 55
Hình 31: Biểu đồ hoạt động thanh toán hoá đơn 55
Hình 32: Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
Hình 33: Biểu đồ hoạt động tạo cuộc trò chuyện 56
Hình 34: Biểu đồ hoạt động tạo nhóm hội thoại 56
Hình 35: Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
Hình 36: Biểu đồ hoạt động xoá cuộc hội thoại 56
Hình 37: Biểu đồ hoạt động nhắn tin 57
Hình 38: Biểu đồ hoạt động gửi hình ảnh 57
Hình 39: Biểu đồ hoạt động xoá tin nhắn 57
Hình 40: Kí hiệu đối tượng trong biểu đồ tuần tự 57
Hình 41: Kí hiệu thời gian hoạt động trong biểu đồ tuần tự 58
Hình 42: Kí hiệu cách gửi thông điệp trong biểu đồ tuần tự 58
Hình 43: Kí hiệu thông điệp trả về trong biểu đồ tuần tự 58
Hình 44: Kí hiệu thông điệp gửi trong biểu đồ tuần tự 59
Hình 45: Kí hiệu tạo/huỷ phương thức trong biểu đồ tuần tự 59
Hình 46: Kí hiệu lặp thông điệp trong biểu đồ tuần tự 59
Hình 47: Kí hiệu lặp thông điệp có điều kiện trong biểu đồ tuần tự 59
Hình 48: Kí hiệu gửi phụ thuộc có điều kiện trong biểu đồ tuần tự 60
Hình 49: Kí hiệu đệ quy trong biểu đồ tuần tự 60
Hình 50: Biểu đồ tuần tự đăng kí với email 60
Hình 51: Biểu đồ tuần tự đăng nhập với email 61
Hình 52: Biểu đồ tuần tự tạo toà nhà 61
Hình 53: Biểu đồ tuần tự chỉnh sửa toà nhà 62
Hình 54: Biểu đồ tuần tự xoá toà nhà 62
Hình 55: Biểu đồ tuần tự thêm phòng 63
Hình 56: Biểu đồ tuần tự chỉnh sửa phòng 63
Hình 57: Biểu đồ tuần tự xoá phòng 64
Hình 58: Biểu đồ tuần tự đặt phòng 65
Hình 59: Biểu đồ tuần tự tạo hoá đơn 66
Hình 60: Biểu đồ tuần tự chỉnh sửa hoá đơn 66
Hình 61: Biểu đồ tuần tự thanh toán hoá đơn 67
Hình 62: Biểu đồ lớp của hệ thống 76
Hình 63: Sơ đồ quan hệ cơ sở dữ liệu 76
Hình 64: Giao diện khởi động 1 78
Hình 65: Giao diện khởi động 2 78
Hình 66: Giao diện khởi động 3 78
Hình 67: Màn hình tạo tài khoản 79
Hình 68: Màn hình đăng kí 79
Hình 69: Màn hình đăng nhập 79
Hình 70: Màn hình tạo tài khoản doanh nghiệp 1 79
Hình 71: Màn hình tạo tài khoản doanh nghiệp 2 79
Hình 72: Màn hình tìm kiếm 80
Hình 73: Màn hình tuỳ chỉnh 80
Hình 74: Màn hình xem bản đồ 80
Hình 75: Màn hình chi tiết 80
Hình 76: Màn hình bình luận toà nhà 80
Hình 77: Màn hình bản đồ vị trí của toà nhà 80
Hình 78: Màn hình chi tiết căn hộ 1 81
Hình 79: Màn hình chi tiết căn hộ 2 81
Hình 80: Màn hình chọn phương pháp 82
Hình 81: Màn hình thông báo 82
Hình 82: Màn hình rút lại tiền cọc 82
Hình 83: Màn hình xác nhận rút lại tiền cọc 82
Hình 84: Giao diện danh sách hoá đơn 83
Hình 85: Màn hình chi tiết hoá đơn 83
Hình 86: Màn hình chọn phương thức thanh toán 84
Hình 87: Màn hình xác nhận thanh toán thành công 84
Hình 88: Màn hình chờ xác nhận đã thanh toán 84
Hình 89: Màn hình danh sách hợp đồng 84
Hình 90: Màn hình chi tiết hoá đơn (của người dùng) 84
Hình 91: Màn hình quản lí toà nhà 85
Hình 92: Màn hình chi tiết toà nhà 85
Hình 93: Màn hình căn hộ 85
Hình 94: Màn hình căn hộ (1) 85
Hình 95: Màn hình căn hộ (2) 85
Hình 96: Màn hình thêm toà nhà (1) 86
Hình 98: Màn hình ghim vị trí toà nhà trên bản đồ 86
Hình 99: Màn hình chọn chỉnh sửa 87
Hình 100: Màn hình chỉnh sửa toà nhà (1) 87
Hình 101: Màn hình chỉnh sửa toà nhà (2) 87
Hình 102: Màn hình xoá toà nhà (1) 87
Hình 103: Màn hình xoá toà nhà (2) 87
Hình 104: Màn hình thêm phòng mới (1) 88
Hình 105: Màn hình thêm phòng mới (2) 88
Hình 106: Màn hình chỉnh sửa phòng (1) 89
Hình 107: Màn hình chính sửa phòng (2) 89
Hình 108: Màn hình chỉnh sửa phòng (3) 89
Hình 109: Màn hình xoá phòng (1) 89
Hình 110: Màn hình xoá phòng (2) 89
Hình 111: Màn hình quản lí tài chính 90
Hình 112: Màn hình danh sách các yêu cầu đặt cọc 90
Hình 113: Màn hình danh sách các hợp đồng 91
Hình 114: Màn hình danh sách các hoá đơn 91
Hình 115: Màn hình tạo hoá đơn mới (1) 92
Hình 116: Màn hình tạo hoá đơn (2) 92
Hình 117: Màn hình chi tiết hoá đơn 92
Hình 118: Màn hình chỉnh sửa hoá đơn (1) 92
Hình 119: Màn hình chỉnh sửa hoá đơn (2) 92
Hình 120: Màn hình xoá hoá đơn 93
Hình 121: Màn hình xác nhận xoá hoá đơn 93
Hình 122: Màn hình xác nhận thanh toán 94
Hình 123: Màn hình thanh toán thành công 94
Hình 124: Màn hình danh sách các cuộc trò chuyện 94
Hình 125: Màn hình cuộc trò chuyện 1-1 95
Hình 126: Màn hình cuộc trò chuyện nhóm 95
Hình 127: Màn hình thông tin người trò chuyện 95
Hình 128: Màn hình thông tin trò chuyện nhóm 95
Hình 129: Màn hình danh bạ người dùng 96
Hình 130: Màn hình tạo nhóm trò chuyện 96
Hình 131: Màn hình chi tiết nhóm 97
Hình 132: Màn hình thêm người dùng 97
Hình 133: Màn hình sau khi thêm thành công 97
Hình 134: Màn hình thông báo (1) 97
Hình 135: Màn hình thông báo (2) 97
Hình 136: Màn hình tài khoản người dùng 98
Hình 137: Màn hình chỉnh sửa tài khoản 98
Hình 138: Màn hình chỉnh sửa mật khẩu 98
Hình 139: Trang web đăng nhập dành cho người quản lí 99
Hình 140: Trang web quản lí người dùng 99
Hình 141: Thông tin chi tiết của tài khoản 100
Hình 142: Form thêm mới tài khoản 100
Hình 143: Form chỉnh sửa tài khoản 101
Hình 145: Trang web quản lí toà nhà 102
Hình 146: Chi tiết toà nhà 102
Hình 147: Form thêm mới toà nhà 103
Hình 148: Form chỉnh sửa toà nhà 103
Hình 150: Chi tiết căn hộ 104
Hình 151: Form thêm mới căn hộ 105
Hình 152: Form chỉnh sửa căn hộ 106
Hình 154: Trang web quản lí hợp đồng 107
Hình 155: Chi tiết hợp đồng 107
Hình 156: Chỉnh sửa hợp đồng 108
Hình 157: Xác nhận kết thúc hợp đồng 108
1 Lí do chọn đề tài
Ngày nay, việc thuê trọ trở thành mối quan tâm lớn, đặc biệt đối với sinh viên và người lao động sống xa nhà Họ mong muốn tìm được nơi ở an toàn, sạch sẽ và thuận tiện cho việc học tập, làm việc Nhà trọ thường nằm ở những vị trí mặt tiền đường, nhưng hiện nay cũng được xây dựng ở các hẻm, ngõ với chi phí thuê đa dạng tùy thuộc vào vị trí.
Quản lý người thuê trọ là một thách thức lớn, đặc biệt với dãy nhà trọ từ 10 - 20 phòng đến hàng trăm phòng Mỗi phòng đều đại diện cho một khách hàng với nhu cầu và vấn đề riêng, từ sinh viên đến công nhân và hộ gia đình trẻ Sự đa dạng này khiến việc quản lý trở nên phức tạp và đòi hỏi nhà đầu tư phải có các biện pháp hiệu quả để giữ chân khách Công việc không chỉ bao gồm sửa chữa hư hỏng và nâng cấp khu nhà trọ, mà còn liên quan đến quản lý an ninh và nhắc nhở khách hàng tuân thủ quy định Việc ghi chỉ số đồng hồ điện nước và thu tiền nhà cũng trở thành một nhiệm vụ đầy thử thách, khi không phải khách nào cũng ý thức và chấp hành đúng quy định.
Khi tìm phòng trọ, sinh viên và người lao động cần chú ý đến nhiều yếu tố như chất lượng phòng, an ninh và giá cả Cần kiểm tra độ chắc chắn của tường, chất lượng sơn, an toàn của cửa và ổ khóa, cũng như sự thông thoáng của phòng Vị trí và an ninh khu vực cũng rất quan trọng để đảm bảo một chỗ ở tốt Người thuê cần thận trọng khi giao dịch với chủ nhà hoặc môi giới, tránh bị lừa đảo do thiếu giấy tờ pháp lý Giá thuê thay đổi theo từng khu vực và loại hình căn hộ, vì vậy cần tìm hiểu kỹ các khoản phí phát sinh như điện, nước, wifi Hiện nay, việc tìm phòng trọ đã dễ dàng hơn thông qua các trang mạng xã hội và nhóm chuyên cho thuê, nhưng các thỏa thuận và hợp đồng vẫn nên được thực hiện qua ứng dụng quản lý giao dịch để đảm bảo an toàn.
Sự hỗ trợ mạnh mẽ từ các ngôn ngữ lập trình và sự ra đời của các framework đã thúc đẩy nhóm em chọn đề tài “Nghiên cứu lập trình di động đa nền tảng và xây dựng ứng dụng cho thuê phòng trọ” kết hợp giữa Flutter, Golang và GraphQL Đề tài này không chỉ đáp ứng chương trình đào tạo mà còn mong muốn ứng dụng công nghệ để tìm hiểu và đưa ra giải pháp hiệu quả cho việc cho thuê phòng trọ trực tuyến.
Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết công cho thuê phòng trọ Các mục tiêu cụ thể của đề tài gồm:
- Tìm ra phương pháp hiệu quả trong việc cho thuê phòng trọ của người cho thuê.
- Tìm ra phương pháp hiệu quả trong việc đi tìm phòng trọ của người đi thuê.
- Tìm ra phương pháp quản lí hiệu quả các hợp đồng cho thuê, hoá đơn chi
- Ứng dụng ngôn ngữ Dart và công nghệ Flutter vào xây dựng ứng dụng di động cho thuê phòng trọ.
- Ứng dụng ngôn ngữ GoLang và công nghệ GraphQL và GRPC vào xây dựng backend cho ứng dụng.
- Ứng dụng công nghệ React JS vào xây dựng website quản lí cho người quản trị.
3 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu gồm:
- Các chức năng của người cho thuê, người đi thuê.
- Thông tin các tỉnh/thành, quận/huyện, phường/xã.
- Thông tin liên quan đến hợp đồng cho thuê.
- Thông tin liên quan đến hoá đơn thanh toán.
- Cổng thanh toán ví điện tử.
- Các chức năng nhắn tin riêng và nhắn tin nhóm.
Giới hạn phạm vi nghiên cứu trong đề tài gồm:
Chúng tôi phát triển một hệ thống kết nối hiệu quả giữa người cho thuê và người thuê trọ, giúp họ dễ dàng tiếp cận nhau Người cho thuê có thể nhanh chóng đăng tải và quản lý thông tin phòng cho thuê, trong khi người thuê có thể tìm kiếm phòng với giá cả và tiện ích hợp lý Hệ thống cũng hỗ trợ cả hai bên trong việc quản lý hợp đồng thanh toán và thuê mướn một cách thuận tiện.
- Đề tài được xây dựng bởi các ngôn ngữ lập trình như: Dart, Javascript,
Go, HTML, CSS, với công nghệ Flutter, GoLang, GraphQL, GRPC và ReactJS.
Phương pháp lý thuyết trong nghiên cứu này tập trung vào việc phân tích các tài liệu liên quan đến ngôn ngữ lập trình và framework, bao gồm Flutter, GoLang và ReactJS Nghiên cứu cũng xem xét nhu cầu của cả người cho thuê và người đi thuê, nhằm cung cấp cái nhìn toàn diện về thị trường và các yếu tố ảnh hưởng đến sự lựa chọn công nghệ.
Phương pháp thực nghiệm trong nghiên cứu và xây dựng các phương pháp đặt cọc, thuê phòng, tìm phòng và trao đổi thông tin qua tin nhắn là rất quan trọng Việc quản lý hiệu quả trong quá trình thuê phòng trọ sẽ được cải thiện thông qua phát triển ứng dụng thuê phòng trọ và đánh giá kết quả đạt được.
5 Ý nghĩa của đề tài Đề tài đang hướng vào ứng dụng công nghệ thông tin trong lĩnh vực bất động sản, cụ thể là ứng dụng cho thuê phòng trọ Việc ứng dụng công nghệ thông tin vào lĩnh vực này nhằm đẩy mạnh quá trình áp dụng công nghệ thông tin vào cuộc sống Và đề tài hướng đến người sử dụng là tất cả mọi người, đặc biệt có ích đối với các sinh viên, người lao động sống xa nhà, hay người môi giới,… Đóng góp chính của đề tài là đề xuất phương pháp thích hợp cho người đi thuê và người cho thuê một cách nhanh chóng và rõ ràng, gồm đầy đủ các bản hợp đồng, hoá đơn thanh toán và các cuộc trao đổi qua tin nhắn.
6 Bố cục của đề tài
Dựa trên các nội dung nghiên cứu, đồ án được cấu trúc thành các chương nhằm đạt mục tiêu đề ra và đảm bảo tính logic, bao gồm phần mở đầu và phần kết luận.
Chương 1 Cơ sở lý thuyết Chương này trình bày kết quả nghiên cứu về lập trình đa nền tảng; trình bày các cơ sở lí thuyết về ngôn ngữ lập trình: Dart, GoLang, Javascript cùng các framework tương ứng Flutter, GraphQL, GRPC, ReactJS được sử dụng trong việc xây dựng đề tài.
Chương 2: Phân tích và thiết kế hệ thống Chương này giới thiệu bài toán và đưa ra các mô hình hệ thống; đề xuất các ý tưởng, chức năng cho phần mềm; trình bày các mô hình thực thể quan hệ, sơ đồ phân cấp chức năng Phân tích chi tiết các chức năng của người sử dụng và người quản lí; thiết kế giao diện người dùng và thiết dữ liệu, chức năng cho hệ thống.
Chương 3: Cài đặt chương trình và kết quả Trong chương này, nêu kết quả thực hiện được của đề tài và trình bày cách cài đặt chương trình.
7 Đóng góp của đồ án
Trong đồ án thực tập tốt nghiệp này, chúng em đã áp dụng linh hoạt kiến thức học được để thực hiện đề tài Chúng em đã cùng nhau thảo luận, đưa ra ý tưởng và đề xuất hướng tác vụ của người dùng cùng với đơn vị thực tập Mục tiêu là xây dựng một đồ án hoàn chỉnh và sản phẩm thân thiện với người sử dụng Những đóng góp chính của đồ án thực tập tốt nghiệp bao gồm việc cải thiện trải nghiệm người dùng và phát triển giải pháp sáng tạo.
Phân tích rõ ràng vai trò của người sử dụng trong hệ thống
Người đi thuê trọ hoặc căn hộ có thể dễ dàng tìm kiếm các tòa nhà và dãy trọ phù hợp, đồng thời đặt cọc cho phòng mình muốn thuê Hệ thống cho phép người dùng thanh toán hóa đơn tiền điện, nước và chi phí thuê phòng, giúp quản lý mọi giao dịch thuê và cho thuê một cách hiệu quả Hợp đồng thuê phòng được trình bày chi tiết với đầy đủ thông tin cần thiết, đảm bảo quyền lợi cho cả hai bên.
- Đối với người cho thuê trọ/căn hộ, họ có thể đăng tải thông tin cần toà nhà/dãy trọ và các phòng trọ/căn hộ gồm các thông tin liên quan, tiện ích và giá đặt cọc, giá thuê Họ cũng là người xác nhận các yêu cầu đặt cọc phòng cho người thuê để tạo hợp đồng cho người thuê Người chủ có thể tạo các hoá đơn điện, nước, chi phí thuê ứng với phòng đó và quản lí việc chi trả hoá đơn trên ứng dụng.
- Đối với người quản lí, họ có thể quản lí toàn bộ các thông tin người dùng, toà nhà, căn hộ, hoá đơn, hợp đồng của hệ thống
Phân tích và thiết kế chức năng thanh toán hoá đơn trực tuyến
Nghiên cứu và triển khai thực nghiệm chức năng thanh toán hoá đơn trực tuyến nhằm đáp ứng được sự nhanh chóng, tiện dụng, tiết kiệm thời gian của người dùng Bên cạnh đó, khi thanh toán trực tuyến, người dùng dễ dàng quản lí, kiểm soát được tài chính, trạng thái hoá đơn của mình Ngoài ra, việc thanh toán trực tuyến làm tăng tính chuyên nghiệp trong kinh doanh cũng như quy trình hoạt động của ứng dụng.
Thiết kế chức năng nhắn tin cá nhân và nhắn tin nhóm cho ứng dụng
CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ
Cài đặt chương trình
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
04/04/2022 – 08/04/2022Hoàn thành nội dung và viết báo cáo chương 3.
Kết quả chương trình
Chương 4: Kết luận và hướng phát triển
Trịnh Nhật Hạ Vy Nguyễn Đình Toản
11/04/2022 – 15/04/2022Hoàn thành chương 4 Hoàn thiện sản phẩm và báo cáo TTTN4.2 Định hướng phát triển
KẾ HOẠCH THỰC HIỆN ĐỀ TÀI CỦA NHÓM
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
1 Lí do chọn đề tài 2
3 Đối tượng và phạm vi nghiên cứu 4
6 Bố cục của đề tài 4
7 Đóng góp của đồ án 5
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 7
1.1 Tổng quan về ngôn ngữ Dart 7
1.1.2 Lịch sử hình thành ngôn ngữ Dart 7
1.1.3 Tại sao sử dụng ngôn ngữ Dart 8
1.2 Tổng quan về framework Flutter 10
1.2.5 Ưu và nhược điểm của Flutter 14
1.3 Tổng quan về ngôn ngữ Javascript 15
1.3.5 Sự khác nhau giữa Javascript với các ngôn ngữ lập trình web khác 20
1.4 Tổng quan về framework ReactJS 21
1.4.3 Ưu và nhược điểm của ReactJS 23
1.4.4 Sự phát triển của ReactJS 24
1.5 Tổng quan về ngôn ngữ Golang 25
1.5.2 Lịch sử hình thành ngôn ngữ Golang 25
1.5.4 Ưu và nhược điểm của Golang 27
1.5.5 Các lĩnh vực ứng dụng Golang 28
1.6.3 Ưu và nhược điểm của gRPC 31
1.7.4 Ưu và nhược điểm GraphQL 34
1.8 Hệ quản trị cơ sở dữ liệu PostgetQL 34
1.8.4 So sánh PostgetSQL và MySQL 36
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 40
2.1 Phân tích yêu cầu đề tài 40
2.4 Biểu đồ ca sử dụng 44
2.4.1 Biểu đồ ca sử dụng của hệ thống 46
2.4.2 Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 46
2.4.3 Biểu đồ ca sử dụng nhắn tin của hệ thống 47
2.5.1 Biểu đồ hoạt động đăng kí 49
2.5.2 Biểu đồ hoạt động đăng nhập 50
2.5.3 Biểu đồ hoạt động khôi phục mật khẩu 50
2.5.4 Biểu đồ hoạt động tạo toà nhà 51
2.5.5 Biểu đồ hoạt động chỉnh sửa toà nhà 51
2.5.6 Biểu đồ hoạt động xoá toà nhà 51
2.5.7 Biểu đồ hoạt động thêm phòng 52
2.5.8 Biểu đồ hoạt động chỉnh sửa phòng 52
2.5.9 Biểu đồ hoạt động xoá phòng 52
2.5.10 Biểu đồ hoạt động tạo hoá đơn 52
2.5.11 Biểu đồ hoạt động chỉnh sửa hoá đơn 53
2.5.12 Biểu đồ hoạt động xoá hoá đơn 53
2.5.13 Biểu đồ hoạt động đặt cọc 53
2.5.14 Biểu đồ hoạt động xác nhận đặt cọc 54
2.5.15 Biểu đồ hoạt động rút lại tiền đặt cọc 54
2.5.16 Biểu đồ hoạt động thanh toán hoá đơn 55
2.5.17 Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
2.5.18 Biểu đồ hoạt động tạo cuộc trò chuyện 55
2.5.19 Biểu đồ hoạt động tạo nhóm hội thoại 56
2.5.20 Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
2.5.21 Biểu đồ hoạt động xoá cuộc hội thoại 56
2.5.22 Biểu đồ hoạt động nhắn tin 57
2.5.23 Biểu đồ hoạt động gửi hình ảnh 57
2.5.24 Biểu đồ hoạt động xoá tin nhắn 57
2.6.1 Biểu đồ tuần tự đăng kí với email 60
2.6.2 Biểu đồ tuần tự đăng nhập với email 60
2.6.3 Biểu đồ tuần tự tạo toà nhà 61
2.6.5 Biểu đồ tuần tự xoá toà nhà 62
2.6.6 Biểu đồ tuần tự thêm phòng 62
2.6.7 Biểu đồ tuần tự chỉnh sửa phòng 63
2.6.8 Biểu đồ tuần tự xoá phòng 63
2.6.9 Biểu đồ tuần tự đặt phòng 64
2.6.10 Biểu đồ tuần tự tạo hoá đơn 65
2.6.11 Biểu đồ tuần tự chỉnh sửa hoá đơn 66
2.6.12 Biểu đồ tuần tự thanh toán hoá đơn 66
2.7 Thiết kế cơ sở dữ liệu 67
2.7.1 Thiết kế bảng dữ liệu 67
2.7.2 Thiết kế biểu đồ lớp 75
2.7.3 Mô hình cơ sở dữ liệu 76
CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ 77
3.1.1 Cài đặt chương trình hệ thống 77
3.1.3 Cài đặt trang web quản lí 77
3.2.2 Giao diện đăng nhập/đăng kí 78
3.2.3 Giao diện tạo tài khoản doanh nghiệp 79
3.2.4 Giao diện tìm kiếm toà nhà 79
3.2.5 Giao diện chi tiết toà nhà 80
3.2.6 Giao diện chi tiết căn hộ 81
3.2.7 Giao diện đặt cọc phòng 81
3.2.8 Giao diện rút lại tiền cọc 82
3.2.9 Giao diện hoá đơn của người dùng 83
3.2.10 Giao diện thanh toán hoá đơn 83
3.2.12 Giao diện quản lí toà nhà 85
3.2.13 Giao diện quản lí căn hộ 85
3.2.14 Giao diện thêm toà nhà 86
3.2.15 Giao diện chỉnh sửa toà nhà 86
3.2.16 Giao diện xoá toà toà nhà 87
3.2.17 Giao diện thêm căn hộ 88
3.2.18 Giao diện chỉnh sửa căn hộ 88
3.2.19 Giao diện xoá căn hộ 89
3.2.21 Giao diện yêu cầu đặt cọc 90
3.2.22 Giao diện danh sách hợp đồng và hoá đơn 91
3.2.23 Giao diện tạo hoá đơn 91
3.2.24 Giao diện chỉnh sửa hoá đơn 92
3.2.25 Giao diện xoá hoá đơn 93
3.2.26 Giao diện xác nhận thanh toán 93
3.2.27 Giao diện danh sách cuộc trò chuyện 94
3.2.28 Giao diện chi tiết cuộc trò chuyện 95
3.2.29 Giao diện thông tin cuộc trò chuyện 95
3.2.30 Giao diện tạo nhóm trò chuyện 96
3.2.31 Giao diện thêm người dùng vào nhóm trò chuyện 96
3.2.32 Giao diện thông báo của ứng dụng 97
3.2.34 Giao diện cập nhật tài khoản 98
3.2.35 Giao diện đăng nhập (website quản lí) 98
3.2.36 Giao diện quản lí người dùng (website quản lí) 99
3.2.37 Giao diện quản lí toà nhà, căn hộ (website quản lí) 101
3.2.38 Giao diện quản lí hợp đồng (website quản lí) 106
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 109
2 Hạn chế của đề tài 110
Bảng 1: So sánh PostgetSQL và MySQL 36
Bảng 2: Đặc tả hệ thống 44
Bảng 9: Thực thể BUILDING_COMMENT 71
Bảng 12: Thực thể CHAT_ROOM 72
Bảng 13: Thực thể CHAT_MESSAGE 73
Bảng 14: Thực thể CHAT_MEMBER 73
Bảng 15: Thực thể USER_MESSAGE 74
Bảng 16: Thực thể USER_CHAT_ROOM 74
Hình 1: Tính năng của ngôn ngữ Dart 8
Hình 2: Kiến trúc của Flutter 11
Hình 3: Cách hoạt động của Javascript 18
Hình 4: Thành phần Vitural DOM 22
Hình 5: Mô hình giao tiếp client/server trong RPC 29
Hình 7: Các kí hiệu của biểu đồ ca sử dụng 46
Hình 8: Biểu đồ ca sử dụng của hệ thống 46
Hình 9: Biểu đồ ca sử dụng quản lí (dành cho người quản trị) 47
Hình 10: Biểu đồ ca sử dụng nhắn tin 47
Hình 11: Kí hiệu các hoạt động trong biểu đồ hoạt động 48
Hình 12: Kí hiệu đồng hoá các hoạt động trong biểu đồ hoạt động 48
Hình 13: Kí hiệu đồng hoá có điều kiện trong biểu đồ hoạt động 49
Hình 14: Kí hiệu quyết định trong biểu đồ hoạt động 49
Hình 15: Kí hiệu quyết định kết hợp trong biểu đồ hoạt động 49
Hình 16: Biểu đồ hoạt động đăng kí 50
Hình 17: Biểu đồ hoạt động đăng nhập 50
Hình 18: Biểu đồ hoạt động khôi phục mật khẩu 51
Hình 19: Biểu đồ hoạt động tạo toà nhà 51
Hình 20: Biểu đồ hoạt động chỉnh sửa toà nhà 51
Hình 21: Biểu đồ hoạt động xoá toà nhà 52
Hình 22: Biểu đồ hoạt động thêm phòng 52
Hình 23: Biểu đồ hoạt động chỉnh sửa phòng 52
Hình 24: Biểu đồ hoạt động xoá phòng 52
Hình 25: Biểu đồ hoạt động tạo hoá đơn 53
Hình 26: Biểu đồ hoạt động chỉnh sửa hoá đơn 53
Hình 27: Biểu đồ hoạt động xoá phòng 53
Hình 28: Biểu đồ hoạt động đặt cọc 54
Hình 29: Biểu đồ hoạt động xác nhận đặt cọc 54
Hình 30: Biểu đồ hoạt động rút lại tiền cọc 55
Hình 31: Biểu đồ hoạt động thanh toán hoá đơn 55
Hình 32: Biểu đồ hoạt động xác nhận trạng thái hoá đơn 55
Hình 33: Biểu đồ hoạt động tạo cuộc trò chuyện 56
Hình 34: Biểu đồ hoạt động tạo nhóm hội thoại 56
Hình 35: Biểu đồ hoạt động cập nhật cuộc hội thoại nhóm 56
Hình 36: Biểu đồ hoạt động xoá cuộc hội thoại 56
Hình 37: Biểu đồ hoạt động nhắn tin 57
Hình 38: Biểu đồ hoạt động gửi hình ảnh 57
Hình 39: Biểu đồ hoạt động xoá tin nhắn 57
Hình 40: Kí hiệu đối tượng trong biểu đồ tuần tự 57
Hình 41: Kí hiệu thời gian hoạt động trong biểu đồ tuần tự 58
Hình 42: Kí hiệu cách gửi thông điệp trong biểu đồ tuần tự 58
Hình 43: Kí hiệu thông điệp trả về trong biểu đồ tuần tự 58
Hình 44: Kí hiệu thông điệp gửi trong biểu đồ tuần tự 59
Hình 45: Kí hiệu tạo/huỷ phương thức trong biểu đồ tuần tự 59
Hình 46: Kí hiệu lặp thông điệp trong biểu đồ tuần tự 59
Hình 47: Kí hiệu lặp thông điệp có điều kiện trong biểu đồ tuần tự 59
Hình 48: Kí hiệu gửi phụ thuộc có điều kiện trong biểu đồ tuần tự 60
Hình 49: Kí hiệu đệ quy trong biểu đồ tuần tự 60
Hình 50: Biểu đồ tuần tự đăng kí với email 60
Hình 51: Biểu đồ tuần tự đăng nhập với email 61
Hình 52: Biểu đồ tuần tự tạo toà nhà 61
Hình 53: Biểu đồ tuần tự chỉnh sửa toà nhà 62
Hình 54: Biểu đồ tuần tự xoá toà nhà 62
Hình 55: Biểu đồ tuần tự thêm phòng 63
Hình 56: Biểu đồ tuần tự chỉnh sửa phòng 63
Hình 57: Biểu đồ tuần tự xoá phòng 64
Hình 58: Biểu đồ tuần tự đặt phòng 65
Hình 59: Biểu đồ tuần tự tạo hoá đơn 66
Hình 60: Biểu đồ tuần tự chỉnh sửa hoá đơn 66
Hình 61: Biểu đồ tuần tự thanh toán hoá đơn 67
Hình 62: Biểu đồ lớp của hệ thống 76
Hình 63: Sơ đồ quan hệ cơ sở dữ liệu 76
Hình 64: Giao diện khởi động 1 78
Hình 65: Giao diện khởi động 2 78
Hình 66: Giao diện khởi động 3 78
Hình 67: Màn hình tạo tài khoản 79
Hình 68: Màn hình đăng kí 79
Hình 69: Màn hình đăng nhập 79
Hình 70: Màn hình tạo tài khoản doanh nghiệp 1 79
Hình 71: Màn hình tạo tài khoản doanh nghiệp 2 79
Hình 72: Màn hình tìm kiếm 80
Hình 73: Màn hình tuỳ chỉnh 80
Hình 74: Màn hình xem bản đồ 80
Hình 75: Màn hình chi tiết 80
Hình 76: Màn hình bình luận toà nhà 80
Hình 77: Màn hình bản đồ vị trí của toà nhà 80
Hình 78: Màn hình chi tiết căn hộ 1 81
Hình 79: Màn hình chi tiết căn hộ 2 81
Hình 80: Màn hình chọn phương pháp 82
Hình 81: Màn hình thông báo 82
Hình 82: Màn hình rút lại tiền cọc 82
Hình 83: Màn hình xác nhận rút lại tiền cọc 82
Hình 84: Giao diện danh sách hoá đơn 83
Hình 85: Màn hình chi tiết hoá đơn 83
Hình 86: Màn hình chọn phương thức thanh toán 84
Hình 87: Màn hình xác nhận thanh toán thành công 84
Hình 88: Màn hình chờ xác nhận đã thanh toán 84
Hình 89: Màn hình danh sách hợp đồng 84
Hình 90: Màn hình chi tiết hoá đơn (của người dùng) 84
Hình 91: Màn hình quản lí toà nhà 85
Hình 92: Màn hình chi tiết toà nhà 85
Hình 93: Màn hình căn hộ 85
Hình 94: Màn hình căn hộ (1) 85
Hình 95: Màn hình căn hộ (2) 85
Hình 96: Màn hình thêm toà nhà (1) 86
Hình 98: Màn hình ghim vị trí toà nhà trên bản đồ 86
Hình 99: Màn hình chọn chỉnh sửa 87
Hình 100: Màn hình chỉnh sửa toà nhà (1) 87
Hình 101: Màn hình chỉnh sửa toà nhà (2) 87
Hình 102: Màn hình xoá toà nhà (1) 87
Hình 103: Màn hình xoá toà nhà (2) 87
Hình 104: Màn hình thêm phòng mới (1) 88
Hình 105: Màn hình thêm phòng mới (2) 88
Hình 106: Màn hình chỉnh sửa phòng (1) 89
Hình 107: Màn hình chính sửa phòng (2) 89
Hình 108: Màn hình chỉnh sửa phòng (3) 89
Hình 109: Màn hình xoá phòng (1) 89
Hình 110: Màn hình xoá phòng (2) 89
Hình 111: Màn hình quản lí tài chính 90
Hình 112: Màn hình danh sách các yêu cầu đặt cọc 90
Hình 113: Màn hình danh sách các hợp đồng 91
Hình 114: Màn hình danh sách các hoá đơn 91
Hình 115: Màn hình tạo hoá đơn mới (1) 92
Hình 116: Màn hình tạo hoá đơn (2) 92
Hình 117: Màn hình chi tiết hoá đơn 92
Hình 118: Màn hình chỉnh sửa hoá đơn (1) 92
Hình 119: Màn hình chỉnh sửa hoá đơn (2) 92
Hình 120: Màn hình xoá hoá đơn 93
Hình 121: Màn hình xác nhận xoá hoá đơn 93
Hình 122: Màn hình xác nhận thanh toán 94
Hình 123: Màn hình thanh toán thành công 94
Hình 124: Màn hình danh sách các cuộc trò chuyện 94
Hình 125: Màn hình cuộc trò chuyện 1-1 95
Hình 126: Màn hình cuộc trò chuyện nhóm 95
Hình 127: Màn hình thông tin người trò chuyện 95
Hình 128: Màn hình thông tin trò chuyện nhóm 95
Hình 129: Màn hình danh bạ người dùng 96
Hình 130: Màn hình tạo nhóm trò chuyện 96
Hình 131: Màn hình chi tiết nhóm 97
Hình 132: Màn hình thêm người dùng 97
Hình 133: Màn hình sau khi thêm thành công 97
Hình 134: Màn hình thông báo (1) 97
Hình 135: Màn hình thông báo (2) 97
Hình 136: Màn hình tài khoản người dùng 98
Hình 137: Màn hình chỉnh sửa tài khoản 98
Hình 138: Màn hình chỉnh sửa mật khẩu 98
Hình 139: Trang web đăng nhập dành cho người quản lí 99
Hình 140: Trang web quản lí người dùng 99
Hình 141: Thông tin chi tiết của tài khoản 100
Hình 142: Form thêm mới tài khoản 100
Hình 143: Form chỉnh sửa tài khoản 101
Hình 145: Trang web quản lí toà nhà 102
Hình 146: Chi tiết toà nhà 102
Hình 147: Form thêm mới toà nhà 103
Hình 148: Form chỉnh sửa toà nhà 103
Hình 150: Chi tiết căn hộ 104
Hình 151: Form thêm mới căn hộ 105
Hình 152: Form chỉnh sửa căn hộ 106
Hình 154: Trang web quản lí hợp đồng 107
Hình 155: Chi tiết hợp đồng 107
Hình 156: Chỉnh sửa hợp đồng 108
Hình 157: Xác nhận kết thúc hợp đồng 108
1 Lí do chọn đề tài
Ngày nay thuê trọ là vấn đề được nhiều người quan tâm, đặc biệt là Sinh viên và Người lao động vì công việc, học hành mà sống xa nhà, mong muốn tìm được một nơi ở thích hợp, an ninh, sạch sẽ; đồng thời phải thuận tiện cho việc đến trường, làm việc là một điều cần thiết Nhà trọ, phòng trọ thường được xây dựng ở những nơi mặt tiền đường Tuy nhiên, với nhu cầu hiện nay thì nhà trọ cũng được xây dựng ở các hẻm, ngõ, ở những vị trí khác nhau thì chi phí thuê cũng khác nhau.
Về vấn đề quản lí người thuê trọ, một dãy nhà trọ có quy mô nhỏ cũng phải có 10 - 20 phòng Còn nhà trọ lớn quy mô đôi khi lên đến cả trăm phòng trọ Mỗi căn phòng trọ lại là một khách hàng, bao nhiêu phòng trọ thì sẽ có bấy nhiêu vấn đề xảy ra Đó là chưa kể đối tượng khách hàng mà loại hình này nhắm tới khá rộng, đủ mọi tầng lớp Từ sinh viên, người mới đi làm, công nhân, hộ gia đình trẻ chưa có nhà ở, người lao động nhập cư Bởi sự đa dạng và mỗi người một kiểu nên việc quản lý người thuê trọ là bài toán khá nan giải với nhiều người kinh doanh Bên cạnh đó, khi quản lý 10 - 20 hay cả trăm phòng trọ thì khối lượng công việc cần phải giải quyết sẽ là rất khủng khiếp Bởi lẽ, cũng là hình thức kinh doanh cho thuê nên để giữ chân được khách trọ, người đầu tư cũng cần phải có biện pháp xử lý các vấn đề, đáp ứng được mong muốn của người thuê Chẳng hạn như sửa chữa các hư hỏng phát sinh trong quá trình thuê Rồi sau một thời một thời gian cũng phải tiến hành tân trang, sửa sang, nâng cấp lại khu nhà trọ Hay chỉ riêng việc quản lý an ninh, đi nhắc nhở các phòng vi phạm quy định Ghi chỉ số đồng hồ điện nước, nhắc khách thuê đóng tiền nhà thôi cũng đã đủ đau đầu, bởi không phải vị khách nào cũng có ý thức, cũng chủ động chấp hành các quy định.
Về vấn đề đi tìm phòng trọ, đối tượng đi tìm trọ có thể là Sinh viên hoặc Người lao động vì học hành mà sống xa nhà nên khi chọn phòng trọ họ luôn cần quan tâm đến nhiều yếu tố Về chất lượng phòng ở, các vấn đề như tường có chắc chắn hay không, chất lượng sơn phủ có ổn không hay đã bong tróc, nếu có vấn đề thì chủ nhà trọ có sửa lại luôn không Các cửa chính, ổ khóa có đảm bảo an toàn phòng chống trộm không Trong phòng trọ cần phải có đủ cửa sổ, cửa thông gió và có mái che để tránh phòng quá bí bức, hay quá ẩm thấp Đường ống nước, vòi nước liệu có đang bị rò rỉ, hỏng hay tắc không… Về vấn đề vị trí và an ninh, đây là vấn đế đáng được quan tâm để có một chỗ ở tốt Người đi thuê nhà cũng cần thận trọng khi đi giao dịch với người chủ/người môi giới. Thường xảy ra các trường hợp bị lừa gạt về tiền của hay bị thiệt về lợi ích vì người chủ/môi giới có thiếu những giấy tờ liên quan như: giấy tờ sở hữu nhà cho thuê cùng các giấy tờ pháp lý khác để chứng minh họ có đủ điều kiện quyết định với nhà Tiếp theo là về giá cả, giá cả cũng là một tiêu chí được quan tâm hàng đầu mỗi khi các bạn sinh viên đi thuê nhà Mỗi quận huyện lại có mức giá thuê khác nhau, và nó cũng tùy vào dạng căn nhà Càng về khu vực trung tâm hay càng ở những khu chung cư chất lượng cao, giá thuê sẽ lại càng cao Ngoài tiền thuê phòng, người thuê cũng cần biết trước những khoản phí khác như tiền điện, tiền nước, tiền wifi, tiền gửi xe,… Hiện nay thay vì đi tìm nhà trọ tận nơi một cách thủ công như trước thì người đi thuê đã có thêm nhiều phương pháp đơn giản hơn như tìm kiếm trên Google, Facebook Trên những trang này giờ đã có các hội nhóm chuyên tìm và cho thuê trọ Tại đây, người đi thuê sẽ được cung cấp rõ thông tin về vị trí nhà, tiện ích, giá thuê cũng như xem được những hình ảnh trực quan về nhà Nhưng các vấn đề liên quan đến chi trả, cần bàn bạc, trao đổi, hợp đồng đều không thể trao đổi qua mạng xã hội mà cần một ứng dụng có thể quản lí những giao dịch, trao đổi giữa người đi thuê và người cho thuê.
Bên cạnh đó, sự hỗ trợ mạnh mẽ của các ngôn ngữ lập trình, cùng với sự ra đời của các framework đã thúc đẩy nhóm em chọn đề tài “Nghiên cứu lập trình di động đa nền tảng và xây dựng ứng dụng cho thuê phòng trọ dựa trên sự kết hợp Flutter, Golang Và GraphQL” để thực hiện thực tập tốt nghiệp nhằm đáp ứng theo chương trình đào tạo đồng thời mong muốn ứng dụng công nghệ đó vào việc tìm hiểu và đưa ra một giải pháp tốt nhằm giải quyết công việc cho thuê phòng trọ online
Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết công cho thuê phòng trọ Các mục tiêu cụ thể của đề tài gồm:
- Tìm ra phương pháp hiệu quả trong việc cho thuê phòng trọ của người cho thuê.
- Tìm ra phương pháp hiệu quả trong việc đi tìm phòng trọ của người đi thuê.
- Tìm ra phương pháp quản lí hiệu quả các hợp đồng cho thuê, hoá đơn chi
- Ứng dụng ngôn ngữ Dart và công nghệ Flutter vào xây dựng ứng dụng di động cho thuê phòng trọ.
- Ứng dụng ngôn ngữ GoLang và công nghệ GraphQL và GRPC vào xây dựng backend cho ứng dụng.
- Ứng dụng công nghệ React JS vào xây dựng website quản lí cho người quản trị.
3 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu gồm:
- Các chức năng của người cho thuê, người đi thuê.
- Thông tin các tỉnh/thành, quận/huyện, phường/xã.
- Thông tin liên quan đến hợp đồng cho thuê.
- Thông tin liên quan đến hoá đơn thanh toán.
- Cổng thanh toán ví điện tử.
- Các chức năng nhắn tin riêng và nhắn tin nhóm.
Giới hạn phạm vi nghiên cứu trong đề tài gồm:
Chúng tôi xây dựng một hệ thống kết nối thuận tiện giữa người cho thuê và người đi thuê trọ Người cho thuê có thể dễ dàng đăng tải và quản lý thông tin phòng của mình, trong khi người đi thuê có thể tìm kiếm phòng với giá cả và tiện ích hợp lý Hệ thống cũng hỗ trợ quản lý hợp đồng thanh toán và cho thuê một cách tiện lợi cho cả hai bên.
- Đề tài được xây dựng bởi các ngôn ngữ lập trình như: Dart, Javascript,
Go, HTML, CSS, với công nghệ Flutter, GoLang, GraphQL, GRPC và ReactJS.
Phương pháp lý thuyết trong nghiên cứu này tập trung vào việc phân tích các tài liệu liên quan đến ngôn ngữ lập trình và các framework như Flutter, GoLang và ReactJS Nghiên cứu cũng xem xét nhu cầu của cả người cho thuê và người đi thuê, từ đó giúp hiểu rõ hơn về thị trường và các yếu tố ảnh hưởng đến sự phát triển của các công nghệ này.
Phương pháp thực nghiệm trong nghiên cứu bao gồm việc xây dựng các phương pháp đặt cọc, thuê phòng và tìm kiếm phòng trọ, đồng thời trao đổi thông tin qua tin nhắn để quản lý hiệu quả việc thuê phòng Bên cạnh đó, phát triển ứng dụng thuê phòng trọ và đánh giá kết quả là những bước quan trọng trong quá trình này.
5 Ý nghĩa của đề tài Đề tài đang hướng vào ứng dụng công nghệ thông tin trong lĩnh vực bất động sản, cụ thể là ứng dụng cho thuê phòng trọ Việc ứng dụng công nghệ thông tin vào lĩnh vực này nhằm đẩy mạnh quá trình áp dụng công nghệ thông tin vào cuộc sống Và đề tài hướng đến người sử dụng là tất cả mọi người, đặc biệt có ích đối với các sinh viên, người lao động sống xa nhà, hay người môi giới,… Đóng góp chính của đề tài là đề xuất phương pháp thích hợp cho người đi thuê và người cho thuê một cách nhanh chóng và rõ ràng, gồm đầy đủ các bản hợp đồng, hoá đơn thanh toán và các cuộc trao đổi qua tin nhắn.
6 Bố cục của đề tài
Trên cơ sở các nội dung nghiên cứu, để đạt mục tiêu đề ra và đảm bảo tính logic, ngoài phần mở đầu và phần kết luận, đồ án được tổ chức thành các chương như sau:
Chương 1 Cơ sở lý thuyết Chương này trình bày kết quả nghiên cứu về lập trình đa nền tảng; trình bày các cơ sở lí thuyết về ngôn ngữ lập trình: Dart, GoLang, Javascript cùng các framework tương ứng Flutter, GraphQL, GRPC, ReactJS được sử dụng trong việc xây dựng đề tài.
Chương 2: Phân tích và thiết kế hệ thống Chương này giới thiệu bài toán và đưa ra các mô hình hệ thống; đề xuất các ý tưởng, chức năng cho phần mềm; trình bày các mô hình thực thể quan hệ, sơ đồ phân cấp chức năng Phân tích chi tiết các chức năng của người sử dụng và người quản lí; thiết kế giao diện người dùng và thiết dữ liệu, chức năng cho hệ thống.
Chương 3: Cài đặt chương trình và kết quả Trong chương này, nêu kết quả thực hiện được của đề tài và trình bày cách cài đặt chương trình.
7 Đóng góp của đồ án
Trong đồ án thực tập tốt nghiệp này, chúng em đã áp dụng linh hoạt kiến thức từ giảng đường để thực hiện đề tài Chúng em đã cùng nhau trao đổi và đề xuất ý tưởng cho các tác vụ của người dùng, phối hợp với đơn vị thực tập nhằm xây dựng một sản phẩm hoàn chỉnh và thân thiện với người sử dụng Những đóng góp chính của đồ án thực tập tốt nghiệp bao gồm việc cải thiện trải nghiệm người dùng và phát triển giải pháp sáng tạo.
Phân tích rõ ràng vai trò của người sử dụng trong hệ thống
- Đối với người đi thuê trọ/căn hộ, người dùng có thể tìm kiếm các toà nhà/dãy trọ và đặt cọc phòng mà mình muốn thuê Người dùng có thể tiến hành thanh toán các hoá đơn tiền điện, nước, chi phí thuê phòng và quản lí được mọi thuê và cho thuê Hợp đồng thuê phòng cũng được thể hiện một cách cụ thể và đầy đủ các thông tin cần thiết.
- Đối với người cho thuê trọ/căn hộ, họ có thể đăng tải thông tin cần toà nhà/dãy trọ và các phòng trọ/căn hộ gồm các thông tin liên quan, tiện ích và giá đặt cọc, giá thuê Họ cũng là người xác nhận các yêu cầu đặt cọc phòng cho người thuê để tạo hợp đồng cho người thuê Người chủ có thể tạo các hoá đơn điện, nước, chi phí thuê ứng với phòng đó và quản lí việc chi trả hoá đơn trên ứng dụng.
- Đối với người quản lí, họ có thể quản lí toàn bộ các thông tin người dùng, toà nhà, căn hộ, hoá đơn, hợp đồng của hệ thống
Phân tích và thiết kế chức năng thanh toán hoá đơn trực tuyến
Nghiên cứu và triển khai thực nghiệm chức năng thanh toán hoá đơn trực tuyến nhằm đáp ứng được sự nhanh chóng, tiện dụng, tiết kiệm thời gian của người dùng Bên cạnh đó, khi thanh toán trực tuyến, người dùng dễ dàng quản lí, kiểm soát được tài chính, trạng thái hoá đơn của mình Ngoài ra, việc thanh toán trực tuyến làm tăng tính chuyên nghiệp trong kinh doanh cũng như quy trình hoạt động của ứng dụng.
Thiết kế chức năng nhắn tin cá nhân và nhắn tin nhóm cho ứng dụng
Kết quả đạt được
Về kiến thức và học tập Đối với lần thực tập này, chúng em đã xem đây là một cơ hội và cũng là một thử thách đối với bản thân để tự học hỏi, rèn luyện những điều mới lạ từ các ngôn ngữ lập trình hay framework của chúng Khi tiếp xúc và thực hành dùng các ngôn ngữ, chúng đều nhận ra được sự thú vị, đặc trưng riêng biệt mà chúng hỗ trợ Bên cạnh đó, việc áp dụng các kiến thức đã học và tự học cũng là điều thu hút em Điển hình như ngôn ngữ C++, HTML, CSS,… đều đã được thầy cô truyền tải cho chúng em trên giảng đường, bây giờ, nó lại trở thành kiến thức căn bản, nền tảng để em tiếp tục con đường tự tìm tòi, học hỏi Đặc biệt, về khả năng phân tích, thiết kế hệ thống hay giải quyết các vấn đề trong quá trình nghiên cứu đều một lần nữa được củng cố, áp dụng một cách linh hoạt Xây dựng được cơ sở dữ liệu trong quá trình nghiên cứu và phân tích hệ thống nhằm đáp ứng tốt cho việc viết chương trình Và không quên chú trọng vào việc tìm hiểu và nghiên cứu cấu trúc của hệ thống để đảm bảo trải nghiệm tốt nhất cho người dùng.
Phần mềm được phát triển bằng ngôn ngữ Golang hoạt động như một server để xử lý logic, tìm kiếm, lưu trữ và thay đổi dữ liệu, phục vụ người dùng hiệu quả Ngôn ngữ Dart, thông qua Framework Flutter, được sử dụng để xây dựng giao diện người dùng, tạo ra trải nghiệm tương tác trực tiếp Hệ thống được tối ưu hóa cho tốc độ và độ chính xác, đảm bảo trải nghiệm tốt nhất cho khách hàng khi tìm kiếm và đặt phòng Tốc độ tải trang và khả năng truy xuất dữ liệu là yếu tố thiết yếu Thiết kế bố cục và tương phản được chăm chút kỹ lưỡng nhằm thu hút người tiêu dùng Hệ thống xử lý dữ liệu và yêu cầu của người dùng một cách nhanh chóng và chính xác Ngoài ra, một trang web quản lý cho người quản trị với các tính năng cơ bản cũng được cung cấp, giúp quản lý, theo dõi và xử lý tình huống kịp thời cho doanh nghiệp hoặc người thuê.
Hạn chế của đề tài
Hệ thống phục vụ cho doanh nghiệp, người thuê và người quản lý là một cấu trúc phức tạp, đòi hỏi đầu tư thời gian, công sức và nỗ lực để hoàn thiện Tuy nhiên, do thời gian nghiên cứu có hạn, hệ thống mà chúng tôi phân tích và thiết kế vẫn còn nhiều hạn chế.
- Chưa đăng kí thành công ứng dụng với bộ công thương nên chưa thể thanh toán qua ví điện tử Momo hoặc Zalo Pay.
- Chưa thực hiện thanh toán qua các liên kết ngân hàng.
- Chưa tối ưu hoàn toàn chức năng nhắn tin trong hệ thống.
- Chưa phát triển chức năng gọi điện thoại trong hệ thống.
- Chưa thực hiện các chức năng thay đổi ngôn ngữ, thông báo trong ứng dụng.
- Chưa hoàn thiện chức năng thống kê tài chính cho doanh nghiệp
- Chưa thực hiện đầy đủ các chức năng của người quản trị.
- Tính bảo bảo mật cho hệ thống chưa hoàn chỉnh.
- Kiến thức thực tế và kiến thức lập trình còn hạn chế nên tính chuyên nghiệp của chương trình chưa cao, bắt lỗi chưa kĩ ở một số chổ và một số tính năng chưa tối ưu.
Hướng phát triển
Để phát triển hệ thống một cách hoàn thiện và thân thiện với người sử dụng, cần bổ sung các tính năng và công nghệ mới nhằm khắc phục những hạn chế hiện tại của đề tài.