I have been devloping a web application over the last year purly for fun, but I am now running into walls. I belive my fundamental problem is that i have not designed and planed what functions, classes, scripts etc.. i will require in order to fulfil my dream app:-( I am now in a situtaion where my code is all over the place, badly written, significat duplication of code is now occuring. Allthough i consider myself a resonably competant programmer (java, php html css [ajax]) I lack the experience and knowledge to fully build this we site. I have been reading up on UML and am begining to think i should adopt this or perhaps some similar technique in order to ensure the success of my web app and to avoid futher foul ups. Does anyone have any advise as to how i can better plan web applications? What steps can i take to antisipate all aspects of of how my app will work\ could work\ should work when completed? Furthermore are there any text book methods of testing apps? Any tips or advice would be much appreciated.
I can recommend this book: Web Engineering: Modelling and Implementing Web Applications i've found it also on google books for free You should try to learn MVC design patterns, I can recommend this frameworks: PHP - CakePHP Ruby - Ruby on Rails Try one of them, after some time of programming with a strict MVC based framework you'll learn a lot of techniques of good engineering.
I suppose that you know OOP. You should read about design patterns (e.g. MVC, Singleton), frameworks (e.g. Zend Framework). I think, this solve many of your problems. And UML if you have time ;-) but best friend of programmer is still paper and pen, even if you don't know uml ;]