Skip to content

React Native boilerplate powered by NativeBase, ReactNavigation, ReduxToolkit and TypeScript that can be used to kickstart a mobile application.

License

Notifications You must be signed in to change notification settings

leinstay/rnbnr-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RNBNR Starter Kit

This project is a React Native boilerplate template powered by NativeBase, ReactNavigation, ReduxToolkit and TypeScript that can be used to kickstart a mobile application. The boilerplate provides an optimized architecture for building solid cross-platform mobile applications through separation of concerns between the UI and business logic. Live preview on Google Play.

Inspiration: https://github.com/mcnamee/react-native-starter-kit

_1 _2 _3

Features

This template consists of four screens and three components showing the interaction between used libraries and offers a predefined project structure.

Views

  • Screens
    • Cards.tsx - Demonstrates the use of a grid, images embedded in the application and a component constructed from a large number of props;
    • Forms.tsx - Demonstrates integration between NativeBase UI, Formik form controller, Yup validator and RTK store;
    • Gallery.tsx - Demonstrates the use of local state, remote images and gallery implementation;
    • Session.tsx - Demonstrates access to user files and basic CRUD operations on store;
  • Components
    • AppBar.tsx - Demonstrates basic examples of use of reducers and preservation of application data in offline mode;
    • Card.tsx - Demonstrates reuse of a component by using props;
    • Modal.tsx - Demonstrates reuse of a component by using store;

Dependencies

Structure

  • src
    • assets - static assets such as videos, fonts, images, etc;
    • components - custom components for use in screens;
      • ...
      • Component.tsx
    • screens - finished screens, i.e. views for your application;
      • ...
      • Screen.tsx
    • slices - business logic implemented using Redux reducers;
      • ...
      • Slice.tsx
    • Theme.tsx - global theme parameters, as an example this application uses the Poppins font;
    • Store.tsx - state container which holds the application's global state;
    • Types.tsx - custom types and interfaces;
  • App.tsx - handles your app startup and routing;

Installation

To create a new project using the boilerplate simply run:

npx react-native init MyApp --template rnbnr-template

Than install dependencies:

npm install
cd ios && pod install # for iOS

And test your new application:

npm run android # for Android devices or Android Simulator
npm run ios # for iOS devices or iOS Simulator