In my opinion your better of starting with the code.
Here's a little step-by-step to achieve a simple inventory :)
I will most likely work on a proper tutorial or piece of working code after the holidays depending on which of my projects I get the most time for.
If you want to use a simple grid inventory without complex jigsaw here are some if not most of the steps to achieving it through code:
You will most likely need an array so you can store the items themselves.
You can make a struct or class for the item so you can store its variables locally such as the amount, id, name, value, etc, and use it for the array's type, this way the engine will list the correct variables.
You will need methods that allows you to move items from one index to another.
You might need to either map inputs or create a UI with buttons that activates these methods accordingly.
If you want to allow moving the item with the mouse, you could possibly add a variable that holds the item on the mouse position, then set the image's position to the mouse position on screen if that variable's value isn't NULL. You can get the item at a specific index if you round the mouse according to your grid's size.
For the crafting, it's the same as the inventory, but you can check if the inventory contains the item you want to use, if so, remove the required amounts and add the newly crafted item to the inventory. Having an array set to the item as a type should allow you to access the item's variables such as the amount which is simple work after that :)
Hopefully this helps a little bit.
In any case, I am wishing you the best holidays and a wonderful day!
PS. If I find any tutorials that I feel would show the process of making an inventory nicely and also explains it well, I will post them here :)