Vote defines a new entity type (vote). Votes can be cast on ANY entity type that "your drupal" knows (even on "vote" itself).
Vote provides "functions" and "voting types":
A function basically provides a handler which defines how and where a function stores its result values. Each function can have its own db table to store the results in order to allow more complex functions to break the INTEGER barrier which the default result table uses for its results.
A voting type basically combines a group of functions. For example a voting type "percent" would combine the functions "average" and "count" while "points" would also use the "sum" function.
Voting types and functions both use a set of classes as handlers to provide custom option forms and advanced (and individual) functionality for each function / voting type. The functions handler -for example- makes it possible to store function result values in seperate db tables with different table structures.
The module tracks recently viewed nodes for both anonymous and authenticated users.
It provides an API function for others to get a list of recently viewed items and also defines a configurable recently viewed items block. You might want to make use of the recently_viewed_views submodule which provides a customised default View to benefit the endless flexibility of Views.
Also if Ubercart module suite is enabled, there's another useful submodule named recently_viewed_products which adds an another default view for UC specific products with the same said functionality.
Disclaimer
This module is in an early development stage, It is not intended to be used in production.
Important notice
Since the module initiates sessions, it's incompatible with Varnish Cache.
In future releases there might be an option to work with cookies instead of sessions addressing this issue.
Recommended modules
Here is a list of recommended modules to be used with "Recently viewed views integration" and "Recently viewed products" submodules:
Wysiwyg Fields is an Inline field management system, a module that bridges the gap between Drupal fields and CKEditor, giving the power of Drupal's field system via the simple usability of a CKEditor dialog.
What that means is that Wysiwyg Fields allows for any Drupal field to be embedded directly into CKEditor and behave as a native CKEditor plugin, removing unnecessary clutter from your Drupal entity forms.