Yeah, don't put yourself through any more heartache by staying friends with her. It's going to hurt to let her go but you will get better every day as long as you put yourself in action and keep yourself busy and not dwell on it "in your misery". Keep in mind that you played your part by continuing to chase after and entertain this girl time and time again only to get beat back down and left in mess. If you are a good person, a nice person, you need to have some more self value and the common sense engrained in you by now to know that you cannot be with her. You can love her all you want, but you cannot be with her. Do yourself a favor and just let her fade out of your life and if she tries to get back in, please let her know that it isn't helping you at all and you need to be on your own. You will know how you feel when you see her and it will most likely feel like getting stabbed with a knife.
So you dealt yourself a shitty hand. You have to make the most of it and not sit on it and piss and sulk and moan. It will get you absolutely nowhere, especially with another girl which is what you ultimately want, right? She (your ex or a new girl) will not want to spend very much time with a pathetic human being. It should be all the motivation you need to finish your education, get a job and get some independence. To get some confidence. I'm shy too but when you feel better about yourself, people will notice and are attracted to that.
I don't think doing your classes is enough either. I think you should also consider getting into a sports club or working out more and it will help with your physical appearance and to get that feel good feeling we get from doing stuff. Another way to feel better. It will also put you in a new environment to meet people and at least practice on coming out of your shell at bit. And it's going to take effort, you have to want to try.
Waking up next to a beautiful girl,
Step outside and say hello to my beautiful world.