私の現在のWebアプリケーションでは、SOにいくぶん似た「レピュテーションポイントとバッジエンジン」を作成する必要があります。そのシステムには多くのルールが含まれており、各ルールはいくつかの事前定義されたユーザーアクティビティ(質問の表示、質問の投票など)に関連付けられています。
私が解決策を見つけようとしているのは:
- すべてのルールをデータベーステーブルに保存します(ほとんどの各ルールには複数の条件が含まれています)。これはできますか?
- 各ユーザーアクションをdbテーブルに保存されているルールと照合し、関連するレピュテーションポイントとバッジを割り当てます。
- ルールで定義されているしきい値(投票、ビューなどではない)に対する報酬をユーザーがすでに取得しているかどうかを確認します。
- いくつかのルールで定義されている、ユーザーの昇格、ユーザーへの通知、ユーザーの禁止などの特定のアクションを実行します。
- アプリケーションの管理者にUIを提供して、アプリケーションのルールを管理(新規追加/編集/削除)します。
何かヒントをいただければ幸いです。