You definitely have to do what you feel is right, and do it fast.
back in 2004, I had the daughter of a family friend come to the US and stay with my family. She was a year younger than me. I was in university then, but my school was only about 40 minutes away so after classes I would come home and show her around my town. Next thing I know, I fell for her.
She went back to her home country and we kept in touch over the internet. I wanted to go and visit but I couldn't because I had finished with school. There wasn't anything concrete between us. I figured when I went to her country to visit her, then I could tell her my feelings in person.
Time went by and I was getting closer and closer to graduation. Meanwhile, she was living her own life. Last September was my last semester. I booked a plane ticket and had all these plans about how I would surprise her and confess my feelings that I've had over the years. Shortly after, I got news that she was getting married.
All this time I thought I would make it in time. I thought everything would work out like it did in my head. Right when I was ready to take the final step, it was too late.
I'm sorry for the long post, but I kinda know what you are going through. Do what you feel is right. Don't wait too long or else you'll regret doing nothing.