Do you have a few friends that would be willing to help you out? I would try walking her on a quiet street and having friends walk along as well as if they were a stranger. When they approach you and your puppy have them throw a high value treat near the puppy but keep walking. Dropping the treat should be their only interaction. You will have to use different friends wearing different clothes, so she doesn't associate good things coming from just one person. Once she is comfortable with this, you can change it up so that you are the one giving the treat, low and high value, or so that she only gets a treat if she hasn't barked.
Then work up to the passer by giving the treat by hand, and eventually so that if she sniffs their hand appropriately you are the one giving a treat so that she looks to you for rewards not the stranger.
With other dogs, I would find a friend that has an older well behaved dog that shows appropriate body language with other dogs, and arrange play dates. At your house or their house, or in a dog park at a time when you know that there will be nobody else around.
As other people have suggested find a good trainer near you, take your time checking them out and speak to people who have used them in the past. Good luck!