I’m trying to create an app with multiple workspaces. Think Slack or similar apps. Every company has its own playground completely isolated from everyone else. Anyone should be able to either create a workspace/team or join one either when signing up or later.
I’m struggling to even conceptualize how I would implement something like this in my app, could you please point me in the right direction? Thank you very much!
This can all be achieved with the right data structure. For example, you could create a data type called Team with fields for team details:
Team
-Name (text)
-Logo (image)
-Admin (User)
-Members (List of Users)
All other data types would be linked to a team record. For example, if you had a type for Project…
Project
-Name (text)
-Due Date (date)
-Manager (User)
-Team (Team)
So everything in your app would be filtered by Team so that users within a team only access data related to their Team. For example, a repeating group that shows team projects would have a data source of “Search for Projects with constraint: Team = Current User’s Team”.
Alternatively, you could add another field under the Team type for “Projects (list of Projects)” and that RG data source could instead be “Current User’s Team’s Projects”
You can also use Privacy Roles to create strong data access permissions based on the data type fields and relationships.
There are many ways to go about this, but hopefully the above helps you get started.