Personally, I think that a spell is not the best way to find good friends and a person who will love you truthfully.
Basically, a good friend is a person you know for a while by meeting him/her from a specific place / event. It is also a person who you trust, like and get all of the trust and good feelings back from him / her.
A soul mate is basically a person who you fully love and dedicate everything for, and get the same feelings, love and dedication back.
As I said, you just meet such people during the life. You let time to show you if the person suits you and your standarts, if you understand each other and if both of you have the same feelings for each other. Just meet people, develop relationships and good friendships, and you will see how good the results will be.
Anyhow, you can cast a spell to attract friends or your soul mate / loved person. You may find a lot of spells under this section, just use a specific search engine and see the results.
You can take a magnet and charge it with your own energy to "attract" people, since the magnet presents attraction and gathering. Carry the magnet anywhere you go. This is just a simple example of something you can do. Of course that you can choose to cast any random spell.
My tip is to be positive and to believe in yourself and your abilities. Do not give up hope, and always keep being open for new people in your life. As i said, you can try a simple spell or a simple charm for attraction as well.
Good luck !