I've seen many variants of this question but none of the answers I've found yet have answered my question. Not new to PHP but new to WP and yes I've read a lot of docs. So this is where I'm diving in to WP development, please be gentle.
This question is about the best way to display the following:
The client needs a custom user page that will display a combination of data from both an external API result and internal WP content (which will be keyed off that result using a custom field).
For this view (which the client calls a dashboard but I hesitate to use due to WP nomenclature), should I create a custom template and do all the work in there? Should I do this in a plugin in combination with a custom page template?
It seems like most of the answers that are closest to what I'm doing have ended up going in a widget direction. This needs to be a full page view, displaying a list of events and other related assets ( all of which will be WP CPT) that the logged in user owns based on the query of an external CMS API.
I'm tempted to just do all this in a custom page template, but it feels like it has enough reusable logic that it should be packaged in a plugin. It won't be part of a regular post so using a shortcode seems unlikely.
Is it terribly bad practice to use a custom template to hold the code and do the work? All this data and work will only be displayed on this one view. If the logic is contained in a plugin, what's the fastest way to tell that plugin to dump its output on a given page and only on that page?
I'm out in the boonies on mobile so I can edit and clarify as needed, but some guidance even to specific docs would be helpful. Too many tutorials about how to do an api call, not enough (for me) about where best to run that and how to specify where the output goes. I don't need something in every footer or a widget in the sidebar. Were this a straight php project it would be a single file, but I want to do things the right way for WP.