how much memory should I allocate for windows 10 and number of cores and storage size
Kind of depends on your usage.
If you are going to use Windows in the VM predominately and not really use other Mac programs at the same time...and need the computational power, then you might go more towards maxing out RAM and cores.
If you will use both Windows and Mac OS programs at the same time and both need fairly decent computational level, then split it pretty evenly.
If you will mainly use the Mac side programs with maybe one or two Windows programs that are not overly computationally intensive, then throw more to the Mac side.
Of course, it also depends on the specs of the Mac in question.
FWIW, with my rMBP (4 core i7 processor and 16 GB of RAM), I tend to do about 4 to 8 GB of RAM and at least 2 cores. For my MBA (2 core i7 and 8 GB of RAM), I tend to use 2 cores with about 4 GB of RAM.
For the hard drive, this will depend on what you want to install besides Windows and how much data you want to keep in the VM as opposed to on the "Mac side" of things. And it could depend on the VM program you use. Parallels has "dynamics" drive image size options...i.e. theoretically the program adjusts the size of the drive image file as needed, but you can always adjust it manually yourself if needed.