Google has a great free online course on Recommendation Systems that goes through the various common approaches, with working code in Colab notebooks:
https://developers.google.com/machine-learning/recommendatio...[Disclosure: Work at Google, but not on that. Just thought that course was particularly well-designed.]