I dual boot Linux and Windows 7. Installing Windows 7 1st makes life much, much simpler. I use CentOS, but Fedora is closely related. CentOS is based on RHEL which is fed by Fedora. The Linux installer will take care of setting up grub so that you can boot either Fedora or Linux.
I have done what I describe below on traditional (MBR or DOS) partitioned disks. There's a new guy in town that can be used. It is associated with UEFI boot and is called gpt partitioning. The only thing I have done with UEFI and gpt is to do my utmost to avoid them. Both have advantages, but nothing that interests me at the moment.
Linux can easy get along with a 15 GB partition so long as you have somewhere else to put your user files. My CentOS system uses less than 4 GB on an SSD system drive, but /var (400 MB) & /tmp (100 MB) are located in LVM partitions on my hard drive to spare the SSD the write accesses into those directories. I included my usage just for information. YMMV! Actually it most certainly vary.
There is no need to give grub its own partition. My root directory ("/") and /boot are on the SSD. It has been traditional for /boot to have its own partition. There was good reason for that back when systems could only boot to the first 1024 cylinders the disk. A word to the wise, however, if you do decide to have a partition for /boot. There may come a time when you have to generate a new initramfs. Some folks have been nailed when they could not generate a new initramfs because they had small /boot partitions. In the case I ran across they needed over 300 MB.
I have a 16 GB of memory so I am not currently running any Linux swap area. You need to have a really good idea of how your system is using memory to get away with that. Traditionally Linux SWAP has been in its own partition. It can also be set up as a file. See "man mkswap". There is a penalty for using a file rather than a partition, but the flexibility of using the file may make it worthwhile for you.
It is also popular in Linux circles to have /home in its own partition. I do not. There are numerous hidden files in the user's home directory that are tied to the existing OS installation. I keep user data separate in an LVM partition. I do create links for users Document and Download directories.
FWIW, I run mirrored hard drives that contain all user data and my Linux only partitions are ext4. I make extensive use of LVM. CentOS and RHEL make it much simpler to install the OS using LVM partitions than Fedora does. OTOH my last experience with Fedora was Fedora 14. If you are not familiar with LVM, stay away for now. You have a great deal on your plate already. You can have up to 15 partitions in your Fedora system, so you should be safe thinking logical partition rather than LVM partition.
In my experience you need a fair amount of room for the Windows partition. Despite my best efforts over the years to estimate Windows and application use, I all too often come up short. I need more for the pagefile, more for hibernation or more to install Service Pack X. I'd advise you to be generous in what you give to Windows. I am very certain that you will want more than 5 GB for Windows. Fifty GB would be too low in my estimation. It should be NTFS.
As you planned, I would suggest that you set aside a big chunk of space for files shared between Windows and Fedora. So long as separating individual users on your system is not important, I'd make it NTFS. I have to add the ntfs-3g package to let CentOS access the NTFS partition. I also recently added ntft-progs. Both are available in the EPEL repository for CentOS users. I am not familiar with what steps are needed for those packages in Fedora. The Fedora user forums will help you there. If you have concerns about separating multiple users on the system, then you'll have address how NTFS security matches up with Linux. I don't know.
If you go with all my recommendations you will only need 3 partitions. One each for Windows and Fedora and one for the shared files. That would mean that they could all be primary partitions. If you want to separate out some of the Linux functions in a more traditional manner, then you'll need to create an extended partition and parcel it up as you see fit. It is all up to you.
One parting thought I would leave you with is that I would create an empty partition for a second Linux OS. Fedora makes frequent releases and many of them are on the bleeding edge. If you leave a partition open for the next Fedora release, you can install it along side your functioning Fedora installation. I have found this to mitigate the effects of trying the new OS. There are also VMs for such experimentation, but that is a separate issue.