Hi, The source you can use to learn this technology, which many of us have just started to learn, is quite a few. I would like to share with you an application that will be the case for this problem. When you click the link
https://cryptozombies.io/ you will find a section of the chapter fun code explanation. When you complete the course, you are writing a simple Solidity Smart Contract. It is both fun and easy to understand. But before you begin, I think your javascript encoding level should be at least average. It's going to be like giving a little spoiler, but at the end of the coding, you're crypto-zombies, crypto-cats.