Week 6 – Architectural Changes

We spent the week on some major project structure and architecture changes.

Some may disagree and try to rush into MVP and get it out. Not me, I want to build a high quality and easily scalable application. Not only that, but I want to create an architecture that’s simple to follow and powerful. One that will allow any new developer coming on board be productive within a couple of days, not months.

One thing that I always enjoyed as a developer was to create simplicity in the code. Following the strict guidelines of object-oriented programming and dependency injection is not the answer. It’s simple, if a pattern complicates the code, it shouldn’t be used.

Oh what about dependency injection and testable code? DI complicates the code by 10x, and takes 10x more time to setup unit tests.

Unit tests should speedup your coding and not the opposite. For end-2-end testing, you should look at Katalon or other similar tools. And the idea of TDD is dead.

The other thing that I wanted to implement was FullStackDevelopmentPattern. I want 1 IDE, when I run build, it should build both Client App and Server App and allow debug both.

We now have 2 top level folders:
– ServerApp – .NET Core/C#
– ClientApp – React

Is your code simple to follow?