Sounds like you have a pup who literally got to show dominance over everything and everyone when she was young. Puppies always push boundaries to see how far they can go and what they can get away with. If you love the dog and are commited to constantly training her - she will get where she needs to be. Is she purebred with papers? Contact your breeder if so for advice, they can help you better than anyone else. If not, you will have to seek out other advice. If you cannot afford trainers, buy books on how to deal with this behavour.
When I was younger I had a GSD from a BYB, her temperment was all over the place with other dogs, not so much people, and she would never bite or growl at me or any family. I bought several helpful books and did the training myself - we spent 12 years together and it was worth it, was my best friend.
If you are commited to your dog, it will work out. But do not waste time as it gets harder as they are older. Good luck