That is way beyond the QA, and even an article.
The concept is that you need to redesign your "method" of rendering a dashboard. Think of it as a grid; NxN grid. Each user can create widgets/components on the screen, you can store how those widget details (their ID, their location, etc.) are stored in the database.
Do not create (hand-craft) the dashboards manually. That will be cumbersome, and not everyone will enjoy a ready-made dashboard. If you do want to do that, create a few 5-7, and let users select from them (a radio-button based list).
But that is way beyond the scope of a QA, check out the guides and tutorials on how other platforms are doing this sort of thing.
One of such platform is with WordPress; they offer a nice control over the widgets:
WordPress Widgets | WordPress.org[
^]. Secondly, although Microsoft does not explain how to create the underlying framework for "widgets", but they offer a good SDK thought to their dashboard widgets; please see
Add a dashboard widget - Azure DevOps | Microsoft Docs[
^]