I'm going to be brutally honest but don't worry, I'm not going to be as negative as you might think.
First of all, yeah, you're not drop dead super model gorgeous (who really is), but I'm sure you already know that. On the flip side, I don't see any serious appearance issues that would be a hindrance in getting dates. Your an above average looking girl who I would likely rate a 6-7 out of 10.
Since you mentioned online dating I'll use that to make my point since I think it illustrates it quite well. Both genders have a tendency to always want to date the most attractive person in the room. Who wouldn't. Of course all other things aside, our first choice for a date will be the most attractive person, our second choice the second most attractive person, and on down the list. What that means is that unless you are a 9-10, maybe an 8 depending on the "room", your not going to get as much attention because your not first on the list. What this means for you is that most men, without anything else to go on, will rarely consider you their first choice. That's why with online dating, when looks are really all you can go by (nobody reads have the stuff in your profile until later and they don't trust half of it anyway). When you are presented with 1000's of human being to choose from, of course your going to pick out the 10's to message, which means 6-8's get lost in the mix, even though they are still fairly attractive. This also explains why those really hot girls on online dating are literally getting 100's of messages a week. Because every guy on the site is funneling to her profile. So contrary to popular belief online dating is not your best bet if you are not hot dating commodity.
I have two suggestions for you that I think will do you some good, as I know it worked well for one of my own GF's.
1. Be more outgoing and take initiative. Dating is like window shopping, but if a sales person walks up to you, gives you a coupon, and drags you into the store, your more likely to make a purchase, even if you otherwise had no intention on shopping at that store. Point is, you may find that a guy will fall for you if you make the first move in getting to know him. This is how me and my first love met who to this day is still the best Girlfriend I ever had. We met at a party, I felt she was average looking so didn't go out of my way to court her. She made the first move asking for my number. I took the cue and gave it a shot. Soon I got past her slightly above average looks because she was such a great person. Point is, I wouldn't have asked her out on my own. She needed to encourage me. Studies show knowing someone likes us, makes us like them more.
2. Be confident. Don't be self defeating openly. Is screams psychological issues to men. Also don't fish for compliments which is common among women in your shoes. Especially in relationships, guys don't like girls who require constant compliments. Though I'll admit, your past Boyfriend was too extreme.