/react-native-starter-app

:rocket: A React Native boilerplate app to get you up and running very, very quickly :rocket:

Primary LanguageJavaScriptMIT LicenseMIT

GitHub tag GitHub contributors GitHub license GitHub issues GitHub closed issues GitHub pull requests

Build Status Coverage Status

alt text

React Native Starter Kit

React Native Starter Kit helps you get started with React Native. It contains a bunch of helpful components, building blocks and basic structure to allow you to jump straight into building an app.

alt text


Docs

  1. Features
  2. Before you start
    1. Getting Started with React Native
    2. React Native Quick Tips
    3. Understanding the File Structure
    4. Opinions Guiding this Project
  3. Using RNSK
    1. Getting Up and Running with RNSK
    2. Renaming the App from StarterKit
    3. Routing / Navigating
    4. Using Google Analytics
    5. Interacting with a REST API
    6. Testing
  4. Contributing
  5. Licence

Features

Feature Summary
Redux A predictable state container - Helping you write applications that behave consistently and run in different environments.
React Native Router Flux Router for React Native based on new React Native Navigation API.

'How to' Guide →
API Example A basic example showing how you can interact with a RESTful API with user authentication (JWT).
Sidebar / Hamburger Menu ...
React Native Elements Cross Platform React Native UI Toolkit.
Google Analytics Shows how to track screen views (includes both a 'debug' mode tracker as well as 'release' mode so that data doesn't get obfuscated).

Setup Guide →
React Native Vector Icons Easily use icons from a wide range of icon libraries, it's as simple as importing the icon font and then <Icon name={'ios-alert-outline'} size={50} color={"#CCC"} />.
Tcomb Form Validation An example on how to create forms with validation.
Component Style Guide A bunch of elements and components to get you started - styled headings, buttons, list rows, alerts etc.
Code Linting / Code Style Guide We're using Airbnb's JS/React Style Guide with ESLint linting.

Get started with linting for React Native →
Boilerplate An example directory/file structure I've found useful for scaling apps

Learn more →

Getting Started

  1. Ensure you've followed the React Native - Get Started Guide for the platform/s of choice
  2. Clone this project git clone https://github.com/mcnamee/react-native-starter-app.git
  3. Run npm install from root directory
  4. Start the app in an emulator

Understanding the File Structure

  • /android - The native Android stuff
  • /ios - The native iOS stuff
  • /src - Contains the full React Native App codebase
    • /components - 'Dumb-components' / presentational. Read More →
    • /constants - App-wide variables and config
    • /containers - 'Smart-components' / the business logic. Read More →
    • /images - Self explanatory right?
    • /lib - Utils, custom libraries, functions
    • /navigation- Routes - wire up the router with any & all screens. Read More →
    • /redux - Redux Reducers & Actions grouped by type. Read More →
    • /theme - Theme specific styles and variables