To learn ASP.NET MVC, I am thinking of creating a community forum like SO where people can rate posts, users etc. and the user can thereby gain points. I just can't figure out if the points should be added to the user profile whenever an action is done (post rated up/down, user created new post etc.) or if it should be calculated from the different activities the user has done.
I have a few pro's and con's for both ways of doing it:
Add rating:
Pro: Easier to implement, and much faster and less resource intensive.
Con: If the value of the different activities change, you can't do anything about it. No way of showing a history on how you have gotten your points.
Calculating rating:
Pro: Much easier to have a point-history for both the user and people viewing the account. Possibility to change the amount of points for a given activity.
Con: A little more difficult to implement. More resource extensive (can be prevented by caching the data, or creating a job which calculates the points).