I would start with the basics. You want to desensitize him to touch first. This will allow you and others to easily groom him as well as brush his teeth and make it easy for you to check him for bumps, etc.
When you are doing this, you will want to have plenty of treats on hand as this will help him associate these things with something pleasant, food.
You’ll want to start by quietly touching him, like you’re going to brush him. When he behaves, praise him and reward him with a treat. Then you can add a brush, and do the same. When it comes to doing his teeth, you’ll want to first put a little doggy toothpaste on your finger then let him lick it off. Praise him and give him a treat. Repeat each day going a little farther until you can easily stick your fingers in his mouth and touch his teeth. Once you can do this for 30 seconds or so, add the toothbrush.
Once he’s ok being handled, you’ll want to get him used to other people. Start by inviting a couple of friends over. Keep the dog on a leash. Have your guests hand feed him his treats until he is relaxed around them. Repeat this process over and over, each time having different people come over. Eventually, he’ll look forward to people because it means treats!
Once he is used to people coming and going, it’s time to hit the streets. Take him for a walk on his leash, when you approach someone have him sit/stay. Allow the person to pass, then praise him and reward him for sitting quietly. Once he does this, try it with him walking by the person. If he barks, put him in a sit/stay. Once he has mastered walking with people around, it’s time to move on to other dogs.
You will want to start by allowing him to watch other dogs from a distance. When a dog comes into sight, give him a treat and keep giving him treats as long as the other dog is in view. (This goes back to the new visitors he learned before, new people = FOOD). If he barks or doesn’t want the treat, move farther away and try again. Keep repeating the process until you and your dog can approach another dog without barking.
Allow them to sniff. If someone gets aggressive, immediately turn with your dog and walk away. Repeat the approach process. This will be the most frustrating part, but it will eventually sink in that barking and fighting is a no-no.
If your dog is the opposite and tries to run away, stay positive and act like meeting the other dog is no big deal. Don’t pull him toward the other dog or talk soothing to him or even pet him. Doing this reinforces the fearful behavior. Only reward him when he starts to relax and explore what the other dog is all about. Let him approach things he’s scared of on his own terms.
With a lot of patience and love your dog will adapt.