System Design



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

Reacter — one who reacts.

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

Reactant — subject which could receive Reactions.

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

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

Reaction Rate — the velocity of an reactant becoming popular.

ReactionType Mass — amount of weight added to the Reaction.

Reaction Weight — ReactionType Mass * Reaction Rate.

ReactionCounter — aggregated statistical values of ReactionTypes related to the Reactant.

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

Database Schema