Yêu cầu thg 11 8, 2018 6:05 CH 251 0 1
  • 251 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?

Chia sẻ
  • 251 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

thg 11 9, 2018 1:27 SA

Bạn định clone Viblo à 🤔

Avatar Nguyen Tuan Anh @TuanAnh9996
thg 11 9, 2018 1:55 SA

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

thg 11 9, 2018 1:56 SA

😄

Avatar Nguyen Tuan Anh @TuanAnh9996
thg 11 9, 2018 1:57 SA

@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 CÂU TRẢ LỜI


Đã trả lời thg 11 9, 2018 2:18 SA
Đã được chấp nhận
+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.

Chia sẻ
Avatar Nguyen Tuan Anh @TuanAnh9996
thg 11 9, 2018 3:17 SA

@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ỉ?

thg 11 9, 2018 3:22 SA

@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. 😄

Avatar Nguyen Tuan Anh @TuanAnh9996
thg 11 9, 2018 6:20 SA

@huukimit thank bác nhá 😄

thg 11 9, 2018 6:21 SA

@TuanAnh9996 You are welcome!

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí