Đặc tả chức năng tìm kiếm bài viết

Một phần của tài liệu xây dựng hệ thống tư vấn lựa chọn bất động sản (Trang 38)

4.3. Chức năng yêu thích, lưu lại thơng tin bài viết quan tâm

Chức năng Chức năng u thích, lưu lại thơng tin bài viết

Mơ tả Lưu trữ các bài viết quan tâm để xem lại.

Mục đích Truy xuất nhanh các bài viết mình cần quan tâm.

Khó khăn gặp phải

- Người dung lưu nhiều thông tin dẫn đến bị nhầm lẫn giữa các bài viết

Giải pháp - Thêm bộ lọc, lưu trữ thêm thơng tin về thời gian, chú thích

22

4.4. Chức năng recommend bài viết

Chức năng Hiển thị tự động bài viết khuyến khích cho người dùng

Mô tả Hiển thị một số loại bài viết tương tự mà người dùng đã quan

tâm trước đó

Mục đích Dễ dàng tiếp cận các sản phẩm quan tâm.

Khó khăn gặp phải

- Xử lí thơng tin khơng chính xác

- Cần phải thơng qua dữ liệu của người dùng sau một thời gian sử dụng

Giải pháp - Tối ưu thuật toán

Bảng 4.4: Đặc tả chức năng recommend bài viết

4.5. Chức năng quản lý người dùng

Chức năng Quản lý thông tin người dùng

Mô tả Quản lý thông tin, lịch sử quan tâm,.. của người dùng trong hệ

thống

Mục đích Biết được nhu cầu, dễ dàng đáp ứng nhu cầu của người dùng

Khó khăn gặp phải

- Phân loại người dùng

Giải pháp - Phân chia dựa theo số lượng quan tâm bài viết của người dùng

Bảng 4.5: Đặc tả chức năng quản lý người dùng

4.6. Chức năng quản lý bài viết

Chức năng Quản lý bài viết

Mô tả Quản lý thông tin bài viết, cho phép duyệt, từ chối đến những

bài viết không đạt yêu cầu

Mục đích Đảm bảo thơng tin, tính xác thực của bài viết

Khó khăn gặp phải

- Phân loại khơng chính xác bài viết

Giải pháp - Cho phép người dùng gửi lại thơng tin bài viết kèm lí do để

quản trị viên xem xét

Bảng 4.6: Đặc tả chức năng quản lý bài viết

4.7. Chức năng quản lý các báo cáo

Chức năng Quản lý báo cáo, thống kê

23 viết, …

Mục đích Dễ dàng tổng kết, quản lí thơng tin của hệ thống

Khó khăn gặp phải

- Thống kê cần phải chi tiết và chính xác

Giải pháp - Chia nhỏ thống kê và tối ưu thuật toán

Bảng 4.7: Đặc tả chức năng quản lý báo cáo

4.8. Chức năng cập nhật mục tiêu tìm kiếm

Chức năng Cập nhật mục tiêu tìm kiếm của người dùng

Mơ tả

Người dùng có thể đưa ra được mục tiêu, mong muốn tìm kiếm bất động sản của bản thân. Từ địa điểm, giá cả, diện tích, … từ đó hệ thống sẽ đưa ra những lựa chọn phù hợp với người dùng

Mục đích - Hệ thống phân loại và đưa ra những sản phẩm phù hợp với

mục tiêu tìm kiếm của các nhân

Khó khăn gặp phải

- Người dùng cần cung cấp đầy đủ thông tin. Càng chi tiết thì hệ thống sẽ càng đưa ra những bất động sản càng phù hợp hơn đối với người dùng

Giải pháp - Tối ưu thuật toán

Bảng 4.8: Đặc tả chức năng cập nhật mục tiêu tìm kiếm

4.9. Chức năng hiển thị độ phù hợp của bất động sản đối với người dùng

Chức năng Hiển thị đồ phù hợp của bất động sản đối với người dùng

Mô tả

Dựa trên mục tiêu của từng người dùng hệ thống sẽ phân tích và đưa ra được phần trăm độ phù hợp của từng bất động sản đối với người dùng.

Mục đích - Người dùng sẽ dễ dàng có cái nhìn tổng quan hơn, dễ dàng tìm

kiếm được bất động sản phù hợp với mong muốn của bản thân

Khó khăn gặp phải

- Cần phải nâng cao độ chính xác để đưa ra được độ phù hợp chuẩn xác đối với người dùng

Giải pháp - Tối ưu thuật toán

Bảng 4.9: Đặc tả chức năng hiển thị độ phù hợp của bất động sản đối với người dùng

4.10. Chức năng thống kê tổng quát bất động sản

Chức năng Thống kê tổng quát bất động sản dưới dạng biểu đồ

Mô tả

Hệ thống sẽ thống kê số lượng bất động sản dựa trên các yếu tốt như địa điểm, giá cả, diện tích để người dùng có cái nhìn tổng qt hơn, đồng thời đưa ra những sản phẩm nổi bật phù hợp với

24

người dùng cho phép người dùng dễ dàng lựa chọn

Mục đích - Người dùng có thể khảo sát, xem xét được tổng quát các bất

động sản để đưa ra quyết định phù hợp với nhu cầu của mình

Khó khăn gặp phải

- Cần tối ưu hóa biểu đồ để người dùng có cách nhìn trực quan hơn

Giải pháp - Hiển thị 3 dạng biểu đồ: đường, cột, radar để người dùng dễ

dàng quan sát

25

Chương 5. THIẾT KẾ DỮ LIỆU

5.1. Sơ đồ cơ sở dữ liệu

Hình 5.1: Sơ đồ cơ sở dữ liệu

5.2. Mô tả chi tiết các bảng

5.2.1. Bảng “user” – Tài Khoản người Dùng

Z` Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng user

2 username varchar Bắt buộc nhập Tên đăng nhập của người dùng

26

3 password varchar Bắt buộc nhập Mật khẩu của người dùng

4 first_name varchar Tên người dùng 5 last_name varchar Họ người dùng 6 full_name varchar Họ tên đầy đủ của

người dùng

7 gender varchar Giới tính của người dùng

8 email varchar Email của người dùng 9 avatar varchar Ảnh đại diện của

người dùng 10 description varchar Mô tả người dùng 11 phone varchar Số điện thoại người 12 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

13 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

14 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

15 created_at date Thời gian khởi tạo đối tượng

16 updated_at date Thời gian cập nhật đối tượng

27

Bảng 5.1: Mô tả bảng “user” – Thông tin người dùng

5.2.2. Bảng “role” – Vai trị của người dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng role

2 description varchar Mơ tả chi tiết vai trị 3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối tượng

7 updated_at date Thời gian cập nhật đối tượng

Bảng 5.2: Mơ tả bảng “role” – Vai trị của người dùng

5.2.3. Bảng “privilege” – Quyền hạn có trong hệ thống

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng privilege 2 description varchar Mô tả chi tiết quyền

28

3 is_deleted boolean Xác định đối tượng đã xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối tượng

7 updated_at date Thời gian cập nhật đối tượng

Bảng 5.3: Mơ tả bảng “privilege” – Quyền hạn có trong hệ thống

5.2.4. Bảng “role_privilege” – Quyền hạn của vai trị

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 role_id varchar Khóa chính, Khóa ngoại

ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng role

2 privilege_id varchar Khóa chính, Khóa ngoại

ID định danh của bảng role_privilege, khóa ngoại trỏ tới bảng privilege

3 is_deleted boolean Xác định đối tượng đã xóa hay chưa

29

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối tượng

7 updated_at date Thời gian cập nhật đối tượng

Bảng 5.4: Mơ tả bảng “role_privilege” – Quyền hạn của vai trị

5.2.5. Bảng “user_address” – Địa chỉ của người dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, Khóa ngoại

ID định danh của bảng user_address, quan hệ 1-1 với bảng user

2 address varchar Bắt buộc nhập Mô tả chi tiết địa chỉ người dùng

3 country_id varchar Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết người dùng thuộc quốc gia nào 4 province_id int Khóa Ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng province, cho

30

biết người dùng thuộc tỉnh, thành phố nào 5 district_id int Khóa Ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng district, cho biết người dùng thuộc xã, huyện nào

Bảng 5.5: Mô tả bảng “user_address” – Địa chỉ của người dùng

5.2.6. Bảng “country” – Quốc gia

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 code varchar Khóa chính ID định danh của bảng country 2 name varchar Bắt buộc nhập Tên quốc gia 3 phone_code int Bắt buộc nhập Mã code điện thoại

của quốc gia

Bảng 5.6: Mô tả bảng “country” – Quốc gia

5.2.7. Bảng “province” – Tỉnh, Thành Phố

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id id Khóa chính ID định danh của bảng province

2 is_city boolean Bắt buộc nhập Kiểm tra đối tượng có phải thành phố hay khơng

3 name varchar Bắt buộc nhập Tên của tỉnh, thành phố

31

4 short_name varchar Bắt buộc nhập Tên rút gọn của tỉnh, thành phố

5 country_id varchar Khóa ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết tỉnh, thành phố thuộc quốc gia nào

Bảng 5.7: Mô tả bảng “province” – Tỉnh, Thành Phố

5.2.8. Bảng “district” – Xã, Huyện

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id id Khóa chính ID định danh của bảng district 2 name varchar Bắt buộc nhập Tên của xã, huyện 3 short_name varchar Bắt buộc nhập Tên rút gọn của xã,

huyện 4 province_id int Khóa ngoại, Bắt

buộc nhập

Khóa ngoại trỏ đến bảng province, cho biết xã, huyện thuộc tỉnh, thành phố nào

Bảng 5.8: Mô tả bảng “district” – Xã, Huyện

5.2.9. Bảng “apartment” – Thông tin bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng apartment

2 area double Bắt buộc nhập Diện tích bất động sản 3 title varchar Bắt buộc nhập Tiêu đề bất động sản

32

4 expired_date date Bắt buộc nhập Ngày hết hạn (đóng bài viết) bất động sản 5 overview varchar Bắt buộc nhập Tổng quan của bài

viết

6 price double Giá bất động sản tính theo đơn vị m2

7 total_price double Bắt buộc nhập Tổng giá của bất động sản

8 type_apartment varchar Bắt buộc nhập Loại bất động sản (BUY/RENT) 9 highlight boolean Bất động sản nổi bật 10 status varchar Trạng thái bất động

sản

11 photos varchar Bắt buộc nhập Danh sách hình ảnh của bất động sản 12 author_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user, tác giả của bất động sản

13 category_id int Khóa ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng category, thể loại bất động sản 14 is_deleted boolean Xác định đối tượng đã

33

15 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

16 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

17 created_at date Thời gian khởi tạo đối tượng

18 updated_at date Thời gian cập nhật đối tượng

Bảng 5.9: Mô tả bảng “apartment” – Thông tin bất động sản

5.2.10. Bảng “apartment_detail” – Thông tin chi tiết bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, khóa ngoại ID định danh của bảng apartment_detail, quan hệ 1-1 với bảng apartment

2 balcony_direction varchar Bắt buộc nhập Hướng ban công của bất động sản

3 bathroom_quantity int Bắt buộc nhập Số lượng phòng tắm của bất động sản 4 bedroom_quantity int Bắt buộc nhập Số lượng phòng ngủ

của bất động sản 5 description varchar Bắt buộc nhập Mô tả chi tiết bất

34

6 entrance_building varchar Bắt buộc nhập Hướng cổng vào bất động sản

7 floor_quantity int Bắt buộc nhập Số lượng tầng của bất động sản

8 front_building varchar Bắt buộc nhập Hướng mặt trước của bất động sản

9 furniture varchar Bắt buộc nhập Nội thất của bất động sản

10 house_direction varchar Bắt buộc nhập Hướng nhà bất động sản

11 toilet_quantity int Bắt buộc nhập Số phòng vệ sinh của bất động sản

Bảng 5.10: Mô tả bảng “apartment_detail” – Thông tin chi tiết bất động sản

5.2.11. Bảng “apartment_address” – Địa chỉ bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính, Khóa ngoại ID định danh của bảng apartment_address, quan hệ 1-1 với bảng apartment

2 address varchar Bắt buộc nhập Mô tả chi tiết địa chỉ bất động sản

3 country_id varchar Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng country, cho biết bất động sản thuộc quốc gia nào

35

4 province_id int Khóa Ngoại, Bắt buộc nhập Khóa ngoại trỏ đến bảng province, cho biết bất động sản thuộc tỉnh, thành phố nào

5 district_id int Khóa Ngoại, Bắt buộc nhập

Khóa ngoại trỏ đến bảng district, cho biết bất động sản thuộc xã, huyện nào

Bảng 5.11: Mô tả bảng “apartment_address” – Địa chỉ của bất động sản

5.2.12. Bảng “category” – Thể loại bất động sản

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id varchar Khóa chính ID định danh của bảng category

2 name varchar Mô tả tên của thể loại 3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối tượng

36

7 updated_at date Thời gian cập nhật đối tượng

Bảng 5.12: Mô tả bảng “category” – Thể loại bất động sản

5.2.13. Bảng “favourite” – Danh sách bất động sản yêu thích của người dùng dùng

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 apartment_id int Khóa chính, Khóa ngoại

ID định danh của bảng favourite, khóa ngoại trỏ tới bảng apartment

2 user_id int Khóa chính, Khóa ngoại

ID định danh của bảng favourite, khóa ngoại trỏ tới bảng user 3 is_deleted boolean Xác định đối tượng đã

xóa hay chưa

4 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

5 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

6 created_at date Thời gian khởi tạo đối tượng

7 updated_at date Thời gian cập nhật đối tượng

37

5.2.14. Bảng “tracking_category” – Danh sách thông tin tracking của người dùng đối với thể loại

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng

tracking_category 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của người dùng quan tâm đối với thể loại này 4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 category_id int Khóa ngoại Khóa ngoại trỏ đến bảng category

6 is_deleted boolean Xác định đối tượng đã xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

9 created_at date Thời gian khởi tạo đối tượng

38

10 updated_at date Thời gian cập nhật đối tượng

Bảng 5.14: Mô tả bảng “tracking_category” – Thông tin tracking của người dùng đối với category

5.2.15. Bảng “tracking_district” – Danh sách thông tin tracking của người dùng đối với huyện/xã người dùng đối với huyện/xã

STT Tên thuộc tính Kiểu Ràng Buộc Ý nghĩa, ghi chú

1 id int Khóa chính ID định danh của bảng tracking_ district 2 ip varchar Bắt buộc nhập Địa chỉ IP của người

dùng

3 rating int Bắt buộc nhập Tổng số điểm của người dùng quan tâm đối với huyện,xã này 4 user_id int Khóa ngoại Khóa ngoại trỏ đến

bảng user

5 district_id int Khóa ngoại Khóa ngoại trỏ đến bảng district

6 is_deleted boolean Xác định đối tượng đã xóa hay chưa

7 created_by int Khóa ngoại Khóa ngoại thể hiện người khởi tạo đối tượng

8 updated_by int Khóa Ngoại Khóa ngoại thể hiện người cập nhật đối tượng

39

9 created_at date Thời gian khởi tạo đối tượng

10 updated_at date Thời gian cập nhật đối tượng

Bảng 5.15: Mô tả bảng “tracking_ district” – Thông tin tracking của người dùng đối với

Một phần của tài liệu xây dựng hệ thống tư vấn lựa chọn bất động sản (Trang 38)

Tải bản đầy đủ (PDF)

(97 trang)