I’m building an app for internal use by a graduate school admissions consulting firm. This is mainly just for practice/learning, so I’m trying to keep it simple in order to learn bubble.
Here’s what the relationships look like within the firm:
That is:
• Each client has one consultant.
• Each consultant has multiple clients.
• Each consultant has one editor.
• Each editor has many consultants.
Initially I tried doing this where everyone was a USER, since everyone ultimately will need to be a user of the system at some point. But I quickly got confused with that, so instead I am now trying to do it where I’m treating each group as its own DATA TYPE: Client, Consultant, Editor
Question 1: If you were building this, how would you structure the database? Would you treat each group as its own data type or would you treat everyone as a USER? If the latter, how would you go about keeping track of each group, especially once you need to start adding individual users (e.g., clients) to other users’ lists of users (e.g., a consultant’s “list of clients”)?
Question 2: Assuming you structured it like I have, though, with each group its own DATA TYPE, how would you create a page where an admin could add 1+ clients to a single consultant’s roster, like this:
I have been studying the “App Walkthrough” example in Coaching No Code’s FastTrack demo (cb-demo-app | Bubble Editor) and specifically the dashboard → Group Project Detail, wherein the user is able to add new tasks to existing projects. Here’s how it looks:
The problem, though, is that this page simultaneously creates new tasks and adds them to the project. In my example, clients can exist independently of consultants (e.g., before they are assigned to a consultant); plus, I don’t want to create new clients here anyway, I only want to associate existing clients (created elsewhere) with existing consultants, and so the example breaks down. What I (think I) want is a group called MATCH where I can add 1+ clients to a single consultant’s roster. It might look like this:
Then, I want to:
Update CLIENT Sarah’s “consultant” field to = “Bob (consultant)”
Update CONSULTANT Bob’s “list of clients” field to include “Sarah (client)”
But here’s where I keep getting stuck: