Advice on implementing user specific pages

Summary

I’m working on a site where the business repairs computers. Each job that comes in has its own paperwork that belongs to that single customer. A customer can have many repairs. I need to develop a method whereby the customer logs into the site front end and is presented with a page that displays to them links to their specific repair details, such as the repair paperwork download link, repair status, etc.

What would be the best way to approach this?

Is it best to create a custom table that has the details for each repair in it and link that repair to the customer to whom it belongs, and then when creating the page search that table and pull all jobs that belong to that customer?

It kind of feels like this is something that should be part of the user profile, but in my research there doesn’t seem to be much in the way of having a more complex user profile rather then using extended fields (which seems cumbersome) or maybe extending the modUser class, which I’m still not sure would really give me the flexibility that I need.

Any advice with how to proceed would be appreciated.

I would create a custom database table (with a column for the user ID).
In my view this is the best way to implement the one-to-many relationship between the users and the repairs.

Thanks, that was what I thought, but sometimes you just need clarification from the greater community. What is the best way to build custom tables (and manipulate them) in MODX 3. I did it once about 10 years ago, just wondering if the landscape (and ease) has improved since then. I think I used a guide from Bob Ray previously.

The easiest way is probably to use the extra MIGX: