You're having an off day obviously. Who hasn't? Just don't let one day like this decide your career.
It is in fact a good thing you feel frustrated, for not delivereing what was promised. It just shows you have a sense of responsibility. Maybe even for things you have not under control, something I cannot make out of your post. Anyway, you're not the only responsible one for this project, even if you're the ony one working on it. So there is no need to carry the "blame" all on your own.
And who says there is not a very good explanation for your project being late? Have a chat with the customer, they may not even make a big deal out of this. And express your frustration, show them you yourself are not happy with this, even if they accept it. As I said, it only shows your commitment and your sense of responsibility. And those are qualities that count.
Don't resign just like that. Tell your customer (employer/whatever) how you feel about this. Tell them you want to work something out, and maybe review the schedule. Maybe it was not realistic right from the start. Now you have a better view on things, and you can more accurately estimate it will take another x weeks. A customer prefers honesty over the political version of "taking your responsibility" (=run).
And even if the estimation was a mistake of yours, making a correction of the schedule and delivering that will feel better than just running and start doing something else. After all, what will you do if something goes wrong there? Now is your chance to show your guts, to show you're not a quitter, but a fighter. What do you choose to be?
Jim