Hi,
I’m trying to create a reputation system in Bubble, similar to those found in online forums. Here’s what I want the system to do:
- Reputation Buttons: Users can click positive, neutral, or negative rep buttons to give feedback to another user. Each rep is recorded in a log.
- Prevent Duplicate Reps: A user can only rep the same person once, but they should be able to edit their rep later (e.g., change from positive to negative).
- Rep Log Display: Show a list of all received reps for a user, including who gave the rep, the type (positive/neutral/negative), and optional comments.
- Total Reputation: Sum up all the received reps (positive = +1, neutral = 0, negative = -1) and display the total on the user’s profile.
I’ve created a data type for Rep Logs with fields for:
- User giving rep
- User receiving rep
- Rep type (positive, neutral, negative)
- Comment
I’ve also made workflows for buttons, but I’m struggling to:
- Ensure only one rep per user for each recipient.
- Update the total reputation correctly on a user’s profile.
Any advice on how to set this up or debug it would be greatly appreciated!
Thanks!
You’re on the right track with the separate datatype
Change this to a number field, later if its an upvote you will make 1, if its neutral it will be 0, if its a downvote it will be -1
When they click the vote button have two workflows on the same button with opposing conditions:
Search for Rep Logs:count is 0, constraints
User giving rep = Current user, and
User receiving rep = whatever User it is
If the count > 0 then its up to you if you want to show an alert it exists already, or just delete the rep and update the number again
if the count is 0 condition is true then create the Rep log and update another Rep number field on the User to theSearch for Rep Logs:plus item Result of step 1:each items Rep type (or whatever the -1, 0, +1 field is called):sum
search constraint Receiving user = the user
1 Like
system
Closed
3
This topic was automatically closed after 70 days. New replies are no longer allowed.