What you described is correct. However, depending on your experience and need you might be over-engineering your application.
For instance, for the dashboard, I would simply use standard HTML and redirect the user to the different pages instead of using a SPA approach and replacing the view yourself.
Try not to use the latest techniques simply because they seem like everyone else is doing them. Use what is best for your needs.