Maka Native is an opinionated boilerplate for crafting React Native-powered mobile applications with TypeScript, redux, redux-saga, styled-components, storybooks & more. Since it's meant as a starting point for new apps, it uses no class components and relies heavily on the Hooks pattern.
Before start, make sure you installed:
- Node and React Native CLI: React Native Dev Environment
- Xcode, CocoaPods: iOS Dev Environment
- Android Studio: Android Dev Environment
We also prefer Yarn but it's not required. Feel free to swap yarn
to npm
in the instructions below.
- assets Everything static like fonts, images, videos or static HTML files you may have goes here
- assets/fonts
- assets/images
- assets/html Any static page you'll use in a WebView goes here
- components Stateless React components you'll use through the app. We even added a few common and generic components for you
- modules See the section below for details
- screens Screens are like containers but for native applications
- modules Redux modules. Details are explained in the next section
- storybook Storybooks
- store Redux-related code are kept here
- Setup.js Where we connect the store and setup React. We also configure Microsoft’s code-push here
- App.js The main React component is here. Try to keep it stateless.
Modules are generally indepedent blocks for certain functionality. They are meant to be portable, small and functional pieces of code you can use in multiple applications, even those not using React.
- api.js: async functions to use mainly in Sagas
- sagas.js: Saga’s related to the module, only export
- reducer.js: Redux reducer (try to have a single reducer in each module)
- subscribers.js: Event channels for Saga
- actions.js: Pure Redux actions
- hooks.js: Hooks for React
- types.js: TypeScript types
All open source code released by NOD are under the MIT license.
See also the list of contributors who participated in this project.
Primarily focused on media & adtech, NOD.DIGITAL is a digital product studio from Istanbul.
If you like working with the same stack we do, you might consider joining us. Never hesitate to contact us for anything via hey@nod.digital.