Definitely get a signed contract with deposit. Are you charging for delivery?? You need to take that into consideration also. Time is money. Some brides think you have nothing better to do than deal with their "issues". You're running a business, and friend or not, each customer needs to pay for your time. I have an information sheet for brides that I send them before they come and in it, I state, 1st consult is free, after that, it's $25 an hour! She's already sucked up $75 in her three hours flipping pages!
I'm all the other ladies here - tell her you're sorry but you not going to be able to do her cake. That $100 will turn out to be about a $30-40 dollar profit for you when all's said and done. Is it worth the stress she's caused you?
If you do decide to do it, tell her she will need to make payment IN FULL at least 2 weeks prior to wedding, AND no payment, NO CAKE! I have very strict rules with this... I give them one call to remind them, if I don't have it by the week of the wedding, they get another call telling them if I don't receive the money, I will not be delivering their cake and they lose the deposit. Put it all in a contract and make her READ it and SIGN it!! Tell her everything too and give her a due date for balance so she can't say she didn't see it.