• This repository has been archived on 09/Mar/2021
  • Stars
    star
    475
  • Rank 89,392 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 7 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The original React Native boilerplate from Infinite Red - Redux, React Navigation, & more

logo

Ignite "Andross" Boilerplate

Why is this archived?

We really appreciate all the community support in the years since we first released ignite-andross. Our focus has shifted to the latest version of Ignite, which includes the latest version of our boilerplate. Feel free to fork this library and continue on its legacy if you want.

NOTE: This repo has been renamed from ignite-ir-boilerplate-andross to ignite-andross. Although web traffic and git operations for the previous name will be redirected, we recommend you update any links and git urls for this repo.

The original tried and true boilerplate for Infinite Red's React Native apps

Currently includes:

  • React Native 0.63
  • React Navigation 4.0.0
  • Redux
  • Redux Sagas
  • And more!

Quick Start

When you've installed the Ignite CLI, you can get started with this boilerplate like this:

npx ignite-cli new MyLatestCreation

By default we'll ask you to choose which boilerplate you'd like. If you just want to use this one you can specify it with --boilerplate or -b:

npx ignite-cli new MyLatestCreation --boilerplate andross

You can also change the React Native version; just keep in mind, we may not have tested this just yet.

npx ignite-cli new MyLatestCreation --react-native-version 0.99.0-rc.2

By default we'll ask you some questions during install as to which features you'd like. If you just want them all, you can skip the questions:

npx ignite-cli new MyLatestCreation --max

If you want very few of these extras:

npx ignite-cli new MyLatestCreation --min

Boilerplate walkthrough

Your App folder is where most of the goodies are found in an Ignite Next app. Let's walk through them in more detail. Start with Containers/App.js (described below) and work your way down the walkthrough in order.

Containers

Containers are (mostly) full screens, although they can be sections of screens or application containers.

  • App.js - your main application. We create a Redux store and configure it here
  • RootContainer.js - main view of your application. Contains your status bar and navigation component
  • LaunchScreen.js - this is the first screen shown in your application. It's loaded into the Navigation component
  • Styles - styling for each of the above containers and screens

To generate a new Container or Screen you can use the following generator commands:

  • npx ignite-cli g container New - Will create a New.js and also a Styles/NewStyle.js.
  • npx ignite-cli g list New - The same as the container command, but it will give you a walkthrough to generate a ListView screen. Allowing you to even pick FlatList or not, grid, and some other options.
  • npx ignite-cli g screen New - Will create a NewScreen.js and also a Styles/NewScreenStyle.js. Important to mention that the screen generator will add the Screen on the file/class name to make easier to identify.

Those commands will also add the new container to the navigations file.

Navigation

Your primary and other navigation components reside here.

  • AppNavigation.js - loads in your initial screen and creates your menu(s) in a StackNavigation
  • Styles - styling for the navigation
  • ReduxNavigation.js - This file contains the core navigation of your application. If you ever change your launch screen, make sure to change it also at if (nav.routes.length === 1 && (nav.routes[0].routeName === 'LaunchScreen')) {, otherwise you may encounter navigation problems with the Android back button!

Components

React components go here...pretty self-explanatory. We won't go through each in detail -- open each file to read the comments and view the code.

To generate a new Component you can use the following generator commands:

  • npx ignite-cli g component New - Will create a New.js and also a Styles/NewStyle.js.
  • npx ignite-cli g component path/New - The same as above, but will use a relative path
  • npx ignite-cli g component --folder path - An alternative to npx ignite-cli g component path/index
  • npx ignite-cli g component --folder path new - An alternative to npx ignite-cli g component relativePath/New

Storybook

Storybook has been setup to show off components in the different states. Storybook is a great way to develop and test components outside of use in your app. Simply run npm run storybook to get started. All stores are contained in the *.story.js files along side the components.

Themes

Styling themes used throughout your app styles.

  • ApplicationStyles.js - app-wide styles
  • Colors.js - defined colors for your app
  • Fonts.js - defined fonts for your app
  • Images.js - loads and caches images used in your app
  • Metrics.js - useful measurements of things like navBarHeight

Config

Initialize and configure things here.

  • AppConfig.js - simple React Native configuration here
  • DebugConfig.js - define how you want your debug environment to act
  • ReactotronConfig.js - configures Reactotron in your project (Note: this will be extracted into a plugin in the future)
  • ReduxPersist.js - configures Redux Persist (Note: this will be extracted into a plugin in the future)

Fixtures

Contains json files that mimic API responses for quicker development. These are used by the Services/FixtureApi.js object to mock API responses.

Redux, Sagas

Contains a preconfigured Redux and Redux-Sagas setup. Review each file carefully to see how Redux interacts with your application.

Here again we have generators to help you out. You just have to use one of the following:

  • npx ignite-cli g redux Amazing - Will generate and link the redux for Amazing.
  • npx ignite-cli g saga Amazing - The same as above, but for the Sagas

You can read more about Redux and Redux Sagas in these blog posts:

Services

Contains your API service and other important utilities for your application.

  • Api.js - main API service, giving you an interface to communicate with your back end
  • ExamplesRegistry.js - lets you view component and Ignite plugin examples in your app
  • FixtureApi.js - mocks your API service, making it faster to develop early on in your app
  • ImmutablePersistenceTransform.js - part of the redux-persist implementation (will be removed)
  • RehydrationServices.js - part of the redux-persist implementation (will be removed)

Lib

We recommend using this folder for modules that can be extracted into their own NPM packages at some point.

Images

Contains actual images (usually png) used in your application.

Transforms

Helpers for transforming data between API and your application and vice versa. An example is provided that you can look at to see how it works.

Tests

This folder (located as a sibling to App) contains sample Jest snapshot and unit tests for your application.

If you would like to have the npx ignite-cli generate command include the generation of tests when available, add "tests": "jest" or "tests": "ava" to ./ignite/ignite.json, depending on the test runner you are using.

Previous Boilerplates

Premium Support

Ignite CLI and Ignite Andross, as open source projects, are free to use and always will be. Infinite Red offers premium Ignite CLI support and general mobile app design/development services. Email us at [email protected] to get in touch with us for more details.

More Repositories

1

ignite

Infinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more!
TypeScript
16,471
star
2

reactotron

A desktop app for inspecting your React JS and React Native projects. macOS, Linux, and Windows.
TypeScript
14,589
star
3

nsfwjs

NSFW detection on the client-side via TensorFlow.js
JavaScript
7,194
star
4

gluegun

A delightful toolkit for building TypeScript-powered command-line apps.
TypeScript
2,856
star
5

apisauce

Axios + standardized errors + request/response transforms.
JavaScript
2,754
star
6

thesis-phoenix

A lightweight, bolt-on, intuitive content editing system for Elixir/Phoenix websites. Star this repo and follow along with our progress!
Elixir
648
star
7

ignite-bowser

Bowser is now re-integrated into Ignite CLI! Head to https://github.com/infinitered/ignite to check it out.
TypeScript
618
star
8

solidarity

Solidarity is an environment checker for project dependencies across multiple machines.
TypeScript
614
star
9

ChainReactApp2017

The official Chain React Conf 2017 App
JavaScript
437
star
10

rmq

RMQ - RubyMotionQuery
HTML
307
star
11

flame

Flame AI: CLI for Interactive AI-Powered React Native Upgrades
TypeScript
258
star
12

redpotion

We believe iPhone development should be clean, scalable, and fast with a language that developers not only enjoy, but actively choose. With the advent of Ruby for iPhone development the RubyMotion community has combined and tested the most active and powerful gems into a single package called RedPotion
Ruby
235
star
13

cdq

Core Data Query for RubyMotion
Ruby
172
star
14

ChainReactApp2019

The Chain React 2019 Conference App
TypeScript
166
star
15

reactotron-react-native

Reactotron's react-native client.
TypeScript
110
star
16

nsfwjs-mobile

NSFWjs in React Native
JavaScript
106
star
17

ChainReactApp2023

The official Chain React App for #ChainReact2023, written in React Native
TypeScript
100
star
18

ruby-xcdm

Ruby XCDM
Ruby
94
star
19

ProMotion-menu

RubyMotion gem allowing you to easily setup a facebook or Path style hidden slide menu easily with the ProMotion gem.
Ruby
74
star
20

bluepotion

Like RedPotion, but for Android
Ruby
73
star
21

ramdasauce

Ramda smothered in saucy helpers.
JavaScript
69
star
22

awesome-react-testing

React and React Native testing tools and strategies
67
star
23

firebird

Template for Phoenix 1.3 projects
Elixir
66
star
24

phoenix_base

Template project for Phoenix
Elixir
65
star
25

flipper-plugin-reactotron

A plugin for the Flipper desktop application
TypeScript
62
star
26

ignite-cookbook

Ignite Cookbook for React Native
CSS
47
star
27

ignite-example-login

This is an example Ignited app that shows how to integrate a login screen with redux-aware react navigation
JavaScript
47
star
28

solidarity-react-native

Solidarity snapshot plugin for React Native projects
JavaScript
47
star
29

ai-lab

Library of components for TensorFlow.js in web frameworks.
TypeScript
46
star
30

ionicons-version-3-search

Quickly identify IonIcons from version 3, with version 2 names as tags!
JavaScript
41
star
31

react-native-mlkit

TypeScript
33
star
32

apex

Apex: the RubyMotion web framework for OS X.
Ruby
31
star
33

ignite-ir-boilerplate-2016

[Not supported] A boilerplate for Ignite with best practices we've learned from 2015.
JavaScript
26
star
34

ignite-bowser-examples

This repository is out of date and is archived here for historical purposes only. See current Ignite Bowser for more relevant examples.
TypeScript
26
star
35

maybe

Access Elixir maps and structs, protected from `nil`
Elixir
25
star
36

open-source

Information and Guides for Infinite Red Open Source Projects
24
star
37

thesis-rails

Thesis: A Rails CMS that doesn't hijack your development workflow. [Deprecated]
Ruby
23
star
38

authority

Next-gen Elixir authentication specification
Elixir
22
star
39

babel-plugin-ignite-ignore-reactotron

Strips Reactotron from production builds for Ignite-based apps.
JavaScript
21
star
40

ChainReactApp2022

TypeScript
20
star
41

react-navx

[Experimental] Navigation and state management in one place for your React Native projects, featuring React Navigation and MobX / MST
TypeScript
20
star
42

mst-reference-pool

MST Reference Pool is a MobX-State-Tree extension that allows you to use references to a pool of model instances in any store.
TypeScript
20
star
43

ProMotion-iap

In-app purchases for ProMotion!
Ruby
19
star
44

ProMotion-form

Deprecated -- use ProMotion-XLForm
Ruby
19
star
45

ignite-maps

Painlessly add react-native-maps to your React Native app using Ignite and Ignite Maps.
EJS
19
star
46

ProMotion-push

Push notification support for ProMotion.
Ruby
18
star
47

rmq-example-app-image-browser

An example app for RubyMotionQuery (rmq). The user can query, browse, and zoom photos. Uses RMQ and AFMotion
Ruby
18
star
48

Parsistence

A nice wrapper for your Parse models on RubyMotion, complete with querying and much more.
Ruby
17
star
49

reactotron-react-js

Reactotron's react-dom client.
TypeScript
16
star
50

whitepotion

WhitePotion is just like RedPotion, but for OS X
Ruby
15
star
51

ir-docs

Omnibus Documentation for Infinite Red Opensource
CSS
13
star
52

ProMotion-map

ProMotion::MapScreen gem. Extracted from ProMotion core.
Ruby
13
star
53

react-native-ai

13
star
54

motion-scene-kit

SceneKit stuff in RubyMotion
Ruby
13
star
55

middleman-template

A nice default project template for Middleman, the fantastic static site building tool.
CSS
12
star
56

harvest-invision-integration

Install this User Script via TamperMonkey to add Harvest Tracker to Invision Enterprise workflow pages
JavaScript
12
star
57

authority_ecto

Ecto integration for Authority https://github.com/infinitered/authority
Elixir
12
star
58

rmq-slide-over-control

A RubyMotion RMQ control that places a draggable view over another view, allowing the user to show more or less of the main view below
Ruby
12
star
59

keras-model-zoo

Ready to go, downloadable models for Keras
11
star
60

ignite-json-server

Ignite plugin that adds json-server to an Ignited project
JavaScript
10
star
61

reactotron-redux

The redux plugin for reactotron that allows tracking redux actions and state
TypeScript
10
star
62

reactotron-redux-saga

The redux saga plugin for reactotron. Allows for tracking of Redux Sagas
TypeScript
10
star
63

reactotron-core-client

The core client for all reactotron clients
TypeScript
10
star
64

ignite-redux-persist

An Ignite CLI plugin for Redux Persist
JavaScript
9
star
65

rmq-template

A template for RubyMotionQuery projects
Ruby
8
star
66

addon-storyshots

JavaScript
8
star
67

DiveIntoNative

Just scratching the surface of jumping into Native
Objective-C
7
star
68

ignite-dev-screens

Ignite DevScreens plugin for ignite-cli
JavaScript
7
star
69

tensorplayground

Playground for visual tensors and interactive code
JavaScript
7
star
70

mithril_pubsub

A PubSub layer for Mithril-architected apps
Elixir
6
star
71

reactotron-core-server

The core reactotron server used by the reactotron app
TypeScript
6
star
72

ignite-animatable

An ignite plugin for react-native-animatable.
JavaScript
6
star
73

redpotion-template

Ruby
5
star
74

bluepotion-template

Ruby
5
star
75

ignite-vector-icons

An ignite plugin for `react-native-vector-icons`.
JavaScript
5
star
76

jest-preset-ignite

Glues together TypeScript, React Native, and Jest.
JavaScript
5
star
77

ignite-redux-devtools

An Ignite CLI plugin for Redux DevTools
JavaScript
5
star
78

reactotron-mst

Reactotron's mobx-state-tree plugin
TypeScript
4
star
79

ignite-i18n

An ignite plugin for react-native-i18n.
JavaScript
4
star
80

reactotron-core-ui

TypeScript
4
star
81

ueberauth_dwolla

Ueberauth Plugin for OAuth through Dwolla
Elixir
3
star
82

ups

Address validation/normalization against UPS API
Elixir
3
star
83

ignite-ir-boilerplate

Boilerplate Index
3
star
84

tutorial-movie

A demo CLI app, powered by Gluegun
TypeScript
3
star
85

whack-a-mole

A game to demonstrate lists, lifecycle methods, and fundamentals of React Native
JavaScript
3
star
86

ignite-next-js

Ignite Next.js website boilerplate with Next.js, MySQL, and Github authentication
JavaScript
3
star
87

elavon-elixir

Native elixir client for USBank Elavon Converge API
Elixir
3
star
88

ignite-plugins

The Official Ignite Plugin Registry
3
star
89

eversign

Elixir wrapper for Eversign API
Elixir
2
star
90

MarqueeMark

Large text displayer.
Objective-C
2
star
91

reactotron-apisauce

Reactotron's apisauce plugin
TypeScript
2
star
92

msterymeat

mobx-state-tree proclivities
TypeScript
2
star
93

motion-conf

motion-conf is an easy to use configuration class generator for your RubyMotion apps.
Ruby
2
star
94

wpf-base

Base React Native Windows WPF project for bare bones use in upstream
C#
2
star
95

mobx-forge

TypeScript
2
star
96

orb-publish-docs

CircleCI Orb for publishing docs
Shell
1
star
97

TrainingAppDec2018

What we covered in the online Infinite Red Academy training on December 12, 2018
JavaScript
1
star
98

rmq-plugin-template

Template Repo for RMQ
HTML
1
star
99

solidarity-stacks

Community Solidarity files for well known software stacks
1
star
100

rmq_grid

An easy online rmq_grid playground
JavaScript
1
star