Okay, there are some things you can try, but I need to stress the point that whatever you do, don’t assume it is a phase and that it will pass on its own.
Allowing such behaviour will only get worse, especially when you are on your own. The only times the behaviour improves “on its own” is if someone else does the work for you, like a teacher or peers showing them their actions are unacceptable.
You should find why she is behaving like that, definitively, but however frustrated she is feeling she needs to be told you won’t condone the behaviour, whatever you do, don’t let her be violent towards you, you need to stay in charge to avoid things getting far more messy during teenage.
When she behaves like that, ask her to stop, don’t shout, don’t raise your voice or show you are angry, if she doesn’t stop just walk and stay away until she has calmed down.
Once the worst of the tantrum is gone go back to her and acknowledge her frustration/anger but tell her calmly that you are not going to put up with that behaviour because it is not fair that she treats you like that. Don’t show anger or upset, talk to her as you want her to talk to you, respectfully and with consideration, you can tell her you love her but that you are not going to put up with that.
Children need to be taught to control their emotions, it is ok to cry if they are upset but violence should never be tolerated after they know how to speak and explain, even in general terms, what is upsetting them.
You and your child should be a team, make her aware you have feelings and rights as she does and that you also need her to do her part. One of the ways I got DS to understand I also had rights was by taking turns: one day of the weekend was to do whatever special thing he wanted so if he wanted to stay in a play area for 4 hours on a Saturday I would just bear with it, but he was expected to do the same for me (no complaining) if I wanted to spend 4 hours in an art museum the next day.
Another important thing is to show them their actions have consequences. If you ask them to do something and they ignore you, don’t nag, don’t shout, just do it yourself, but next time they ask you for a treat or going to the park just say: do you remember that I ask you to do x and you totally ignored me? Well I’m not going to do what you wanted me to do for you today. They need to know saying no it is also an option for you.
I know that some people would feel horrified at what I have written above but a child who knows the boundaries, knows what are the rules, that they are fair and they would be applied fairly, grows feeling more secure and confident.
Take it easy, one thing at the time, be nice to her, but above all be nice to yourself because you need to be okay and happy to keep this boat afloat.