I have been having a devil of a time building a good website. There are so many choices for the various ways the site can be built that it’s difficult to lock down the choices and go full bore on the project.
One of the more difficult parts of the particular site I am thinking about is the data modeling, and it brings up some thoughts about modeling data in general. It seems that a weak point in most of the frameworks I have been looking at is keeping models and the site in sync. As the site evolves, the data model gets more and more complex. each change requires updates to the way different parts are handled, and when fields or tables are changed, merged, dropped etc it can mean tons of work to keep everything working.
What I’d like to find is a choose your own adventure style data modeling / system architecture tool. It would give you only certain choices at each stage that allow a smooth transition from a static page to a complex ajax enabled site with a rest API.
Each step of the way the choices made can be identified, the reasoning behind them stated, and if a different choice is needed the decision can cascade down the line leaving functionality intact.
The idea is that the evolution of the site is a central component of development, and the tools used should recognize this and help to make this evolution as easy as possible.