Frontend: User based input - concept?

Hey…
our site is growing from day to day… next idea is an area where projects are described and user should rate/vote for different projects…
While i’m playing with rate-page-plugin, i got several thoughts…

it would be nice to have a (nearly) failproof concept of storing user based inputs. For example the user 1 votes 3 stars for project a today and changes her/his mind the next day.

What do you think is a best-practice storing-concept? saving user-based input into the project? or saving project-based voting into the user-file?

both seem to have pros and cons.