API and application architecture design

Writing source code is like applying bricks in construction, it is the production material necessary to achieve something. As with construction there are blueprints necessary to build a serious construction, we call these  APIs (application programming interface) in computing. I have built up decent experience with designing a technical architecture before just writing code to ensure that the end result doesn't just run now, but that it persists over time

A proper designed software application separates data, logic and presentation. This principle - model view controller (MVC) - ensures that a built piece of software consists of independently testable pieces. These layers are able to interact with each other but due their separation, are also easily replaced.