Asked Nov 8th, 6:05 PM 163 0 1
  • 163 0 1
+1

Mọi người đang thiết kế DB để lưu bài viết và tương tác giữa user với nhau như nào?

share
  • 163 0 1

Như tiêu đề thì mình đang tìm hiểu để thiết kế DB phục vụ cho việc tương tác giữa user-user, user-post và thông báo

Mình đang muốn làm như này:

  • Người dùng có thể bình luận và nhận được thông báo từ những bình luận khác trong bài viết mà mình đã bình luận
  • Theo dõi bài viết
  • Theo dõi user khác
  • Vote điểm cho bài viết
  • Nhận thông báo khi người dùng mình đang theo dõi có bài viết mới

Mọi người cho mình chút ý tưởng để thiết kế DB thuận tiện cho việc mở rộng thêm những tính năng tương tác sau này với. Thank mọi người

Nov 9th, 1:27 AM

Bạn định clone Viblo à 🤔

+1
|Reply
share
Tuan Anh Nguyen@TuanAnh9996
Nov 9th, 1:55 AM

@huukimit 😂😂 mình chỉ đăng vì mình muốn hỏi ý kiến mọi người thôi mà

Nov 9th, 1:56 AM

😄

Tuan Anh Nguyen@TuanAnh9996
Nov 9th, 1:57 AM

@huukimit mình đang làm 1 trang để mọi người chia sẽ công thức nấu ăn..nhưng phần DB như này mình lại chưa viết bao giờ nên hỏi mn để học hỏi kinh nghiệm

1 ANSWERS


Answered Nov 9th, 2:18 AM
Accepted
+1

Mình nghĩ về cấu trúc DB có thể làm như này:

  1. Bảng users để lưu tài khoản người dùng

  2. Bảng subscriptions để biết được người dùng đăng ký theo dõi gì. Sử dụng relation Polymorphic Relations của laravel, mình dùng relation này thì thêm 2 colums là subscribable_id, subscribable_type. Để phân biệt được các đối tượng được người dùng đăng ký theo dõi, vd:

  • subscribable_id: 100
  • subscribable_type: Post | User
  1. Bảng comments để lưu bình luận của người dùng Nếu người dùng comment được cho nhiều loại đối tượng thì mình lại dùng Polymorphic Relations giống subscriptions ở bên trên.

  2. Phần thông báo thì sử dụng chức năng notification của Laravel nó sẽ tạo table cho mình.

  3. Về việc gửi thông báo thì là xử lý trong code của mình thôi.

Người dùng có thể bình luận và nhận được thông báo từ những bình luận khác trong bài viết mà mình đã bình luận

Tức là bạn muốn gửi thông báo tới tất cả những ai cùng comment trong bài đấy. Khi người dùng A tạo comment thì mình lấy tất cả người cùng comment trong bài viết đấy và gửi thông báo tới họ. Chung quy phần này là xử lý logic trong code thôi.

share
Tuan Anh Nguyen@TuanAnh9996
Nov 9th, 3:17 AM

@huukimit thank bác nhé, nhiệt tình quá 😄. À ở phần thông báo comment thì cho mình hỏi luôn là mình nên thông báo cho tất cả mọi người hay nên làm mention và thông báo cho người đó thôi nhỉ?

+1
|Reply
share
Nov 9th, 3:22 AM

@TuanAnh9996 Cái này thì phụ thuộc vào yêu cầu của hệ thống bạn làm, bạn hãy xem xét xem nên để như nào thì hợp lý với hệ thống. Có thể làm như bọn Facebook cũng được. 😄

Tuan Anh Nguyen@TuanAnh9996
Nov 9th, 6:20 AM

@huukimit thank bác nhá 😄

+1
|Reply
share
Nov 9th, 6:21 AM

@TuanAnh9996 You are welcome!