Pepperoni App Kit

screenshot of Pepperoni App Kit
react
react-native

Pepperoni App Kit

Pepperoni - React Native App Starter Kit for Android and iOS

Overview:

Pepperoni is a React Native Starter Kit developed by Futurice, a company that specializes in building apps with React Native. The Starter Kit aims to provide developers with a set of best practices, tools, and patterns for developing high-quality mobile applications for both iOS and Android platforms quickly and cost-effectively. It is opinionated about tooling, patterns, and development practices, but can be customized as per the project requirements.

Features:

  • Application Blueprint: Provides a scaffolding for building React Native apps.
  • Modular and well-documented structure for application code.
  • Redux and ImmutableJS: Enables safe and reasonaboutable state management.
  • Redux Loop: Allows for Elm-style controlled side effects.
  • React Navigation: Provides smooth navigation with 60fps transitions.
  • Disk-persisted application state caching: Enables offline support and snappy startup performance.
  • Clean and testable service layer: Facilitates interaction with RESTful APIs.
  • Sample app: Demonstrates how to wire all the components together.
  • JSON Web Token authentication: Includes authentication functionality.
  • Multi-environment configuration: Supports different environments (dev, staging, production) for both iOS and Android.
  • Built-in error handling and customizable error screens.
  • Jest and Enzyme: Provides testing tools for unit testing application code and UI components.
  • Utilities for end-to-end integration testing of Redux state, including side effects and asynchronous actions.
  • Bitrise.io configurations: Allows for Continuous Integration and beta app distribution.
  • Google Tag Manager analytics: Integrated analytics functionality.
  • Travis CI example configuration: Supports testing for Android, iOS, and Javascript.
react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

react-native
React Native

React Native is a framework for building mobile applications using React and JavaScript. It enables developers to write once and deploy to multiple platforms, including iOS, Android, and the web, while providing a native app-like experience to users.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

Redux

Redux is a state management library for JavaScript apps that provides a predictable and centralized way to manage application state. It enables developers to write actions and reducers that update the state in response to user interactions, server responses, and other events, and can be used with a variety of front-end frameworks and back-end technologies.