Social - Logic
DomainsDOL AcademyUX558 words3 min read
Purpose
Phần tiêu đề “Purpose”- Khung logic tổng cho Social trên toàn nền tảng; đóng vai trò hub liên kết tới logic chi tiết từng tính năng. Tập trung: động lực học qua vinh danh, tương tác an toàn, và quyền riêng tư rõ ràng.
- Social là lớp
surface + integration; các công thức/rule nền tảng tham chiếu areaEngagement Platform.
Principles
Phần tiêu đề “Principles”- An toàn và tôn trọng quyền riêng tư (default an toàn, opt‑in chia sẻ).
- Vinh danh nỗ lực thật, chống gian lận; minh bạch tiêu chí.
- Đơn giản, nhất quán, ít nhiễu; liên kết chặt với LM/Account.
Features
Phần tiêu đề “Features”- Leaderboards: xếp hạng theo môn/tổng, season, tie‑break, filters →
Social/SOC_Leaderboards_Logic.md - Hall of Fame: nộp, xác minh thi thật, danh mục vinh danh →
Social/SOC_Hall_Of_Fame_Logic.md - Interactions: reactions, comments, share, deeplink + visibility →
Social/SOC_Interactions_Logic.md - Profile: hồ sơ xã hội (thành tích, đóng góp, privacy toggles, follow) →
Social/SOC_Profile_Logic.md - Profile Sharing UX (screen/scenario-level):
Social/SOC_Profile_Sharing_UX.md - Feed: nguồn sự kiện học tập/đóng góp, ranking đơn giản, hiển thị →
Social/SOC_Feed_Logic.md - Moderation: report, triage, auto‑hide, anti‑spam/abuse →
Social/SOC_Moderation_Logic.md - Achievements: thành tựu và badge theo mốc học tập/đóng góp →
Social/SOC_Achievements_Logic.md - Levels: Level suy từ Lifetime Points →
Social/SOC_Levels_Logic.md - Points & Rewards: điểm đổi quà, catalog, redemption →
Social/SOC_Points_Rewards_Logic.md - Friends: quan hệ bạn bè 2 chiều, block →
Social/SOC_Friends_Logic.md - Groups: nhóm học chung, streak nhóm, leaderboard nhóm →
Social/SOC_Groups_Logic.md - Chat: DM & group chat; adapter 3rd party →
Social/SOC_Chat_Logic.md - Notifications: bundle/dedupe, quiet hours, points expiry →
Social/SOC_Notifications_Logic.md
Shared Entities
Phần tiêu đề “Shared Entities”- UserProfile: id, displayName, avatar, privacySettings, badges.
- ScoreRecord: { id, userId, subject, type: “practice”|“official”, score, takenAt, verifiedAt? }.
- Activity: { id, type, actorId, targetRef, createdAt, visibility }.
- Reaction, Comment, Follow, Report (định nghĩa chi tiết trong file tính năng tương ứng).
Cross‑cutting Rules
Phần tiêu đề “Cross‑cutting Rules”- Privacy baseline:
- Profile share mode mặc định là
private(không public). - Chỉ hiển thị public khi user chủ động bật
public sharing. - Khi profile ở
public, bất kỳ người xem nào có link đều xem được. - Chia sẻ nội dung/bài làm luôn opt-in.
- Opt-out leaderboard là tuỳ chọn chuẩn.
- Profile share mode mặc định là
- Minors: mặc định private; phụ huynh quyết định cài đặt hiển thị.
- Time windows: tuần/tháng neo theo locale; season cấu hình theo kỳ; đồng bộ với LM.
- Normalization: tính điểm tổng hợp theo chuẩn (overall) có lưu
sourceđể truy vết. - Anti‑abuse: phát hiện submit bất thường; rate‑limit tương tác; lưu log tối thiểu cho xử lý khiếu nại.
- Notifications hygiene: bundle/dedupe; quiet hours; rate‑limit; user‑controlled channels.
High‑level Flows
Phần tiêu đề “High‑level Flows”- Publish to community: user bật chia sẻ → nội dung/điểm xuất hiện ở feed/leaderboards theo quyền.
- Recognition: nộp bằng chứng thi thật → verify → vinh danh (hall of fame) → badge/role.
- Social graph: follow/unfollow; accept bạn bè → auto‑follow 2 chiều; account private (nếu bật) yêu cầu duyệt.
Notes
Phần tiêu đề “Notes”- Không bao gồm diễn đàn mở và chat realtime lớp (ngoài scope Social nền tảng).
- UI chi tiết/Screen flow: sẽ tách file riêng khi cần (
SOC_Screen_Flow.md).