The uploader's usage of Redux for application state management

As of February of 2016, we have migrated the application state (including UI state) management in the Tidepool Uploader to Redux. Redux is a lightweight but powerful state container for JavaScript applications that takes inspiration equally from (a) Facebook's Flux application architecture (especially its emphasis on one-way data flow) and (b) functional programming, in particular Elm, a functional programming language for building GUIs on the web.

Please read the general Redux @ Tidepool documentation before reading the documents listed below giving details of our usage of Redux in the Tidepool uploader.

Keep in mind also that we have some work remaining to bring the uploader's Redux implementation more in line with that in Tidepool's main web application blip.

Detailed documentation on the uploader's Redux implementation: