số điện thoại
Hình 2.26: Màn hình nhập mã xác thực Hình 2.27: Màn hình nhập thơng tin cá nhân nhân
55
Hình 2.28: Màn hình tìm trọ cỡ lớn Hình 2.29: Màn hình tìm trọ cỡ nhỏ
Hình 2.30: Màn hình tìm trọ trên bản đồ
56
Hình 2.32: Màn hình trọ đã đăng Hình 2.33: Màn hình cập nhật trọ
Hình 2.34: Màn hình chi tiết trọ Hình 2.35: Màn hình tạo dịch vụ vận chuyển
57 Hình 2.36: Màn hình dịch vụ vận chuyển đã đăng Hình 2.37: Màn hình chi tiết dịch vụ vận chuyển Hình 2.38: Màn hình cập nhật thơng tin dịch vụ vận chuyển Hình 2.39: Màn hình đăng bài tìm người ở ghép
58
Hình 2.40: Màn hình tìm người ở ghép Hình 2.41: Màn hình bài đã đăng tìm người ở ghép người ở ghép
Hình 2.42: Màn hình thơng tin cá nhân Hình 2.43: Màn hình cập nhật thơng tin cá nhân cá nhân
59
Hình 2.44: Màn hình chat Hình 2.45: Màn hình chi tiết chat
Hình 2.46: Màn hình tạo bài đăng bán
60 Hình 2.48: Màn hình cập nhật bài đăng
bán đồ dùng cũ Hình 2.49: Đánh giá dịch vụ
61
2.3. Triển khai hệ thống 2.3.1. Firebase 2.3.1. Firebase
Ứng dụng sử dụng Firebase để lưu trữ hầu hết các dữ liệu. Plan free của Firebase có những lợi ích sau:
- Cho phép chứng thực 10.000 lần mỗi tháng.
- Firestore cho phép lưu trữ 1GB miễn phí, cùng với việc cho 50000 lượt đọc, 20000 lượt viết và 20000 lượt xóa tài liệu miễn phí mỗi ngày.
- Cloud Storage hỗ trợ lưu trữ 5GB để lưu trữ các hình ảnh, các file dữ liệu trong ứng dụng.
Những lợi ích của Plan free giúp giảm thiểu chi phí triển khai của ứng dụng. Đồng thời cho phép triển khai ứng dụng nhanh chóng hơn.
62
Hình 2.52: Hình ảnh lưu trữ dữ liệu với Firestore Database
2.3.2. Algolia
Algolia hỗ trợ lưu trữ cho các chức năng yêu cầu hỗ trợ Full Search Text hoặc lọc dữ liệu năng cao mà Firebase không đáp ứng được. Algolia miễn phí 10000 request mỗi tháng.
Hình 2.53: Hình ảnh sử dụng Algolia để lưu trữ các thông tin trọ
2.3.3. Ứng dụng di động
63
Chương 3. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1. Kết quả đạt được
Về phía ứng dụng, đề tài đã hồn thành các chức năng được yêu cầu của ứng dụng. Ứng dụng đã hoạt động tốt và hỗ trợ cho người dùng nhiều vấn đề trong việc ở trọ như sau:
- Cho phép người dùng tìm trọ phù hợp, chủ trọ có thể đăng trọ của mình lên ứng dụng.
- Cho phép người dùng tìm dịch vụ vận chuyển cho mỗi lần chuyển trọ, chủ dịch vụ vận chuyển cũng có thể đăng dịch vụ vận chuyển của mình.
- Cho phép người dùng tìm người ở ghép một cách phù hợp với nghề nghiệp, độ tuổi.
- Cho phép người dùng trao đổi để mua bán những đồ dùng cũ. - Cho phép người dùng đánh giá trọ và dịch vụ vận chuyển.
- Cho phép người dùng bình luận để trao đổi thêm cho bài đăng tìm người ở ghép hay bài đăng bán đồ dùng cũ.
Bên cạnh đó, thơng qua việc xây dựng và phát triển ứng dụng tác giả đã vận dụng những kiến thức được học vào trong đề tài. Ngoài ra, tác giả còn học được thêm những công nghệ, kỹ thuật mới:
- Tìm hiểu được React Native, một cross platform cho việc xây dựng ứng dụng di động.
- Tìm hiểu được Firebase, một platform hỗ trợ cho việc xây dựng ứng dụng nhanh hơn. Trong các dịch vụ của Firebase, tác giả đã tìm hiểu và sử dụng Firestore, Cloud Storage, Firebase Authentication và Realtime Database.
- Tìm hiểu được Algolia, một cloud service chuyên hỗ trợ cho việc tìm kiếm thơng tin. Algolia hỗ trợ những giải pháp tìm kiếm hữu ích như full text search, Geo Search, hỗ trợ autocomplete khi tìm kiếm, hỗ trợ các filter và nhiều giải pháp
64 tìm kiếm khác.
- Tìm hiểu được thư viện react-native-firebase để sử dụng các dịch vụ của firebase trên ứng dụng.
3.2. Thuận lợi và khó khăn Thuận lợi: Thuận lợi:
- Các công nghệ hiện đại dễ tiếp cận. Một số công nghệ tương tự với công nghệ đã làm nên dễ dàng tiếp cận hơn.
- Có sự giúp đỡ tận tình của giáo viên hướng dẫn. Giáo viên hướng dẫn đã định hướng và giải đáp các thắc mắc trong quá trình thực hiện đề tài.
- Các nhóm cùng thực hiện đề tài thường xuyên trao đổi, giúp đỡ lẫn nhau.
Khó khăn:
- Đề tài được thực hiện một mình nên khơng có ai trao đổi đối với một số vấn đề cụ thể của đề tài.
- Công nghệ chưa đáp ứng được một số yêu cầu trong ứng dụng nên phải bổ sung thêm các giải pháp khác.
3.3. Hướng phát triển
Đề tài có thể mở rộng và cải thiện các vấn đề như sau: - Cải thiện UX/UI cho người dùng.
- Hỗ trợ đánh dấu nhà trọ, dịch vụ vận chuyển hoặc các bài đăng đề giúp người dùng có thể dễ dàng tìm lại.
- Xây dựng trang admin giúp quản lý toàn bộ ứng dụng.
- Hỗ trợ cho hệ điều hành iOS, mặc dù ứng dụng sử dụng công nghệ cross platform nhưng do một số yêu cầu kỹ thuật nên chưa triển khai được trên iOS.
- Sau khi hồn thiện, có thể đưa ứng dụng lên Play Store để người dùng có thể tải xuống và sử dụng.
65
TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh:
[1] W. Saman, “ReactNative best practices With best folder structure”, 10 Dec 2020. [online]. Available: https://samanw.medium.com/reactnative-best-practices- with-best-folder-structure-6d2716d3d9cb [Accessed 27 Mar 2021].
[2] T. Ken, “Firebase Firestore Text Search and Pagination”, 26 Feb 2019. [online]. Available: https://medium.com/@ken11zer01/firebase-firestore-text-search-and- pagination-91a0df8131ef [Accessed 23 Apr 2021].
[3] B. Ross, “React Native Lists: Load More by Scrolling”, 14 Aug 2020. [online]. Available: https://rossbulat.medium.com/react-native-lists-load-more-by-scrolling- 378a1c5f56a6 [Accessed 24 Apr 2021].
[4] S. Nicholas, “Setup Facebook Login using Firebase”, 28 May 2020. [online]. Available: https://medium.com/@nicholasstano/setup-facebook-login-using- firebase-84ced79e7f5e [Accessed 28 Apr 2021].
[5] R. Umang, “Facebook login in React Native apps”, 30 Aug 2019. [online]. Available: https://medium.com/enappd/facebook-login-in-react-native-apps- 6ff5995e1932 [Accessed 28 Apr 2021].
[6] K. Vadim, “Building in-app notification system in React Native” 2 Sep 2019. [online]. Available: https://medium.com/@vadimkorr/building-in-app-notification- system-in-react-native-96efd478ef31 [Accessed 25 May 2021].
[7] Facebook, “Core Components and Native Components”. [online]. Available: https://reactnative.dev/docs/intro-react-native-components
[8] Google, “Add Firebase to your JavaScript project”, Available: https://firebase.google.com/docs/web/setup [Accessed 2 Apr 2021]. [9] Google, “Paginate data with query cursors”, Available:
https://firebase.google.com/docs/firestore/query-data/query-cursors [Accessed 2 Apr 2021].
[10] Jscrambler Blog, “Build a Chat App with Firebase and React Native”, 24 Apr 2019. [online]. Available: https://blog.jscrambler.com/build-a-chat-app-with-
66 firebase-and-react-native [Accessed 2 Apr 2021].
Tài liệu tiếng Việt:
[1] N.M. Quan, “Làm việc với Firebase Realtime Database”, 10/20/2016. [Trực tuyến]. Địa chỉ: https://viblo.asia/p/lam-viec-voi-firebase-realtime-database- ZjlvalVXkqJ [Truy cập 23/04/2021].
[2] Tapchicongthuong, “Nghiên cứu hành vi thuê nhà trọ của sinh viên Trường Đại học Công nghiệp Hà Nội”, 13/08/2020. [Trực tuyến]. Địa chỉ:
https://tapchicongthuong.vn/bai-viet/nghien-cuu-hanh-vi-thue-nha-tro-cua-sinh- vien-truong-dai-hoc-cong-nghiep-ha-noi-73954.htm [Truy cập 13/03/2021]. [3] HueDiemDue, “Sử dụng svg và animation render view trong react native”, 10/05/2019. [Trực tuyến]. Địa chỉ: https://viblo.asia/p/su-dung-svg-va-animation- render-view-trong-react-native-Az45bGrgKxY [Truy cập 01/04/2021].
[4] L.T.T. Vinh và N.T. Phong, “Điều tra nhu cầu và khả năng tìm kiếm phịng trọ của sinh viên trường Đại học Vinh”. [Ngoại tuyến].
[5] Cơng đồn, “TP.HCM: Phần lớn công nhân phải thuê nhà trọ giá rẻ”,
23/04/2018. [Trực tuyến]. Địa chỉ: https://nld.com.vn/cong-doan/tphcm-phan-lon- cong-nhan-phai-thue-nha-tro-gia-re-20180423073842761.htm [Truy cập