futurice/pepperoni-app-kit

Name: pepperoni-app-kit

Owner: Futurice

Description: Pepperoni - React Native App Starter Kit for Android and iOS

Created: 2016-04-13 15:16:58.0

Updated: 2018-01-19 01:13:55.0

Pushed: 2017-10-24 15:12:21.0

Homepage: http://getpepperoni.com

Size: 49065

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Pepperoni - Empowered by Futurice

Futurice React Native Starter Kit

Join the chat at https://gitter.im/futurice/pepperoni-app-kit Build Status React Native Sponsored License

We :green_heart: building apps with React Native, because it helps us create high quality products for both major mobile platforms quickly and cost-effectively.

Getting started on a new app just takes too damn long, though. Most apps need the same basic building blocks and developer infrastructure, and we are bored of reinventing the wheel time and time again.

This Starter Kit reflects the best practices of React Native development we have discovered while building real-world applications for our customers. It is opinionated about tooling, patterns and development practices. It might not be a one-size-fits-all solution for everyone, but feel free to customize it for your needs, or just take inspiration from it.

React Native Starter Kit is a part of Pepperoni, a framework for kickstarting digital product development.

tltr;

Sounds good and you just want to see how it works? Here is a quick start guide:

clone https://github.com/futurice/pepperoni-app-kit.git
epperoni-app-kit
 install
t-native run-ios

For further setup instructions please see our Getting Started section.

Contents

:warning: WORK IN PROGRESS | :star: COMING SOON

Not all of the below is yet fully implemented

Application Blueprint
Testing Setup
Development & Deployment Infrastructure
Roadmap
Getting started

To build your own app on top of the Starter Kit, fork or mirror this repository. For serious use we recommend mirroring using these instructions, since you can't make a fork of a public repository private on GitHub. To contribute to Starter Kit development or just playing around, forking is the way to go.

First, give your application a name by running ./support/rename.sh YourAppName.

Once you have the code downloaded, follow the Setup guide to get started.

Development workflow

After you have set up the project using above instructions, you can use your favorite IDE or text editor to write code, and run the application from the command line. Turn on React Native hot module reloading in the app developer menu to update your application as you code.

To learn how to structure your application and use the Redux application architecture, read the Architecture guide for more details.

Start the application in iOS simulator
act-native run-ios
Start the application in Android simulator

(If using the stock emulator, the emulator must be running)

act-native run-android
Run unit tests
m test
Run tests every time code changes
m run test:watch
Generate code coverage report
m run coverage

Read the Testing guide for more information about writing tests.

Debugging

For standard debugging select Debug JS Remotely from the React Native Development context menu (To open the context menu, press CMD+D in iOS or D+D in Android). This will open a new Chrome tab under http://localhost:8081/debugger-ui and prints all actions to the console.

For advanced debugging under macOS we suggest using the standalone React Native Debugger, which is based on the official debugger of React Native. It includes the React Inspector and Redux DevTools so you can inspect React views and get a detailed history of the Redux state.

You can install it via brew and run it as a standalone app:

ew update && brew cask install react-native-debugger

Note: Make sure you close all active chrome debugger tabs and then restart the debugger from the React Native Development context menu.

Deployment

Read the Deployment guide to learn how to deploy the application to test devices, app stores, and how to use Code Push to push updates to your users immediately.

Contributing

If you find any problems, please open an issue or submit a fix as a pull request.

We welcome new features, but for large changes let's discuss first to make sure the changes can be accepted and integrated smoothly.

License

MIT License

Credits

This project was initially motivated by Snowflake, a React Native boilerplate by Barton Hammond. It shares some features and design principles for Pepperoni, but it wasn't the right fit for our needs. At this time Snowflake is more mature, so if you like Pepperoni but didn't agree with something we are doing, you should check it out to see if it's a good fit for your app.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.