React Native Boilerplate

screenshot of React Native Boilerplate
react
react-native
firebase

A React Native project boilerplate for producing reliable applications.

Overview

React-Native-Boilerplate is a React Native starter kit designed to assist in kickstarting mobile application development. It provides an optimized architecture for building reliable cross-platform apps by separating UI and business logic. The boilerplate is well-documented, ensuring that each section of code can be easily understood and utilized.

Features

  • Architecture separation: The boilerplate separates presentational components, screens, and application side effects from UI and state manipulation using Redux Saga.
  • React Native (v0.63.2): The latest version of React Native is used as the foundation for the boilerplate.
  • Redux (v4.0.5): Redux is utilized to manage and control state throughout the application.
  • Redux Persist (v6.0.0): This feature allows the Redux state to persist even after the application is closed.
  • Redux Sagas (v1.1.3): Redux Sagas separates side effects and logic from state and UI logic, enhancing code organization and maintainability.
  • React Navigation 5: The boilerplate incorporates React Navigation 5 for handling routing and navigation.
  • i18Next (v11.3.5): This feature facilitates multiple language support within the app.
  • Firebase (v5.6.0): Integration with Firebase enables push notifications within the boilerplate.
  • Code-Push (v6.2.0): Code-Push integration allows for easy dynamic updates to React Native apps.
  • react-native-fbsdk (v2.0.0): This feature simplifies Facebook login functionality.
  • google-signin (v4.0.0): Integration with Google Sign-In makes it easy to incorporate Google login functionality.
  • Theme Support: The boilerplate supports both DarkTheme and LightTheme.
  • react-native-splash-screen (v3.2.0): Splash screen setup is pre-configured within the boilerplate.
  • axios (v0.19.2): Axios is utilized for making API calls within the app.
  • TypeScript Support: TypeScript is pre-configured for React Native development.
  • prettier and eslint pre-configured: Prettier and eslint are set up for easy code formatting and consistent coding practices.

Summary

React-Native-Boilerplate is a well-documented and feature-rich React Native starter kit that provides an optimized architecture for building reliable cross-platform mobile applications. With its separation of concerns, Redux integration, and support for multiple languages and third-party services like Firebase and Code-Push, the boilerplate offers a strong foundation for rapidly developing robust mobile apps.

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.

firebase
Firebase

Firebase offers a comprehensive set of features, including real-time database, authentication, hosting, cloud functions, storage, and more. Firebase provides an easy-to-use interface and allows developers to focus on building features rather than managing infrastructure.

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.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

Yup

Yup is a schema builder for runtime value parsing and validation. It provides a declarative way to define validation schemas with support for complex nested objects, array validation, and custom validation rules. Often used with Formik for form validation.