Is it possible in WordPress

Use the project name in the meta key field & the amount donated as the meta value, and I would suggest using update_user_meta rather than add_user_meta because reasons. Something like this:

$project="donated_to_" . $project;    
update_user_meta( $user_id, $project, $amount );

Apply some sort of logic before setting those variables – you know, in case the user has previously donated to that project.

The function update_user_meta is available on the front end and as for security, use a nonce on the form where you’re collecting this data and check the nonce & user permissions on processing of the form and verify/sanitize the data received from that form during variable assignment.