https://v3.vuejs.org/guide/introduction.html (pretty good default guide)
https://docs.alchemy.com/alchemy/tutorials/simple-web3-script (and other tutorials)
I guess a good practice exercise would be:
Create a Vue3 app, that enables the user to connect with metamask.
It displays user account and connected network.
It automatically reacts to network/account changes.
(we are using https://github.com/Web3Modal/web3modal)