System Design



Reacterable — model which can act as Reacter.
Example: User, Person, Organization, etc

Reactable — model which can act as Reactant.
Example: Post, Comment, User, etc

Reacter — one who reacts.

Reactant — subject which could receive Reactions.

Reaction — the response that reveals Reacter's feelings or attitude.

Reaction Rate — the velocity of an reactant becoming popular.

Reaction Weight — ReactionType Mass multiplied by Reaction Rate.

ReactionType — type of the emotional response.
Example: Like, Dislike, Love, Sad, etc

ReactionType Mass — amount of weight added to the Reaction.

ReactionCounter — aggregated statistical values of ReactionTypes related to Reactant.

ReactionTotal — aggregated statistical values of total reactions count & their weight related to Reactant.

Database Schema