gpt4 book ai didi

badge - 设计徽章分配系统框架的最佳方法

转载 作者:行者123 更新时间:2023-12-04 12:55:51 26 4
gpt4 key购买 nike

我目前正在设计一个教育网站。

为此,我们需要根据用户的事件(例如stackoverflow)为他们分配一些徽章。

我正在为此寻找框架。任何人都有任何想法,如何做到这一点? table 设计等

我可以想到的问题是:

  • 我们可能有很多徽章,因此在用户的每次操作中,我们无法检查所有徽章并检查是否可以分配任何徽章
  • 在为此添加新徽章和条件时,我不想更改现有代码来处理此问题(我们可以提供一些通用解决方案吗?)
  • 我应该选择哪个数据库(让我说一下,如果我的框架类似,当一个徽章的条件满足并且这些规则在数据库(例如sql)中创建时,它将引发事件。或者我可以选择nosql数据库(例如,像mongodb这样的数据库)该项目的代码位于mongodb)

  • 我的最初搜索给了我以下内容
  • 规则引擎->将导致非常繁琐的任务Database Architecture for "Badge" System & Arbitrary Criteria (MySQL/PHP)
  • 一个项目-> http://drupal.org/project/user_badges(无法正确理解)
  • 人们说您的表结构应该是这样,这个..以及所有..
    Best way to store Badge criteria?
    Creating "Badges" for my site, best way to store user badges? Using PHP
  • 最佳答案

    对于这种方法,我肯定会选择关系数据库而不是nosql数据库。

    您需要做的第一件事是徽章的基础结构。

    ID (int)
    Title (Varchar 255)
    Image (Varchar 255) - would hold location to image
    Points (int)

    然后,您需要存储用户已获得的所有徽章。因此,在您的用户部分:
    Badges (Varchar) - holds a serialized array of badge IDs 
    Badge_count (int) - So you can get the total without parsing through Badges.
    Point_count (int)

    现在,您说无法针对每个已执行的操作查询所有徽章,因此您还应该为每个操作存储一个条目。因此,例如在您的“帖子”表中说:
    Possible_badges (Varchar 255) - serialized array of Badge ID's

    然后,您可以规范化规则,并将仅与任何特定任务相关的徽章提供给规则引擎。

    最好的选择就是开始使用它们,如果您不了解那里的内容,那么您就必须妥协并寻求基本逻辑,因此仅授予可以通过数据库条目(主要是数字数据)衡量的任务的徽章。或花更多时间学习(和拔头发)。

    关于badge - 设计徽章分配系统框架的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108523/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com