@balenshah :-
20 GB is ample for installing the OS itself, and lots of applications. As
@kc1di says, however, 30-40 GB would be better.
Suggestions? Well, a sensible precaution is to keep all personal data in an external directory (Linux word for 'folder'), then sym-link it into your 'home', user directory. I suggest this in all seriousness, because most Linux newbies end up 'borking' their system at some point, and need to re-install. Some don't learn from their mistakes, and seem doomed to repeat those mistakes time and time again!
This way, you can re-install as often as you like, but personal data never gets touched. It can also be 'shared' between more than one distro, if you end up multi-booting, as many of us do.
-------------------------------------
The other thing you need to watch out for is a build-up of old kernels over time. These never get deleted by the system, and periodically need to be manually deleted by the user. I have heard of people with a smallish partition where the whole system grinds to a halt because of too many old kernels jamming things up.
In all honesty, you really only need to keep the previous two. Sometimes, a kernel upgrade will change things in your system that aren't to your liking, and you may wish to revert to an older version.
-----------------------------------
Plenty of other suggestions will come your way, I'm sure!
Mike.