Skip to content

Latest commit

 

History

History
14 lines (8 loc) · 1.51 KB

File metadata and controls

14 lines (8 loc) · 1.51 KB

ReactNative

Implementation details

Application written using Redux library (with official React bindings for Redux) which implements the idea of Flux pattern but in quite a simpler way. It means that app has a unidirectional data flow that makes it easy to develop applications that are easy to test and maintain.

Redux scheme

In Redux there's a Store which holds a State object that represents the state of the whole application. Every application event (either from the user or external) is represented as an Action that gets dispatched to a Reducer function. This Reducer updates the Store with a new State depending on what Action it receives. And whenever a new State is pushed through the Store the View is recreated to reflect the changes.

For navigation app uses react-navigation and react-navigation-stack - the community solution as standalone library.

Persistence is implemented via redux-persist library which stores information from Redux State to a database using async-storage extension.

Application also uses react-native-swipeable-row for swipe actions on the list items and moment for date and time manipulations.