BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THƠNG TIN
XÂY DỰNG HỆ THỐNG ỨNG DỤNG
TÌM PHỊNG TRỌ TRÊN DI ĐỘNG
GVHD: THS. NGUYỄN TRẦN THI VĂN
SVTH: NGUYỄN THÀNH ĐỒNG
SVTH: HỒ NGỌC SƠN HÀ
SKL 0 0 7 1 0 5
Tp. Hồ Chí Minh, tháng 07/2020
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỄN THÀNH ĐỒNG – 16110311
HỒ NGỌC SƠN HÀ – 16110533
Đề tài:
XÂY DỰNG HỆ THỐNG ỨNG DỤNG TÌM PHỊNG
TRỌ TRÊN DI ĐỘNG
KHĨA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TRẦN THI VĂN
KHÓA 2016 – 2020
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỄN THÀNH ĐỒNG – 16110311
HỒ NGỌC SƠN HÀ – 16110533
Đề tài:
XÂY DỰNG HỆ THỐNG ỨNG DỤNG TÌM PHỊNG
TRỌ TRÊN DI ĐỘNG
KHĨA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TRẦN THI VĂN
KHÓA 2016 – 2020
ĐH SƯ PHẠM KỸ THUẬT TP. HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CNTT
Độc lập – Tự do – Hạnh Phúc
*******
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Nguyễn Thành Đồng
MSSV 1: 16110311
Họ và tên Sinh viên 2: Hồ Ngọc Sơn Hà
MSSV 2: 16110533
Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
Họ và tên Giáo viên hướng dẫn: ThS. Nguyễn Trần Thi Văn
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
2. Ưu điểm:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
3. Khuyết điểm:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
4. Đề nghị cho bảo vệ hay khơng? ................................................................................
5. Đánh giá loại: ...........................................................................................................
6. Điểm: ........................................................................................................................
Tp. Hồ Chí Minh, ngày
tháng
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
năm 2020
ĐH SƯ PHẠM KỸ THUẬT TP. HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CNTT
Độc lập – Tự do – Hạnh Phúc
*******
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Nguyễn Thành Đồng
MSSV 1: 16110311
Họ và tên Sinh viên 2: Hồ Ngọc Sơn Hà
MSSV 2: 16110533
Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
Họ và tên Giáo viên phản biện: ......................................................................................
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
2. Ưu điểm:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
3. Khuyết điểm:
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
4. Đề nghị cho bảo vệ hay không? ................................................................................
5. Đánh giá loại: ...........................................................................................................
6. Điểm: ........................................................................................................................
Tp. Hồ Chí Minh, ngày
tháng
Giáo viên phản biện
(Ký & ghi rõ họ tên)
năm 2020
LỜI CẢM ƠN
Nhóm em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, Bộ môn Công nghệ
phần mềm, trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh đã tạo điều kiện
thuận lợi cho chúng em thực hiện đề tài này.
Chúng em cũng xin gửi lời cảm ơn chân thành đến thầy Nguyễn Trần Thi Văn, giáo
viên hướng dẫn đã tận tình chỉ bảo và hướng dẫn nhóm em trong thời gian thực hiện đề
tài.
Bên cạnh đó, chúng em xin gửi lời cảm ơn đến các thầy cơ của trường nói chung,
những người đã giảng dạy và tạo điều kiện cho em tích lũy được những kiến thức quý
báu trong những năm học qua.
Dù đã cố gắng hồn thành đề tài khóa luận đúng u cầu, nhưng do khả năng cịn
hạn chế nên chắc chắn sẽ khơng tránh khỏi thiếu sót. Chúng em mong nhận được sự chỉ
bảo, nhận xét của các thầy cơ để nhóm có điều kiện bổ sung, nâng cao ý thức, phục vụ
tốt hơn cho cơng tác thực tế sau này.
Nhóm chúng em xin chân thành cảm ơn!
Tp. Hồ Chí Minh, ngày
tháng 8 năm 2020
Sinh viên thực hiện
(Ký & ghi rõ họ tên)
Trường ĐH Sư Phạm Kỹ Thuật TP.HCM
Khoa Công nghệ Thông tin
ĐỀ CƯƠNG TIỂU LUẬN CHUYÊN NGÀNH
Họ và tên Sinh viên thực hiện 1: Nguyễn Thành Đồng
MSSV: 16110311
Họ và tên Sinh viên thực hiện 2: Hồ Ngọc Sơn Hà
MSSV: 16110533
Thời gian làm luận văn: Từ 30/3/2020 đến 12/7/2020 (15 tuần)
Chuyên ngành: Công nghệ phần mềm
Tên luận văn: Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
GV hướng dẫn: ThS.Nguyễn Trần Thi Văn
Nhiệm vụ của khóa luận:
1.
Tìm hiểu về Flutter, Firebase và Google Maps Platform.
2.
Tìm hiểu về Serverside Rendering và NextJS, React.
3.
Xây dựng ứng dụng tìm trọ trên di động với một số chức năng cơ bản:
-
Đăng nhập, đăng ký, đăng xuất tài khoản.
-
Xem danh sách các trọ còn phịng.
-
Xem thơng tin chi tiết phịng trọ.
-
Tìm kiếm phịng trọ xung quanh vị trí hiện tại.
-
So sánh thơng tin chi tiết của 2 phịng trọ.
-
Thêm, xóa phịng trọ.
-
Đăng, xóa bài viết trong diễn đàn.
-
Bình luận, đánh giá dưới mỗi bài viết trong diễn đàn.
Xây dựng một trang web quản lý cho Admin với một số chức năng như sau :
4.
-
Đăng nhập, đăng xuất tài khoản.
-
Sửa các phòng trọ đã đăng ký trên ứng dụng.
-
Sửa các thông tin các tài khoản đã đăng ký trên ứng dụng.
-
Thêm, sửa bài viết trong diễn đàn.
Đề cương viết khóa luận:
PHẦN MỞ ĐẦU
PHẦN NỘI DUNG
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về flutter
1.2. Tổng quan về google firebase
1.3. Một số thành phần cơ bản trong flutter
1.4. Tổng quan về google map API
1.5. Tổng quan về redux
1.6. Tổng quan về typescript
1.7. Tổng quan về nextjs
CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU
2.1. Khảo sát hiện trạng
2.2. Xác định yêu cầu
2.3. Sơ đồ use case
2.4. Mô tả chi tiết use case
CHƯƠNG 3. PHÂN TÍCH, MƠ HÌNH HỐ U CẦU, THIẾT KẾ CSDL
3.1. Phân tích chức năng, thiết kế cơ sở dữ liệu
3.2. Mô tả cơ sở dữ liệu
CHƯƠNG 4. THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ
4.1. Danh sách màn hình chuyển đổi
4.2. Danh sách màn hình
4.3. Danh sách xử lý
CHƯƠNG 5. CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG
5.1. Cài đặt ứng dụng
5.2. Biểu đồ lớp (Class Diagram)
5.3. Kiểm thử ứng dụng
PHẦN KẾT THÚC
1. Những kết quả đạt được
2. Ưu điểm đề tài
3. Hạn chế đề tài
4. Hướng phát triển trong tương lai
TÀI LIỆU THAM KHẢO
KẾ HOẠCH THỰC HIỆN
Tuần
Ngày
Nhiệm vụ
Phân
Sản phẩm
cơng
20/3/2020
-
Tìm hiểu về Serverside Đồng, Hà Tìm hiểu, nghiên cứu và ghi chép:
Rendering
5/4/2020
Tìm hiểu về ReactJS.
1+2
Hà
•
NodeJS, Express.
•
ReactJS.
•
Redux, Redux thunk, Redux
Saga.
Tìm hiểu về NextJS
Đồng
•
Serverside Rendering và
NextJS.
6/4/2020
Xây dựng ứng dụng Đồng, Hà Xây dựng Website Admin quản lý
-
Admin bằng NextJS.
26/4/2020
Xây dựng tính năng
bài viết , phịng bằng NextJS.
Hà
đăng nhập.
3+4+5
Xây dựng tính năng
Đồng
danh sách, ẩn, thêm,
sửa phịng.
27/4/2020
6
7+8
-
Tích hợp Tinyrcm cho bài viết văn
Tinyrcm cho bài báo
bản.
3/5/2020
trong website.
4/5/2020
Thêm tính năng Filter Đồng
Xây dựng tính năng tìm kiếm
-
để tìm kiếm phịng
phịng theo các tiêu chí giá, diện
18/5/2020
theo thơng tin cho ứng
tích, các tính năng: tiền điện,
dụng di động.
nước, phịng ghép, ban cơng,…
Thêm tính năm bài viêt Đồng.
Tích hợp các bài viết, tìm kiếm,
-
cho ứng dụng di động
sắp xếp và chi tiết bài viết.
14/6/2020
trong ứng dụng di
19/5/2020
9+10+11
Tìm hiểu và tích hợp Đồng
động.
15/6/2020
12
21/6/2020
Tích
hợp
Right Hà
Sidebar và chỉnh sửa
Appbar.
Thêm giao diện và tính năng cho
toàn bộ ứng dụng.
Ghi chú
Chỉnh sửa các cửa sổ
Đồng
Tìm lỗi và sửa đổi giao diện cho
ứng dụng.
Homepage, ListRoom,
DetailRoom và
CompareRooms.
22/6/2020
28/6/2020
13
Tích
hợp
Firebase Đồng
Firebase để tích hợp vào hệ thống,
RemoteConfig.
Nghiên cứu các tính
tích hợp các tùy chỉnh liên quan
Hà
đến triển khai ứng dụng trong môi
năng thêm trong
trường vá lỗi và mơi trường sản
Firebase như A/B
phẩm thực tế.
Testing, Function.
29/6/2020
Tìm hiểu thêm các tính năng của
Tìm kiếm các lỗi trong Hà
Tìm kiếm lỗi lớn trong các trang
-
hệ thống ứng dụng
của website, và các lỗi giao diện
5/7/2020
điện thoại và website
và logic trong các cửa sổ của ứng
admin.
dụng và tích hợp vào hệ thống.
14
Vá lỗi hệ thống và
Đồng
Vá lỗi
tiếp tục sửa lỗi giao
diện.
6/7/2020
15
Tổng hợp và sử đổi Đồng, Hà - Tổng hợp tài liệu trong q trình
hồn tất báo cáo.
12/7/2020
làm.
- Tổ chức nội dùng trình chiếu cho
khóa luận.
- Quay video demo sản phẩm.
Tp. Hồ Chí Minh, ngày
tháng
Ý kiến của giáo viên hướng dẫn
Người viết đề cương
(ký và ghi rõ họ tên)
(ký và ghi rõ họ tên)
năm 2020
MỤC LỤC
PHẦN MỞ ĐẦU ........................................................................................................ 1
PHẦN NỘI DUNG ..................................................................................................... 5
CHƯƠNG 1.
CƠ SỞ LÝ THUYẾT ...................................................................... 5
Giới thiệu Flutter .................................................................................. 5
Lịch sử phát triển của Flutter ................................................................ 5
Đặc điểm chính của Flutter ................................................................... 6
Ưu, nhược điểm của Flutter .................................................................. 6
Giới thiệu về Google Firebase ............................................................... 8
Lịch sử của Firebase ............................................................................. 8
Chức năng chính của Firebase............................................................... 9
Đặc điểm nổi bật của Firebase ............................................................ 10
Ngơn ngữ ............................................................................................ 10
Cấu hình tác vụ ................................................................................... 11
Tài liệu ............................................................................................... 11
Tổng quan về Google Map API .......................................................... 12
Các dịch vụ Google Map APIs ............................................................ 12
Giới thiệu về Redux ............................................................................ 14
Lịch sử phát triển của Redux............................................................... 14
Đặc điểm chính của Redux ................................................................. 15
Giới thiệu về TypeScript ..................................................................... 16
Đặc điểm chính của TypeScript .......................................................... 16
Ưu điểm của TypeScript ..................................................................... 17
Giới thiệu về NextJs............................................................................ 18
Đặc điểm chính của NextJs ................................................................. 18
CHƯƠNG 2.
KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU ............ 20
Ứng dụng tìm nhà trọ Hello Rent ........................................................ 20
Ứng dụng tìm nhà trọ Doong .............................................................. 21
App tìm nhà trọ Landber ..................................................................... 22
Ứng dụng Tìm Trọ .............................................................................. 23
Yêu cầu chức năng.............................................................................. 23
Yêu cầu phi chức năng ........................................................................ 24
Yêu cầu hệ thống ................................................................................ 25
Sơ đồ use case tổng quan .................................................................... 26
Sơ đồ use case cho Finder ................................................................... 27
Sơ đồ use case cho Innkeeper.............................................................. 27
Sơ đồ use case cho Guess.................................................................... 28
Sơ đồ use case cho Admin .................................................................. 28
Sign In ................................................................................................ 29
Sign Up............................................................................................... 29
Search Rooms ..................................................................................... 30
View Rooms ....................................................................................... 30
Compare Rooms ................................................................................. 31
Manage Rooms ................................................................................... 31
Create Post.......................................................................................... 32
Comment Post .................................................................................... 32
Post Rooms ......................................................................................... 33
Locate Address ................................................................................... 34
Manage Users ..................................................................................... 34
Manage Post ....................................................................................... 35
CHƯƠNG 3.
PHÂN TÍCH, MƠ HÌNH HỐ U CẦU VÀ THIẾT KẾ CƠ SỞ
DỮ LIỆU
........................................................................................................ 36
Xét nghiệp vụ: Search Rooms ............................................................. 36
Xét nghiệp vụ: Add Rooms ................................................................. 38
Xét nghiệp vụ: Edit Rooms ................................................................. 40
Xét nghiệp vụ: Add Post ..................................................................... 42
Xét nghiệp vụ: Edit Post ..................................................................... 43
Lược đồ quan hệ ................................................................................. 45
Cơ sở dữ liệu Firebase dạng Node....................................................... 46
Mô tả cơ sở dữ liệu ............................................................................. 47
CHƯƠNG 4.
THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ............................................ 49
Thiết kế giao diện ............................................................................... 49
Mơ tả màn hình ................................................................................... 50
Danh sách xử lý .................................................................................. 50
Thiết kế giao diện ............................................................................... 51
Mơ tả màn hình ................................................................................... 52
Danh sách xử lý .................................................................................. 52
Thiết kế giao diện ............................................................................... 53
Mơ tả màn hình ................................................................................... 53
Danh sách xử lý .................................................................................. 54
Thiết kế giao diện ............................................................................... 55
Mơ tả màn hình ................................................................................... 55
Danh sách xử lý .................................................................................. 55
Thiết kế giao diện ............................................................................... 56
Mơ tả màn hình ................................................................................... 57
Danh sách xử lý .................................................................................. 58
Thiết kế giao diện ............................................................................... 59
Mơ tả màn hình ................................................................................... 60
Danh sách xử lý .................................................................................. 60
Thiết kế giao diện ............................................................................... 60
Mơ tả màn hình ................................................................................... 62
Danh sách xử lý .................................................................................. 63
Thiết kế giao diện ............................................................................... 64
Mơ tả màn hình ................................................................................... 65
Danh sách xử lý .................................................................................. 65
Thiết kế giao diện ............................................................................... 65
Mơ tả màn hình ................................................................................... 66
Danh sách xử lý .................................................................................. 67
Thiết kế giao diện ............................................................................... 67
Mơ tả màn hình ................................................................................... 68
Danh sách xử lý .................................................................................. 69
Thiết kế giao diện ............................................................................... 70
Mơ tả màn hình ................................................................................... 71
Danh sách xử lý .................................................................................. 72
Thiết kế giao diện ............................................................................... 74
Mơ tả màn hình ................................................................................... 74
Danh sách xử lý .................................................................................. 74
Thiết kế giao diện ............................................................................... 75
Mơ tả màn hình ................................................................................... 76
Danh sách xử lý .................................................................................. 76
Thiết kế giao diện ............................................................................... 77
Mơ tả màn hình ................................................................................... 77
Danh sách xử lý .................................................................................. 78
Thiết kế giao diện ............................................................................... 78
Mơ tả màn hình ................................................................................... 79
Danh sách xử lý .................................................................................. 79
Thiết kế giao diện ............................................................................... 79
Mơ tả màn hình ................................................................................... 80
Danh sách xử lý .................................................................................. 80
Thiết kế giao diện ............................................................................... 81
Mơ tả màn hình ................................................................................... 81
Danh sách xử lý .................................................................................. 81
Thiết kế giao diện ............................................................................... 82
Mơ tả màn hình ................................................................................... 83
Danh sách xử lý .................................................................................. 83
Thiết kế giao diện ............................................................................... 84
Mơ tả màn hình ................................................................................... 84
Danh sách xử lý .................................................................................. 84
Thiết kế giao diện ............................................................................... 85
Mơ tả màn hình ................................................................................... 86
Danh sách xử lý .................................................................................. 86
Edit User............................................................................................. 86
Add Room .......................................................................................... 87
Edit Room .......................................................................................... 88
CHƯƠNG 5.
CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG ...................................... 90
Ứng dụng tìm kiếm phịng trọ ............................................................. 91
Trang quản lý Admin .......................................................................... 92
PHẦN KẾT LUẬN .................................................................................................. 95
TÀI LIỆU THAM KHẢO ....................................................................................... 97
DANH SÁCH BẢNG BIỂU
Bảng 1. Use Case Sign In .......................................................................................... 29
Bảng 2. Use Case Sign Up ......................................................................................... 29
Bảng 3. Use Case Search Rooms ............................................................................... 30
Bảng 4. Use Case View Rooms ................................................................................. 30
Bảng 5. Use Case Compare Rooms............................................................................ 31
Bảng 6. Use Case Manage Rooms ............................................................................. 31
Bảng 7. Use Case Create Post .................................................................................... 32
Bảng 8. Use Case Comment Post ............................................................................... 32
Bảng 9. Use Case Post Rooms ................................................................................... 33
Bảng 10. Use Case Locate Address ............................................................................ 34
Bảng 11 Use Case Manage Users............................................................................... 34
Bảng 12. Use Case Manage Post ................................................................................ 35
Bảng 13. Mô tả cơ sở dữ liệu User ............................................................................. 47
Bảng 14. Mô tả cơ sở dữ liệu Room ........................................................................... 47
Bảng 15. Mô tả màn hình đăng nhập .......................................................................... 50
Bảng 16. Danh sách xử lý đăng nhập ......................................................................... 50
Bảng 17. Mơ tả màn hình đăng ký ............................................................................. 52
Bảng 18. Danh sách xử lý đăng ký ............................................................................. 52
Bảng 19. Mơ tả màn hình thanh Sidebar .................................................................... 53
Bảng 20. Danh sách xử lý thanh Sidebar .................................................................... 54
Bảng 21. Mơ tả màn hình trang About và Contact Us ................................................ 55
Bảng 22. Danh sách xử lý trang About và Contact Us ................................................ 55
Bảng 23. Mơ tả màn hình trang chủ ........................................................................... 57
Bảng 24. Danh sách xử lý trang chủ........................................................................... 58
Bảng 25. Mơ tả màn hình danh sách phịng ................................................................ 60
Bảng 26. Danh sách xử lý danh sách phòng ............................................................... 60
Bảng 27. Mơ tả màn hình tìm kiếm phịng theo bộ lọc ............................................... 62
Bảng 28. Danh sách xử lý tìm kiếm phịng theo bộ lọc............................................... 63
Bảng 29. Mơ tả màn hình xử lý tìm phịng theo bản đồ và địa chỉ .............................. 65
Bảng 30. Danh sách xử lý tìm phịng theo bản đồ và địa chỉ ...................................... 65
Bảng 31. Mô tả màn hình so sánh phịng.................................................................... 66
Bảng 32. Danh sách xử lý so sánh phòng ................................................................... 67
Bảng 33. Mơ tả màn hình danh sách phịng so sánh ................................................... 68
Bảng 34. Danh sách xử lý danh sách phịng so sánh ................................................... 69
Bảng 35. Mơ tả màn hình thêm phòng ....................................................................... 71
Bảng 36. Danh sách xử lý thêm phịng ....................................................................... 72
Bảng 37. Mơ tả màn hình đăng tải ảnh ....................................................................... 74
Bảng 38. Danh sách xử lý đăng tải ảnh ...................................................................... 74
Bảng 39. Mơ tả màn hình chi tiết phòng .................................................................... 76
Bảng 40. Danh sách xử lý chi tiết phịng .................................................................... 76
Bảng 41. Mơ tả màn hình danh sách bài đăng ............................................................ 77
Bảng 42. Danh sách xử lý danh sách bài đăng............................................................ 78
Bảng 43. Mơ tả màn hình chi tiết bài đăng ................................................................. 79
Bảng 44. Danh sách xử lý chi tiết bài đăng ................................................................ 79
Bảng 45. Mô tả màn hình đăng nhập (Admin) ........................................................... 80
Bảng 46. Danh sách xử lý đăng nhập (Admin) ........................................................... 80
Bảng 47. Mô tả màn hình danh sách phịng (Admin) ................................................. 81
Bảng 48. Danh sách xử lý danh sách phịng (Admin) ................................................. 81
Bảng 49. Mơ tả màn hình cập nhật phịng (Admin) .................................................... 83
Bảng 50. Danh sách xử lý cập nhật phòng (Admin) ................................................... 83
Bảng 51. Mơ tả màn hình danh sách bài đăng (Admin) .............................................. 84
Bảng 52. Danh sách xử lý danh sách bài đăng (Admin) ............................................. 85
Bảng 53. Mơ tả màn hình cập nhật bài đăng (Admin) ................................................ 86
Bảng 54. Danh sách xử lý cập nhật bài đăng (Admin) ................................................ 86
Bảng 55. Kiểm thử ứng dụng ..................................................................................... 93
DANH SÁCH HÌNH ẢNH
Hình 1.1. Dịch vụ Firebase .......................................................................................... 8
Hình 1.2. Cấu trúc của Flutter .................................................................................... 11
Hình 1.3. Kiến trúc của Redux ................................................................................... 15
Hình 2.1. Ứng dụng tìm nhà trọ Hello Rent ............................................................... 20
Hình 2.2. Ứng dụng tìm nhà trọ Doong ...................................................................... 21
Hình 2.3. Ứng dụng tìm nhà trọ Landber ................................................................... 22
Hình 2.4. Ứng dụng tìm trọ ........................................................................................ 23
Hình 2.5. Sơ đồ Use Case tổng quan .......................................................................... 26
Hình 2.6. Sơ đồ Use Case cho Finder......................................................................... 27
Hình 2.7. Sơ đồ Use Case cho Innkeeper ................................................................... 27
Hình 2.8. Sơ đồ Use Case cho Guess ......................................................................... 28
Hình 2.9. Sơ đồ Use Case cho Admin ........................................................................ 28
Hình 3.1. Sơ đồ luồng dữ liệu Search Rooms ............................................................. 36
Hình 3.2. Thiết kế cơ sở dữ liệu Search Rooms.......................................................... 38
Hình 3.3. Sơ đồ luồng dữ liệu Add Rooms................................................................. 38
Hình 3.4. Thiết kế cơ sở dữ liệu Add Rooms ............................................................. 40
Hình 3.5. Sơ đồ luồng dữ liệu Edit Rooms ................................................................. 40
Hình 3.6. Sơ đồ luồng dữ liệu Add Post ..................................................................... 42
Hình 3.7. Sơ đồ luồng dữ liệu Edit Post ..................................................................... 43
Hình 3.8. Lược đồ quan hệ......................................................................................... 45
Hình 3.9. Cơ sở dữ liệu Firebase dạng node ............................................................... 46
Hình 4.1. Giao diện trang đăng nhập .......................................................................... 49
Hình 4.2. Giao diện trang đăng ký ............................................................................. 51
Hình 4.3. Giao diện thanh Sidebar ............................................................................. 53
Hình 4.4. Giao diện trang About và Contact Us ......................................................... 55
Hình 4.5. Giao diện trang chủ .................................................................................... 56
Hình 4.6. Giao diện thanh tìm kiếm trang chủ ............................................................ 57
Hình 4.7. Giao diện danh sách phịng......................................................................... 59
Hình 4.8. Giao diện tìm phịng theo bộ lọc ................................................................. 60
Hình 4.9. Giao diện tìm thấy phịng theo bộ lọc ......................................................... 61
Hình 4.10. Giao diện khơng tìm thấy phịng theo bộ lọc ............................................ 61
Hình 4.11. Giao diện tìm phịng theo bản đồ và địa chỉ .............................................. 64
Hình 4.12. Giao diện so sánh phịng........................................................................... 66
Hình 4.13. Giao diện danh sách phịng so sánh .......................................................... 68
Hình 4.14. Giao diện thêm phịng .............................................................................. 70
Hình 4.15. Giao diện đăng tải ảnh .............................................................................. 74
Hình 4.16. Giao diện chi tiết phịng ........................................................................... 75
Hình 4.17. Giao diện danh sách bài đăng ................................................................... 77
Hình 4.18. Giao diện chi tiết bài đăng ........................................................................ 78
Hình 4.19. Giao diện đăng nhập (Admin) .................................................................. 80
Hình 4.20. Giao diện danh sách phịng (Admin) ........................................................ 81
Hình 4.21. Giao diện cập nhật phịng (Admin) ........................................................... 82
Hình 4.22. Giao diện danh sách bài đăng (Admin) ..................................................... 84
Hình 4.23. Giao diện cập nhật bài đăng (Admin) ....................................................... 85
Hình 4.24. Sơ đồ tuần tự Edit User ............................................................................ 87
Hình 4.25. Sơ đồ tuần tự Add Room .......................................................................... 88
Hình 4.26. Sơ đồ tuần tự Edit Room .......................................................................... 89
Hình 5.1. Biểu đồ lớp ứng dụng tìm kiếm phịng trọ .................................................. 91
Hình 5.2. Biểu đồ lớp trang quản lý Admin................................................................ 92
Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
PHẦN MỞ ĐẦU
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Từ khi điện thoại thông minh ra đời, hàng loạt các ứng dụng đã được phát triển
nhằm mang lại rất nhiều tiện ích cho người tiêu dùng, chẳng hạn như thanh tốn tiền
điện nước, đóng tiền học, chuyển khoản, kiểm tra tiền gửi… tất cả đều có thể thực hiện
thơng qua một vài thao tác đơn giản.
Việc thuê phòng trọ gần nơi làm việc mang lại rất nhiều lợi ích. Bạn có thể tìm
một phịng trọ cách nơi làm việc từ 1-2 km để thuận tiện đi lại, đồng thời giúp bạn tiết
kiệm cơng sức, thời gian và chi phí di chuyển. Đồng thời, bạn cũng sẽ không phải đối
mặt với tình trạng tắc đường vào giờ cao điểm. Hay tình trạng xe bus đông đúc, chật
chội. Và tất nhiên, sẽ giúp bạn tránh được việc đi làm muộn.
Đối với sinh viên, việc tìm nhà trọ gần trường giúp dễ dàng tham gia các hoạt
động ngoại khóa. Hay đơi khi lên thư viện ôn tập vào những ngày nghỉ cũng tiện lợi
hơn. Tuy nhiên, các khu nhà trọ xung quanh trường đại học đều có giá cao hơn so với
các khu vực xa trường. Mặc dù các khu trọ, dãy trọ, chung cư mini,… đang dần mọc lên
như nấm ở các khu đơng sinh viên.
Ngày nay, nhu cầu tìm nhà trọ sinh viên mỗi mùa tựu trường lại tăng chóng mặt.
Nhất là ở các thành phố lớn như Hà Nội, TP.HCM. Tuy nhiên, khơng phải bạn nào cũng
tìm cho mình được một nhà trọ ưng ý. Lần đầu đi tìm nhà trọ sinh viên đối với các bạn
chắc chắn sẽ gặp nhiều khó khăn.
Những điều trên cho thấy tầm quan trọng của việc tìm trọ hiệu quả đối với sinh
viên nói riêng và mọi người nói chung quan trọng như thế nào. Với một ứng dụng trên
thiết bị di động sẽ hỗ trợ giải quyết vấn đề đó, tìm kiếm phịng trọ và khảo sát giá của
các phòng xung quanh nơi sinh sống và làm việc.
2. MỤC ĐÍCH CỦA ĐỀ TÀI
Tìm hiểu tài liệu về TypeScript, Redux, NextJs, Google Firebase, Flutter (Ngơn
ngữ Dart, Native App, Flutter), Google Cloud Platform và tích hợp Google Map
Services vào ứng dụng.
1
Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
Phân tích, thiết kế và xây dựng ứng dụng tìm trọ trên di động và một số chức
năng cơ bản như sau:
• Đăng nhập, đăng ký, đăng xuất tài khoản.
• Xem danh sách các trọ cịn phịng.
• Xem thơng tin chi tiết phịng trọ.
• Tìm kiếm phịng trọ xung quanh vị trí hiện tại.
• So sánh thơng tin chi tiết của 2 phịng trọ.
• Thêm, xóa phịng trọ.
• Đăng, xóa bài viết trong diễn đàn.
• Bình luận, đánh giá dưới mỗi bài viết trong diễn đàn.
Xây dựng một trang web quản lý cho Admin với một số chức năng như sau :
•
Đăng nhập, đăng xuất tài khoản.
•
Sửa các phịng trọ đã đăng ký trên ứng dụng.
•
Sửa các thơng tin các tài khoản đã đăng ký trên ứng dụng.
•
Thêm, sửa bài viết trong diễn đàn.
3. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1.
Đối tượng nghiên cứu
Ứng dụng tìm trọ dành cho tất cả mọi người ở bất kỳ độ tuổi nào.
3.2.
Phạm vi nghiên cứu
• Tìm hiểu tổng quan Flutter (Ngơn ngữ Dart, Native App, Flutter, các mã
nguồn mở của Flutter).
• Tìm hiểu tổng quan Firebase (Ứng dụng trên di động Function, Data
Realtime).
• Tìm hiểu về Google Maps Platform và tích hợp Google Map Services vào ứng
dụng.
2
Xây dựng hệ thống ứng dụng tìm phịng trọ trên di động
• Tìm hiểu về TypeScript, Redux, NextJs để tạo một trang quản lý dành cho
Admin.
• Tìm hiểu về UI/UX và cải thiện trải nghiệm người dùng, giúp người dùng sử
dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất.
• Xây dựng hệ thống bao gồm ứng dụng tìm trọ trên điện thoại thơng minh phù
hợp với mọi đối tượng và trang web quản lý ứng dụng dành cho Admin để
quản lý ứng dụng và người dùng.
3.3.
Phương pháp nghiên cứu
• Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng
dụng liên quan đến các cơng nghệ đang tìm hiểu.
• Phương pháp chun gia: Tham khảo ý kiến của Thầy hướng dẫn cùng các
anh, chị bạn bè có kinh nghiệm liên quan đến các vấn đề của tiểu luận để tạo
tính chính xác và khoa học của đề tài.
• Phương pháp mơ hình hóa: Mơ phỏng ứng dụng từ bước thiết kế cài đặt cho
đến hiệu quả thành phẩm của ứng dụng.
4. PHÂN TÍCH CÁC ỨNG DỤNG LIÊN QUAN
Hiện nay đã có nhiều ứng dụng tìm phịng trọ với danh sách phịng trọ phong phú,
vị trí địa lý thuận lợi, có nhiều chức năng hỗ trợ người dùng tìm kiếm phịng trọ với giá
cả từ thấp lên cao.
Tuy nhiên một số ứng dụng vẫn cịn các nhược điểm mà nhóm đã tổng hợp được:
• Một số ứng dụng vẫn chưa thu hút người dùng.
• Một số ứng dụng có UI đẹp, nhưng UX vẫn cịn khá tệ.
• Ứng dụng vẫn chưa chủ động trong việc cập nhật thông tin một cách thường
xuyên.
5. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
• Xây dựng được cơ sở dữ liệu đa dạng, nhiều phòng trọ phù hợp với nhiều
người dùng.
• Xây dựng được giao diện đơn giản, dễ sử dụng.
3