leinstay / rnbnr-template

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

Home Page:https://www.npmjs.com/package/rnbnr-template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

https://www.npmjs.com/package/rnbnr-template

License:MIT License


Languages

Language:TypeScript 47.3%Language:Java 23.7%Language:C++ 11.1%Language:Objective-C++ 6.8%Language:Objective-C 3.6%Language:JavaScript 3.1%Language:Ruby 2.3%Language:Starlark 0.9%Language:Shell 0.7%Language:CMake 0.4%