A lightweight framework based on React Native + Redux + Redux Saga, in strict TypeScript.

[![Build Status](https://travis-ci.com/neowu/core-fe-project.svg?branch=master)](https://travis-ci.com/neowu/core-fe-project)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/neowu/core-fe-project.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/neowu/core-fe-project/context:javascript)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/neowu/core-fe-project.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/neowu/core-fe-project/alerts/)

## Basic Features:

The whole app is split into __modules__, usually by navigation screens.

For each module, it contains __1 state__ and __some actions__, to handle business logic.

No matter sync or async, every action is automatically wrapped as saga generator.   

To extend module features, modules can also implement its own lifecycle actions, like onEnter/onDestroy/onActive etc.

## Advanced Features

(1) Global error handler

(2) Event log collector

(3) Built-in decorator

## Core API:

- startApp

Bootstrap function, configuring entry component / error handler / log / initialization action.

- register

Register a module (including lifecycle actions and custom actions).

## Usage:

(To be done)

## Similar Frameworks

We also develop a same (95% similarity) framework for website, using the same tech stack.

https://github.com/neowu/core-fe-project

Our idea is also inspired by many React-based frameworks

https://github.com/dvajs/dva

https://github.com/rematch/rematch

https://github.com/wangtao0101/resa
