I'm currently working on a project where I inherited a product somebody else made halfway-through. My job is to finish that specific project. I was told I had a free hand over what to do, so I looked at the source code and decided it's rubbish and I started all-over again.
Within two weeks, I had a working prototype when my boss saw what I did and was very disappointed because I changed the overall-design of the page without asking (as I said, I had free hands there). But well, from this embarrasement, I stepped back to the original source code.
The thing is that it's really bad and unstable. It's copied together from many different websites without sources etc. and whenever I try to fix one bug, twenty others emerge that were dependent on that one bug I fixed.
There's practically no documentation (a txt-file with a list of packages to be installed) and now it already took about half a year (it should have been finished after maximally three months).
I believe in this case it's not my fault not to be able to work with that source code since every time I questioned the person working on it previously, she didn't have any exact answers and just told me to keep googling and playing around until I get what I want. But I'm feeling very ashamed in front of my boss (who's a really nice person, but also wants that project to be finished).
What can I do now? Restart all over? (If not, is it the concorde-fallacy?) Explain why such a badly written product is not usable or able to be developed further?
I don't want to look incompetent and I don't want the previous employee to stand in a bad light as he was a really nice and fun person to be around with. But her code was just terrible.
How to handle this, preferably in a way that doesn't get me fired?