/ capstone

Capstone Week 7

This week was spent mostly on research on how to integrate the different modules into the project.

In summary,

React is the front end framework responsible for rendering the components onto the page. The components can be broken down in various different ways and I experiemented with what works best for the project and how it would allow the project to scale over time

Redux is a "value" store, which acts like state manager for the whole application. It introduces the concept of actions and reducers which took me quite a lot of videos to understand the idea behind.

Redux-saga is a redux middle-ware which handles store dispatch events in an asynchronous fashion. It is a rather complex design pattern which utilizes the saga pattern. It also uses the new ES6 feature, Generator functions.

==Saga pattern= is a design pattern used to solve issues with transactions within a distributed system. The premise is that you cannot ensure ACID when working in a distributed database environemnt. I researched on the case study by the Halo team from Micrsoft, and how they overcame the immense amount of player updates through distributed computing in their Azure platform.

Generator function is a asynchronous way of writing functions. It's a relatively new feature in Javascript that allows a function to be "paused" during execution and continued when it is called upon again. It works similarly to an iterator function, it does not work like a call back. The main purpose of learning this is that it is the core mechanism for how Redux-saga works.