In the previous chapter, we learned about reactive programming by discussing its principles and models. We also discussed and looked at examples of how reactive programming is all about data streams.
Database designing is a complex task and needs a lot of patience. In this chapter, we will discuss advanced database and application techniques, including applying Command Query Responsibility Segregation (CQRS) and ledger-style databases.
Similar to previous chapters, a requirement gathering session will be illustrated in order to determine the Minimum Viable Product (MVP). In this chapter, several factors will be used to lead the design to CQRS. We will be using a ledger-style approach that consists of increased tracking of changes to inventory levels, as well as wanting to provide public APIs for retrieving inventory levels. This...