Follow and Unfollow

Does anyone know how how to develop a system of users following and following each other?

Yes, here is a forum example on how to set up the workflows:

Preview:

Editor:

2 Likes

do you also have a workflow on messaging? @fayewatson

In the User data type create a “follow” field>list of Users. Follow> add User, unfollow> remove the user.

If you’re looking to build a social network, I would take a look at Airdev’s awesome NotRealTwitter example. Vlad wrote a great blog post on how to set the data structure and workflows up:

Editor:

3 Likes

thanks man

1 Like

Is @vlad’s method the optimal architecture for a follow/followers system considering Bubble’s list limit is currently 10,000?

I realize that he built Not Real Twitter in 4 days, and its a (damn good) example app. I also realize that most apps won’t ever get close to 10,000 things in a list.

For scalability, would it be better to create a new object instead of storing followers on a user directly?

The list is cleaner and more straightforward, but there is no limit to the number of things that can be created. Just curious.

1 Like

I was thinking about that too! Maybe you can create a Follower data type, and also store that list on the User (Followers, Type: Follower, List: Yes). That way you could still have the list, up until it reaches 10,000 and then transition to doing a search - if needed? Or would you recommend doing a search from the beginning?

1 Like

The list should be tied to the users that the current user is following…
Meaning the current user would have to follow > 10,000 other users (which is extremely unlikely even on platforms as large as Instagram/twitter).

If the current user HAS > 10,000 followers - that implies that the current user exists as a single item in . >10,000 unique lists… (which would not be exceeding the current threshold)

I think list is the way to go on that one. And in the event you need it; the Bubble guys could probably extend your list limitations…

2 Likes

Valid. Seems like a much better solution. Glad I asked.