Tải bản đầy đủ (.pdf) (120 trang)

Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.15 MB, 120 trang )

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






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.


đă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



đế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


×