It's hard, whether you're in a relationship or not, not to be hard on yourself. It's fairly common to have a hefty amount of self-loathing for one reason or another, and it's not healthy. Whether you don't like how your body looks, you don't think you're smart enough, or you have trouble focusing, you have to realize that it's normal to feel self conscious and like the world will end if you put one more toe out of line.
Though it's imperative that you get over all of these issues for your own sake, it's also very important that you heal these wounds for your loved ones. If you hate yourself, it makes it hard to love others. It's easy to take the disdain you have for yourself and place it on other people, whether they're your parents, significant others, siblings, or friends. Despite your love for them, the ugliness of how you feel toward yourself will inevitably show its face. When this happens, it's best to recognize it and apologize. Because if you let it, this hate will take over your life, and wring the happiness out of your relationships.
Try meditation, therapy, or just talking to those you love about how you feel, instead of wallowing in self pity and dwelling on each and every mistake you make. Don't be afraid to talk to somebody- there might be an undeserved stigma surrounding mental health issues, but it's impossible to not have problems. Be brave. You're only human. Remember: you can't love others until you love and understand yourself.