I’m a bit confused on how to get started. These are my basic requirements to get me going: The app will have internal and external users. The internal user is staff. There are 2 types of external users: customer, and other. All users (internal and external) start by filling out a form. a) Internal users will be authentication by either Google SSO or LDAP, then presented with a form for other details to fill out. b) External users will need to enter email, name, company, and other details. No account will be created yet. That form triggers an approval process. I will need to keep track of Customer vs Other for account creation. Once approved, the account is created at that point, and the user will get a notification (accepted or not). The user can then login using their email and auto-generated temporary password, but needs to be forced to set a proper password after login with the temp one. All users can enter truck loads to be tracked. How do I associated a “Load” entity with a user? Is that automatically associated by the logged in account that created it? The whole concept of internal vs external Mendix users still confuse me. I did notice an enum ‘UserType’, so is it simply the same ‘User/Account’ object and just a change using an enum value? As for Customer vs Other (external), should I create a “Customer” and “Other” entity, then generalize it with Account/User? (not sure which) There’s a lot more, but if someone get help me get pointed correctly with the correct ideas then I’m sure I can figure the rest out. Thanks.
I would suggest to do the training path in the Academy about Databases, it should be an Advanced part. If I remember me correct, there was a description of Association vs Inheritance.
Why you don’t think about to use a 1:1 association between your customer and the account object? It would makes you more flexible.
I already know how the databases work. I just need direction on the best approach to design the steps I mentioned. The 1:1 association can also be accomplished by simply inheriting from the same object – instead of associating two separate objects/tables.