Development of small scale applications can benefit enormously from good design before coding commences. The benefits we are trying to achieve with good design are scalability, reliability and minimising the amount of rework.
The specifications of an application are often hard to define in the initial stages, because users often don’t know what they want until they see it in screen form.
So how can we build scalable systems that allow us to make changes and add features while maintaining the original structure of the application?
In fact, rather than treating client changes as an unwelcome hinderance, by utilising good design from the onset, we can embrace the inevitable changes and additions that will occur throughout the life of the project.
The aim is to bring large scale architectural principles to a practical level for small scale development.
Although most of the design principles are language agnostic, the articles in this website will use Angular/Ionic on the client’s browser/mobile, and .NET Core on the server.