Các sơ đồ và luồng hoạt động

Một phần của tài liệu Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp) (Trang 70)

4. Về thái độ làm việc của sinh viên:

4.3. Các sơ đồ và luồng hoạt động

4.3.1. Đăng kí

4.3.1.1. Mô tả:

Là chức năng cho phép người dùng tạo tài khoản mới trong hệ thống.

Người dùng nhập tên user, email và mật khẩu, đây là những thông tin bắt buộc khi tạo một tài khoản mới.

Hệ thống tạo tài khoản mới cho người dùng và người dùng sử dụng tài khoản này để đăng nhập vào hệ thống.

Sau khi tạo tài khoản thành công, người dùng sẽ sử dụng tên user và mật khẩu để vào ứng dụng.

4.3.1.2. Sơ đồ hoạt động

4.3.1.3. Sơ đồ tuần tự

4.3.2. Đăng nhập: 4.3.2.1. Mô tả

Là chức năng cho phép người dùng sử dụng tài khoản đã tạo để đăng nhập vào ứng dụng.

Người dùng sử dụng user name và mật khẩu để đăng nhập.

Hệ thống kiểm tra tài khoản đã tồn tại và xác thực hay chưa, nếu đã có thì nhảy tới trang chủ ứng dụng.

4.3.2.2. Sơ đồ hoạt động

4.3.2.3. Sơ đồ tuần tự

4.3.3. Tìm kiếm: 4.3.3.1. Mô tả:

Là chức năng cho phép người dùng tìm kiếm bài viết, những thông tin của bài viết về nhu cầu tìm kiếm của người dùng, hệ thống sẽ trả về thông tin bài viết khớp với thông tin mà người dùng cần tìm.

Hệ thống tìm kiếm cung cấp cho người dùng về tên lại hình bất động sản, địa chỉ, diện tích, giá bán, hình ảnh chi tiết và một số thông tin khác về loại hình bất động sản.

4.3.3.2. Sơ đồ hoạt động:

4.3.3.3. Sơ đồ tuần tự:

4.3.4. Sắp xếp: 4.3.4.1. Mô tả:

Là chức năng cho phép người dùng sắp xếp thông tin bài viết theo diện tích, theo giá tiền hoặc mới nhất để tiện theo dõi.

Người dùng truy cập vào hệ thống sắp xếp theo nhu cầu cần tìm, thông tin bài viết sẽ được cung cấp cho người dùng theo lựa chọn sắp xếp.

4.3.4.2. Sơ đồ hoạt động:

4.3.4.3. Sơ đồ tuần tự:

4.3.5. Thiết lập biểu đồ: 4.3.5.1. Mô tả:

Đây là chức năng cho phép người dùng tìm kiếm thông tin theo biểu đồ, giúp người dùng có một cái nhìn trực quan về thông tin nhà đất

Người dùng truy cập vào hệ thống, tìm kiếm thông tin, hệ thống sẽ cung cấp các biểu đồ theo yêu cầu của người dùng.

4.3.5.2. Sơ đồ hoạt động:

4.3.5.3. Sơ đồ tuần tự:

4.3.6. Dự đoán giá nhà đất: 4.3.6.1. Mô tả:

Đây là chức năng dự đoán giá nhà đất trong tương lai theo khu vực cho người dùng, giúp người dùng có thêm thông tin để tìm hiểu mua bán bất động sản

4.3.6.2. Sơ đồ hoạt động

4.3.6.3. Sơ đồ tuần tự

4.3.7. Đề xuất bài viết cho người dùng 4.3.7.1. Mô tả 4.3.7.1. Mô tả

Đây là chức năng khi người dùng thực hiện, hệ thống sẽ đề xuất những bài viết phù hợp với thông tin và nhu cầu tìm kiếm của người dùng

Người dùng đăng nhập vào hệ thống, cập nhật thông tin cá nhân, hệ thống sẽ dựa trên thông tin cá nhân và lịch sử tìm kiếm, lịch sử xem bài viết để tính toán, đứa ra những bài đăng phù hợp nhất cho người dùng

4.3.7.2. Sơ đồ hoạt động

4.3.7.3. Sơ đồ tuần tự

4.4. Thiết kế kiến trúc:

4.4.1. Mô hình kiến trúc

Hiện tại nhóm em xây dựng đề tài trên web. Project của nhóm được kế theo mô hình: mô hình MVC (Model-View-Controller).

4.4.2. Mô tả

MVC: là mô hình giúp tương tác giữa người dùng và giao diện đồ họa. Mô hình MVC gồm có 3 phần:

- Model: bao gồm các dữ liệu, trạng thái.

- View: là đại diện của các Model, View có trách nhiệm render ra giao diện người dùng (UI) và giao tiếp với controller khi người dùng tương tác với ứng dụng.

- Controller: là phần điều khiển tổng thể những gì xảy ra trong ứng dụng. Khi View nói với Controller rằng người dùng click vào một nút, Controller sẽ quyết định làm thế nào để tương tác với các Model phù hợp. Dựa trên dữ liệu thay đổi trong Model, Controller có thể quyết định cập nhật lại trạng thái của View.

4.4.2.1. ExpressJS

Express là một framework hỗ trợ việc phát triển ứng dụng theo mô hình MVC, mô hình phổ biến cho việc lập trình web hiện nay.

 Cho phép định nghĩa Middleware hỗ trợ cho việc tổ chức và tái sử dụng code.

 Định nghĩa routes và các request method đến server một cách dễ dàng.

 Hỗ trợ REST API.

 Và còn rất nhiều thứ mà framework này hỗ trợ, còn bây giờ hãy thử cài đặt và

xây dựng một ứng dụng đơn giản nhé.

4.4.2.2. NodeJS server

Trong hệ thống này, server được sử dụng trên NodeJS. Vậy NodeJS là gì và lý do sử dụng nó:

 Node.js là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine. Nó được xây dựng để chạy trên server.

4.4.2.3. Cơ sở dữ liệu

Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MongoDB, là một dạng NoSQL không ràng buộc kiểu dữ liệu giúp việc lưu trữ thông tin tiện nghi hơn, và dữ liệu được lưu trữ ở trên server Mongo chứ không phải trong máy tính người dùng.

Dữ liệu sau khi được cào sẽ lưu trên server Mongo, được ghi với <Key>:<Value>. Ngoài ra hệ cơ sở dữ liệu mongodb cũng cung cấp các phương thức CRUD để thuận tiện trong việc thao tác.

Hệ thống cũng sự dụng thêm cơ sở dữ liệu SQLite để thực hiện quản lý người dùng và lưu lại lịch sử tìm kiếm, lịch sử xem bài viết giúp việc truy dữ liệu nhanh chóng, hiệu quả hơn

4.4.3. Thiết kế cơ sở dữ liệu: 4.4.3.1. SQLite: 4.4.3.1. SQLite:

Thiết kế:

Hình 4.17 Cơ sở dữ liệu SQLite

Mô tả:

STT Tên bảng Ý nghĩa

1 User Thông tin người dùng hệ thống

2 LogSearch Thông tin lịch sử tìm kiếm của người dùng

3 LogPost Thông tin lịch sử xem bài viết của người dùng Bảng 4.11. Bảng mô tả thông tin các table trong database

Mô tả chi tiết từng table: - User

STT Thuộc tính Ý nghĩa

1 id ID của người dùng

2 full_name Tên đăng nhập của người dùng 3 password Mật khẩu người dùng

4 gender Giới tính của người dùng 5 date_of_birth Ngày sinh người dùng

6 identity_num Số CMND/CCCD của người dùng 7 email Email người dùng

8 country_code Quốc gia 9 address Địa chỉ

10 province_info Tỉnh/Thành phố 11 district_info Huyện/Quận 12 ward_info Xã/ Phường 13 create_at Thời gian tạo 14 create_by Người khởi tạo 15 update_at Thời gian cập nhật 16 update_by Người cập nhật

- LogSearch

STT Thuộc tính Ý nghĩa

1 id Id

2 user_id Id người dùng

3 real_estate_type Loại thông tin bất động sản 4 price_search Thông tin tìm kiếm giá tiền 5 squad_search Thông tin tìm kiếm diện tích

6 province_search Thông tin tìm kiếm Tỉnh/Thành phố 7 district_search Thông tin tìm kiếm Huyện/Quận 8 create_at Thời gian tạo

9 create_by Người khởi tạo 10 update_at Thời gian cập nhật 11 update_by Người cập nhật

Bảng 4.13 Bảng mô tả table LogSearch

- LogPost

STT Thuộc tính Ý nghĩa

1 id Id

2 user_id Id người dùng

3 object_id Id của bài viết lấy từ MongoDB 4 real_estate_type Loại thông tin bất động sản 5 price_search Thông tin giá tiền

7 province_search Thông tin Tỉnh/Thành phố 8 district_search Thông tin Huyện/Quận 9 create_at Thời gian tạo

10 create_by Người khởi tạo 11 update_at Thời gian cập nhật 12 update_by Người cập nhật

Bảng 4.14. Bảng mô tả table LogPost

4.4.3.2. MongoDB: Thiết kế:

Mô tả

STT Tên Collection Ý nghĩa

1 PostDetail Thông tin chi tiết của tin tức bất động sản Bảng 4.15Các collection trong database MongoDb

Mô tả chi tiết từng collection PostDetail

STT Thuộc tính Ý nghĩa

1 _id ID chi tiết tin tức

2 real_estate_type Loại thông tin bất động sản 3 title Tiêu đề của bài đăng

4 image Đường link dẫn tới những hình ảnh 5 price Giá tiền

6 area Diện tích

7 address Địa chỉ của tin tức

8 description Nội dung chi tiết của tin tức bất động sản 9 post_url URL của thông tin bài viết

10 create_at Thời gian tạo 11 create_by Người khởi tạo 12 update_at Thời gian cập nhật 13 update_by Người cập nhật

4.5. Thiết kế giao diện:

4.5.1. Màn hình đăng kí tài khoản:

Hình 4.19 Màn hình đăng kí

STT Tên đối tượng Chức năg

1 EditText Username Nhập tên tài khoản. 2 EditText Email Nhập email sử dụng. 3 EditText Password Nhập mật khẩu

4 Button Đăng Nhập Chuyển qua màn hình đăng nhập 5 Button Đăng Ký Thực hiện đăng kí tài khoản

-Người dùng cần nhập đầy đủ thông tin, hệ thống sẽ cảnh báo nếu người dùng nhập thiếu -Sau khi đăng kí thành công sẽ có thông báo cho

người dùng

4.5.2. Màn hình đăng nhập:

Hình 4.20 Màn hình đăng nhập

STT Tên đối tượng Chức năg

1 EditText Username Nhập tên tài khoản. 3 EditText Password Nhập mật khẩu

4 Button Đăng Ký Chuyển qua màn hình đăng ký 5 Button Đăng Nhập Thực hiện đăng nhập tài khoản

- Người dùng cần nhập đầy đủ thông tin, hệ thống sẽ cảnh báo nếu người dùng nhập thiếu

- Sau khi đăng nhập thành công sẽ chuyển đến màn hình trang chủ

4.5.3. Màn hình trang chủ:

4.5.4. Màn hình xem thông tin tìm kiếm:

4.5.5. Màn hình xem chi tiết thông tin bài viết:

4.5.6. Màn hình xem thông tin biểu đồ:

4.5.7. Màn hình biểu đồ giá nhà đất trung bình theo thành phố

4.5.8. Màn hình dự đoán giá nhà đất trung bình theo quận (huyện):

4.5.9. Màn hình dự đoán giá nhà đất

Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Qua quá trình thực hiện đồ án, nhóm đã đạt được kết quả:

5.1. Ưu điểm:

- Đã có thể tự xây dựng một ứng dụng hoàn thiện, có cả back-end và front-end, và tự xây dựng lên framework và API cho chính hệ thống.

- Ứng dụng web đã có các tính năng cơ bản của một hệ thống thu thập và chia sẻ dữ liệu bất động sản như tìm kiếm, sắp xếp,…

- Xây dựng ứng dụng theo quy trình cụ thể, sử dụng các ngôn ngữ mới học được như Nodejs và Reactjs kết hợp với các tích hợp được hỗ trợ để khiến hệ thống đa dạng hơn.

- Nhóm hoàn thành được các yêu cầu qua trọng của đồ án là rút trích dữ liệu và trực quan hóa dữ liệu bất động sản, đồng thời tạo ra hệ thống có thể tìm kiếm và sắp xếp thông tin cho người dùng,…

5.2. Nhược điểm:

- Còn một số tính năng đề ra ban đầu nhóm đã không thực hiện được như thêm vào danh sách yêu thích, thích hay bình luận bài đăng,…

- Ứng dụng còn hạn chế về lượng tin tức. - Giao diện còn chưa được đẹp và bắt mắt

5.3. Kết quả đạt được:

5.3.1. Về mặt nghiên cứu:

- Nhóm đã có cơ hội tìm hiểu thêm về công nghệ được sử dụng trong machine learning.

- Hiểu và áp dụng quá trình tạo nên một ứng dụng web.

- Hiểu được quá trình xây dựng source code của Front-end và Back-end.

5.3.2. Về mặt sản phẩm:

- Các yêu cầu phi chức năng

+ Chức năng hiện đại và dễ sử dụng

+ Tương tác giữa người dùng và trang web diễn ra nhanh chóng. - Các yêu cầu chức năng

+ Cho phép người dùng tạo tài khoản, chỉnh sửa thông tin cá nhân. + Cho phép người xem thông tin bài viết về bất động sản.

+ Xem lịch sử tìm kiếm người dùng.

+ Biểu đồ phân tích thể hiện giá tiền và diện tích theo từng khu vực.

+ Biểu đồ tăng tưởng của 3 thành phố trực thuộc trung ương Hồ Chí Minh, Hà Nội, Đà Nẵng.

+ Tích hợp Machine learning để đưa ra dự đoán về giá trong tương lai của từng khu vực.

5.4. Hướng phát triển:

Qua quá trình thực hiện khóa luận, tính tới thời điểm hiện tại, em nhận thấy đồ án còn những thiếu sót cần được khắc phục nếu muốn phát triển đồ án lên thương mại như:

- Crawler thêm nhiều tin tức từ nhiều nguồn khác để nội dung trang web được phong phú.

- Phát triển thêm nhiều biểu đồ cụ thể hơn để người dùng dễ dàng so sánh

- Hoàn thiện thêm các chức năng đề ra ban đầu và thêm vào các tính năng mới như đăng bài, trang thông tin cá nhân người dùng,…

- Cải thiện lại giao diện cho bắt mắt hơn. - Giới thiệu sản phẩm tới đông đảo người dùng.

TÀI LIỆU THAM KHẢO

[1] "Cherrio" [Online]. Available: https://cheerio.js.org/

[2] "ExpressJS" [Online]. Available: https://expressjs.com/

[3] "MongoDB" [Online]. Available: https://www.mongodb.com/

[4] "NodeJS" [Online]. Available: https://nodejs.org/en/docs/

[5] Tài liệu JavaScript: https://javascript.info/37

[6] Tài liệu React: https://reactjs.org/docs/getting-started.html

[7] StackOverFlow: https://stackoverflow.com/

[8] Django: https://docs.djangoproject.com/en/4.0/

[9] Django Rest Framework: https://www.django-rest-framework.org/

[10] Viblo: https://viblo.asia/

Một phần của tài liệu Rút trích và trực quan hoá dữ liệu trong lĩnh vực bất động sản (khóa luận tốt nghiệp) (Trang 70)