Xây Dựng Ứng Dụng Tìm Phòng Trọ Trên Di Động

Tài liệu nghiên cứu Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Chuyên ngành

Công nghệ phần mềm

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2020

117
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

ĐỀ CƯƠNG TIỂU LUẬN CHUYÊN NGÀNH

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT TỔNG QUAN VỀ FLUTTER

1.1. Giới thiệu Flutter

1.2. Lịch sử phát triển của Flutter

1.3. Đặc điểm chính của Flutter

1.4. Ưu, nhược điểm của Flutter

1.5. Giới thiệu về Google Firebase

1.6. Lịch sử của Firebase

1.7. Chức năng chính của Firebase

1.8. Đặc điểm nổi bật của Firebase

1.9. Cấu hình tác vụ

1.10. Tổng quan về Google Map API

1.11. Các dịch vụ Google Map APIs

1.12. Giới thiệu về Redux

1.13. Lịch sử phát triển của Redux

1.14. Đặc điểm chính của Redux

1.15. Giới thiệu về TypeScript

1.16. Đặc điểm chính của TypeScript

1.17. Ưu điểm của TypeScript

1.18. Giới thiệu về NextJs

1.19. Đặc điểm chính của NextJs

2. 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. Mô tả chi tiết use case

3. CHƯƠNG 3: PHÂN TÍCH, MÔ HÌNH HOÁ YÊ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

4. 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ý

5. CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG

5.1. Cài đặt ứng dụng

5.2. Kiểm thử ứng dụng

PHẦN MỞ ĐẦU

PHẦN NỘI DUNG

PHẦN KẾT THÚC

5.3. Những kết quả đạt được

5.4. Hạn chế đề tài

5.5. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về ứng dụng tìm phòng trọ di động Giải pháp tiện lợi

Ứng dụng tìm phòng trọ di động đã trở thành một phần không thể thiếu trong cuộc sống hiện đại. Với sự phát triển của công nghệ, việc tìm kiếm phòng trọ trở nên dễ dàng hơn bao giờ hết. Ứng dụng này không chỉ giúp người dùng tiết kiệm thời gian mà còn cung cấp thông tin chi tiết về các phòng trọ, giá cả và vị trí. Đặc biệt, ứng dụng còn hỗ trợ người dùng so sánh các lựa chọn khác nhau, từ đó đưa ra quyết định thuê phòng hợp lý nhất.

1.1. Lợi ích của việc sử dụng ứng dụng tìm phòng trọ di động

Việc sử dụng ứng dụng tìm phòng trọ di động mang lại nhiều lợi ích cho người thuê. Người dùng có thể dễ dàng tìm kiếm phòng trọ gần nơi làm việc hoặc học tập, tiết kiệm thời gian và chi phí di chuyển. Hơn nữa, ứng dụng còn cung cấp thông tin chi tiết về từng phòng, giúp người dùng đưa ra quyết định chính xác hơn.

1.2. Các tính năng nổi bật của ứng dụng tìm phòng trọ

Ứng dụng tìm phòng trọ di động thường tích hợp nhiều tính năng hữu ích như tìm kiếm theo vị trí, so sánh phòng trọ, và đánh giá từ người dùng. Những tính năng này không chỉ giúp người thuê dễ dàng tìm được phòng ưng ý mà còn tạo ra một cộng đồng chia sẻ thông tin hữu ích.

II. Vấn đề và thách thức trong việc tìm phòng trọ hiện nay

Mặc dù ứng dụng tìm phòng trọ di động mang lại nhiều tiện ích, nhưng vẫn tồn tại một số vấn đề và thách thức. Nhiều người dùng gặp khó khăn trong việc tìm kiếm thông tin chính xác và cập nhật về các phòng trọ. Hơn nữa, một số ứng dụng vẫn chưa đáp ứng được nhu cầu của người dùng về giao diện và trải nghiệm sử dụng.

2.1. Khó khăn trong việc tìm kiếm thông tin phòng trọ

Nhiều ứng dụng hiện nay không cung cấp thông tin đầy đủ và chính xác về các phòng trọ. Điều này khiến người dùng gặp khó khăn trong việc lựa chọn phòng phù hợp với nhu cầu của mình.

2.2. Vấn đề về giao diện và trải nghiệm người dùng

Một số ứng dụng có giao diện đẹp nhưng lại thiếu tính năng thân thiện với người dùng. Điều này có thể làm giảm trải nghiệm của người dùng và khiến họ không muốn sử dụng ứng dụng.

III. Phương pháp giải quyết vấn đề tìm phòng trọ hiệu quả

Để giải quyết các vấn đề trong việc tìm phòng trọ, cần có những phương pháp và giải pháp hiệu quả. Việc cải thiện giao diện người dùng và cập nhật thông tin thường xuyên là rất quan trọng. Hơn nữa, việc tích hợp công nghệ mới như AI và machine learning có thể giúp nâng cao trải nghiệm người dùng.

3.1. Cải thiện giao diện người dùng

Giao diện người dùng cần được thiết kế đơn giản, dễ sử dụng và thân thiện. Việc này sẽ giúp người dùng dễ dàng tìm kiếm và lựa chọn phòng trọ mà họ mong muốn.

3.2. Tích hợp công nghệ mới vào ứng dụng

Sử dụng công nghệ AI và machine learning có thể giúp ứng dụng tự động cập nhật thông tin và đề xuất phòng trọ phù hợp với nhu cầu của người dùng. Điều này không chỉ nâng cao trải nghiệm mà còn giúp người dùng tiết kiệm thời gian.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu về tìm phòng trọ

Nghiên cứu cho thấy rằng ứng dụng tìm phòng trọ di động đã giúp hàng triệu người dùng tìm kiếm phòng trọ một cách nhanh chóng và hiệu quả. Các ứng dụng này không chỉ cung cấp thông tin về phòng trọ mà còn tạo ra một cộng đồng chia sẻ thông tin hữu ích giữa người thuê và chủ nhà.

4.1. Kết quả từ việc sử dụng ứng dụng tìm phòng trọ

Nhiều người dùng đã báo cáo rằng họ tìm thấy phòng trọ ưng ý chỉ trong vài phút nhờ vào ứng dụng. Điều này cho thấy hiệu quả của việc sử dụng công nghệ trong việc tìm kiếm nhà ở.

4.2. Phản hồi từ người dùng về ứng dụng

Phản hồi từ người dùng cho thấy họ đánh giá cao tính năng so sánh phòng trọ và thông tin chi tiết mà ứng dụng cung cấp. Tuy nhiên, vẫn cần cải thiện một số tính năng để đáp ứng tốt hơn nhu cầu của người dùng.

V. Kết luận và tương lai của ứng dụng tìm phòng trọ di động

Ứng dụng tìm phòng trọ di động đang ngày càng trở nên phổ biến và cần thiết trong cuộc sống hiện đại. Với sự phát triển không ngừng của công nghệ, tương lai của ứng dụng này hứa hẹn sẽ mang lại nhiều tiện ích hơn nữa cho người dùng. Việc cải thiện và cập nhật thường xuyên sẽ giúp ứng dụng ngày càng hoàn thiện hơn.

5.1. Tương lai của ứng dụng tìm phòng trọ

Với sự phát triển của công nghệ, ứng dụng tìm phòng trọ sẽ ngày càng thông minh hơn, giúp người dùng tìm kiếm phòng trọ một cách nhanh chóng và hiệu quả hơn.

5.2. Định hướng phát triển ứng dụng trong thời gian tới

Các nhà phát triển cần chú trọng đến việc cải thiện trải nghiệm người dùng và tích hợp các công nghệ mới để nâng cao hiệu quả của ứng dụng. Điều này sẽ giúp ứng dụng trở thành lựa chọn hàng đầu cho người dùng trong việc tìm kiếm phòng trọ.

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

Trích đoạn nội dung tài liệu

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT TỔNG QUAN VỀ FLUTTER Giới thiệu Flutter[1] Flutter được Google giới thiệu là một bộ SDK(Software Development Kit) mới trong giới phát triển ứng dụng di động. Là một SDK mới của Google dành cho các thiết bị di động giúp nhà phát triển và nhà thiết kế xây dựng nhanh chóng ứng dụng dành cho các thiết bị di động (Android, iOS). Nó như một thủ thuật khôn khéo để tương thích được với framework UI trên cả hai hệ điều hành này.

Các ứng dụng Flutter không biên dịch trực tiếp với các ứng dụng native của Android và iOS. Thay vào đó, chúng chạy trên engine render Flutter (được viết bằng C++) và Flutter Framework (được viết bằng Dart, cũng như các ứng dụng Flutter), cả hai bộ này đều được đóng gói cùng với mọi ứng dụng. Sau đó bộ SDK sẽ đóng gói lại vào trong một ứng dụng để sẵn sàng chạy trên mỗi nền tảng. Bạn tạo ra ứng dụng của mình, một engine mới sẽ chạy các đoạn code của Flutter, và các đoạn mã nguồn vừa đủ để nền tảng Flutter chạy trên cả Android và iOS.

Flutter được phát triển nhằm giải quyết bài toán thường gặp trong thiết bị di động là Fast Development và Native Performance. Nếu như React Native chỉ đảm bảo Fast Development và mã nguồn thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên. Lịch sử phát triển của Flutter[2] Phiên bản đầu tiên của Flutter được gọi là "Sky" và chạy trên hệ điều hành Android. Flutter được công bố tại hội nghị nhà phát triển Dart 2015, với dự định ban đầu để có thể kết xuất ổn định ở mức 120 khung hình trên giây.

Trong bài phát biểu chính ở hội nghị Google Developer Days tại Thượng Hải, Google công bố phiên bản Flutter Release Preview 2, đây là phiên bản lớn cuối cùng trước Flutter 1. Vào ngày 4 tháng 12 năm 2018, Flutter 1.0 đã được phát hành tại sự kiện Flutter Live, là phiên bản "ổn định" đầu tiên của khung ứng dụng này. 5 Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động Đặc điểm chính của Flutter[3] • Ngôn ngữ Dart. Dart là ngôn ngữ hướng đối tượng (OOP), định nghĩa lớp (class defined), thu gom rác (garbage-collected) và được xem như là ngôn ngữ lập trình tối ưu hóa phía client (client-optimized programming language) cho các ứng dụng chạy đa nền tảng.

Được phát triển bời Google, Dart nói chung và Flutter nói riêng được hỗ trợ bởi nhà phát triền lớn mạnh và cộng đồng rộng lớn, nó hỗ trợ interfaces, mixins, abstract classes, reified generics, stactic typing. Dart chủ yếu được sử dụng để phát triền ứng dụng di động, ngoài ra thì nó cũng được sử dụng trong ứng dụng desktop, phát triển hệ thống backend và ứng dụng web application. • Các IDE được khuyến nghị với Flutter là Android Studio, Intellij Idea hoặc đơn giản và phổ biến hơn là Visual Studio Code. • Về cầu nối đối với những ứng dụng di động đa nền tảng, Flutter sử dụng Dart, so với đối thủ lớn nhất hiện giờ là React Native sử dụng Javascript, Flutter đảm bảo được hiệu năng và đảm bảo nó tốt hơn so với React Native.

• React Native và Flutter chia sẻ các mô hình tương tự như trình xử lý sự kiện và mở rộng lớp. • Điểm mạnh nhất của Flutter được giới thiệu chính là Fast Development, Native Performance và dễ dàng tạo xây dựng giao diện bắt mắt, biểu cảm. Ưu, nhược điểm của Flutter[3] Ưu điểm • Ngôn ngữ Dart: Dart - OOP, nó khá dài, nhưng những người quen viết bằng Java / C # sẽ hài lòng với Dart. • Ít phải config khi tạo project mới theo cách thủ công, ngược lại với React Native.

• Chỉ cần tải về Flutter từ git, chạy “flutter doctor”, và nó sẽ cho bạn biết những loại vấn đề bạn có thể có trong hệ thống. Sau đó, tạo một project từ Android 6 Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động Studio hoặc bất kỳ IDE nào sau khi cài đặt Flutter Plug-in sơ bộ và start project. Ngoài ra nó còn có Hot-reload giống như trong React-Native. • Hỗ trợ tuyệt vời cho IDE (Android Studio, IDE IntelliJ, VSCode) • Trình điều hướng tích hợp sẵn.

Sau khi tạo ra một ứng dụng trên Flutter, bạn có thể thấy nó có Navigator được xây dựng sẵn. Bạn có thể tạo một route mới mà không cần kết nối bất kỳ thứ gì (không giống như trong RN, nơi bạn cần kết nối bất kỳ package điều hướng gốc nào vv). • Giải pháp quản lý dữ liệu được tạo sẵn, ví dụ trong Flutter này là "Mọi thứ đều có một Widget" cho nó. Có một StatefulWidget đặc biệt, với sự giúp đỡ của nó mà chúng ta có thể quản lý trạng thái widget và thay đổi nó một cách năng động.

Nhược điểm • Có một rào cản lớn cho những người chỉ học JS, hoặc đến từ RN. Do thực tế là Dart được sử dụng với sự thừa kế, đa hình của nó và tất cả các thứ về OOP. • Không có JSX mà tất cả chúng ta đã quen khi làm RN. Nhìn vào tệp Dart trong đó không có phân chia thành template, styling và data, nó trở nên khó chịu.

• Styling là một nhược điểm. Thực tế là không có sự tách biệt thành Styles, templates và controller, có một vấn đề khi mô tả một thành phần thì chúng ta cũng cần mô tả các styles cùng một lúc. • Animation còn khó khăn hơn. Mặc dù nó có một animation tốt, nhưng nó sẽ khó hơn khi tạo hiệu ứng động, không giống như trong RN.

Trong Flutter, chỉ có thừa kế widget với các điều kiện có thể thay đổi (trạng thái) và không thể thay đổi (không trạng thái). Trong khi ở React- Native chúng ta có thể quản lý vòng đời. Ngoài ra, một nhược điểm lớn là thiếu các công cụ để lưu trạng thái của ứng dụng, vấn đề này có thể, tuy nhiên, được giải quyết bằng cách tuần tự hóa trạng thái hiện tại. 7 Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động TỔNG QUAN VỀ GOOGLE FIREBASE Giới thiệu về Google Firebase[4] Firebase là một dịch vụ điện toán đám được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng di động, đơn giản và hiệu quả cao, tương tác tốt với thời gian thực.

Với nhiều dịch vụ chất lượng cao Firebase đã và đang, không chỉ là sự lựa chọn hàng đầu cho các lập trình viên, các công ty khởi nghiệp, mà các công ty, tổ chức lớn có tên tuổi cũng sử dụng Firebase để xây dựng các tính năng, các chương trình mới, cũng như chuyển đổi các dịch vụ trước đây sang hệ thống của Firebase. Cơ sở dữ liệu của Firebase là NoSQL, được tổ chức theo kiểu trees, parent- children. Dịch vụ Firebase Lịch sử của Firebase[4] Firebase (tiền thân là Evolve) được thành lập vào năm 2011. Ban đầu, Evolve chỉ cung cấp cơ sở dữ liệu để các lập trình viên thiết kế các ứng dụng chat.

Tuy nhiên, họ nhanh chóng nhận ra tiềm năng sản phẩm của mình khi nhận thấy các khách hàng không sử dụng cơ sở dữ liệu để làm ứng dụng chat, mà thay vào đó, để lưu các thông tin như game progress. Bộ đôi Lee và Tamplin quyết định tách mảng Realtime ra để thành lập một công ty độc lập – chính là Firebase – vào tháng 4 năm 2012. 8 Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động Sau nhiều lần huy động vốn và gặt hái được những thành công nổi bật, Firebase đã được Google để ý. Vào tháng 10 năm 2014, Firebase gia nhập gia đình Google.

Chức năng chính của Firebase[4] Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database. • Firebase Cloud Firestore[5] Cloud Firestore là một Realtime Database linh hoạt và dễ mở rộng cho mobile, Web và server được phát triển từ Firebase và Google Cloud Platform. Cũng giống như Firebase Realtime Database, nhưng là phiên bản nâng cấp và mạnh mẽ hơn, Firestore giúp cho việc đồng bộ dữ liệu giữa các ứng dụng phía khách hàng một các nhanh chóng (Realtime) và hộ trợ lưu offline data trong ứng dụng. Firestore đã và đang dần cải thiện những yếu điểm mà người anh tiền nhiệm Realtime Database còn mắc phải như các truy vấn, kiểu dữ liệu,… Cloud Firestore là một cloud-hosted, NoSQL database mà các ứng dụng phía client có thể trực tiếp truy cập thông qua native SDKs.

Nó lưu dữ liệu theo mô hình dữ liệu NoSQL. Dữ liệu được lưu trữ trong các file tài liệu chứa các trường được ánh xạ vào các giá trị. Các file tài liệu này được lưu trữ trong các tập hợp chúng có thể sử dụng nó để tổ chức dữ liệu và truy vấn dữ liệu. Cloud Firestore hỗ trợ rất nhiều kiểu dữ liệu từ đơn giản như String, Integer hay những kiểu dữ liệu phức tạp như các đối tượng lồng nhau.

• Firebase authentication – Hệ thống xác thực của Firebase Có thể dễ dàng tích hợp các công nghệ xác thực của Google, Facebook, Twitter… hoặc một hệ thống xác thực mà tự tạo ra ở bất kì nền tảng nào như Android, iOS hoặc Web. • Firebase storage Có thể lưu trữ dữ liệu trực tiếp trên server của firebase như hình ảnh, video, tập tin một cách dễ dàng. Firebase còn bổ sung Google security để tải lên và tải về các ứng dụng firebase, để lưu trữ hình ảnh, âm thanh, video hoặc nội dung do người dùng tạo ra. 9 Xây dựng hệ thống ứng dụng tìm phòng trọ trên di động Đặc điểm nổi bật của Firebase[4] • Triển khai ứng dụng nhanh Có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase.

Hỗ trợ đa nền tảng giúp thuận lợi và tiết kiệm thời gian trong việc xây dựng ứng dụng đa nền tảng. • Bảo mật Bảo mật tốt do Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL. Cho phép phân quyền người dùng database bằng cú pháp javascipt. • Tính linh hoạt và khả năng mở rộng Firebase sẽ giúp đơn giản hóa việc nâng cấp hay mở rộng dịch vụ, cho phép xây dựng server của riêng.

Việc Firebase sử dụng NoSQL, giúp cho database không bị bó buộc trong các bảng và các trường mà có thể tùy ý xây dựng database theo cấu trúc của riêng. • Ổn định Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như không phải lo lắng về việc sập server, tấn công mạng như DDOS. Hoạt động trên nền tảng Cloud giúp việc nâng cấp, bảo trì server diễn ra đơn giản, không cần phải dừng server để nâng cấp như truyền thống.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Ứng Dụng Tìm Phòng Trọ Di Động: Giải Pháp Thuận Tiện Cho Người Thuê" trình bày một giải pháp hữu ích cho những người đang tìm kiếm chỗ ở, đặc biệt là sinh viên và người lao động trẻ. Ứng dụng này không chỉ giúp người dùng dễ dàng tìm kiếm phòng trọ mà còn cung cấp thông tin chi tiết về các địa điểm, giá cả và các tiện ích đi kèm. Điều này giúp tiết kiệm thời gian và công sức cho người thuê, đồng thời nâng cao trải nghiệm tìm kiếm chỗ ở.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng di động khác có liên quan, hãy tham khảo tài liệu Đồ án hcmute xây dựng app khám bệnh online với react native và nodejs, nơi bạn có thể khám phá cách xây dựng ứng dụng di động trong lĩnh vực y tế. Ngoài ra, tài liệu Đồ án chuyên ngành xây dựng ứng dụng di động bán hoa dflower cho cửa hàng ld ở bình dương sẽ cung cấp cho bạn cái nhìn về ứng dụng thương mại điện tử. Cuối cùng, bạn có thể tìm hiểu về Luận văn tốt nghiệp xây dựng ứng dụng chat trong android với firebase, một ứng dụng giao tiếp di động, để thấy được sự đa dạng trong việc phát triển ứng dụng di động. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và hiểu rõ hơn về các ứng dụng di động hiện nay.