Architecture Decision Record - ADR
How often have you wanted to update something you did not understand? Not just the logic behind it, but the reason why someone did something exactly that way? And how many hours/days(/weeks?) it took you to finally conclude that "that stupid piece of code" was actually pretty smart and that was you, who was wrong and has wasted a lot of time?
System Design: Synchronizing large sums of Shared Data from Centralized Server with Multi-tenant Solution with separate SQL Server Databases (and maybe other Services with NoSQL).
Synchronize data between a server and multiple clients.
Event Sourcing
The traditional way of developing a managing entity is to save its current state only. This has to do a lot with hardware limitations we used to have and the basic concept of relational databases that served us very well. However, tables do not represent events that occurred, only the current state of the system. Sometimes it is enough, but not always. What happens if we need more?