Git Product home page Git Product logo

react-native-react-query-starter-app's Introduction

React Native (React Query) Toolkit Start App

A React Native boilerplate app to bootstrap your next app with React-Query!

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ Upgraded to the latest React-Native (> 0.69.x) with brand New Architecture (Fabric) ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ


License All Contributors

Issues

Build

Build Build

Buy Me A Coffee

Table of Contents


Installation ๐Ÿ“ฅ

# Setup your project
> npx degit IronTony/react-native-react-query-starter-app your-new-app

> cd your-new-app

# Install dependencies
> yarn

# if needed, setup iOS development environment
yarn setup:ios

See environment section for how to configure env variables.

See scripts section for how to run the app.


Rename project and bundles ๐Ÿ“ ๐Ÿ“ฆ

To rename the project and bundles, just follow these steps:

iOS & Android

Run npx react-native-rename [name] -b [bundle-identifier] from the project root

Example: npx react-native-rename "Test New App" -b com.testnewapp


Environment Setup ๐ŸŒ

React Native Starter App environments variables management is based on a custom script and the app.json config file.

Define your environment variables inside app.json inside the environments object under the desired environment key (such as development, staging or production) and then run the app for the required env using one of the available run scripts (e.g. ios:dev).

If you want to use IDEs such Xcode or Android Studio, you have to set up the ENV variables with these commands:

  • yarn env:dev, to set the development ENV variables
  • yarn env:stage, to set the staging ENV variables
  • yarn env:prod, to set the production ENV variables

Scripts ๐Ÿ”ง

Run the app

To run the app use one of the following scripts:

  • yarn android:dev, to start the app on Android with the development environment variables.

  • yarn android:stage, to start the app on Android with the staging environment variables.

  • yarn android:prod, to start the app on Android with the production environment variables.

  • yarn ios:dev, to start the app on iOS with the development environment variables.

  • yarn ios:stage, to start the app on iOS with the staging environment variables.

  • yarn ios:prod, to start the app on iOS with the production environment variables.

Generate app icons

To setup the app icons:

  • create an image at least 1024x1024px
  • place it under /assets folder as icon.png
  • run
yarn assets:icons

Generate Splashscreen

To setup the app splashscreen:

  • create an image at least 1242x2208px
  • place it under /assets folder as splashscreen.png
  • run
yarn assets:splashscreen

To enabled React-Native (Fabric) new architecture

Check the official documentation here

Setup iOS

To setup the environment to run on iOS, run

yarn setup:ios

this will run cocoapods to install all the required dependencies.

Typescript (optional)

The use of Typescript in the project is not mandatory. You can just write all your code using plain Javascript. Our hint is to create all files as below:

  • files with logic and Views with tsx extension
  • files with Stylesheet and others with ts extension

To enable full Typescript checks, just open the tsconfig.json file and chage as below:

"noImplicitAny": true, // set to true to be explicit and declare all types now<br/>
"strict": true,  // enable it to use fully Typescript set of invasive rules<br/>

REMEMBER: the entry point file in the root of the project MUST be index.js


Roadmap ๐Ÿƒ

โœ… Initial Setup
โœ… Splashscreen (https://github.com/crazycodeboy/react-native-splash-screen)
โœ… Toolbox (https://github.com/panz3r/react-native-toolbox)
โœ… Standard tree folders structure
โœ… React-Native 0.69 (new architecture)
โœ… React-query
โœ… React-query Custom hooks (eg. GET, POST, PUT, PATCH, DELETE)
โœ… React Native Flipper Integration
โœ… i18next
โœ… React-navigation v6 โค๏ธ
โœ… Nativebase v3 as design system
โœ… Env variables selection experimental way โš—๏ธโš—๏ธโš—๏ธ
โœ… Typescript (optional use. Read the DOC above)


Screenshots


Contributors โœจ

Thanks goes to these wonderful people (emoji key):


IronTony

๐Ÿค” ๐Ÿ’ป ๐Ÿ“– ๐Ÿ› ๐Ÿšง ๐Ÿ“ฆ ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ ๐Ÿ’ก

Mattia Panzeri

๐Ÿค”

This project follows the all-contributors specification. Contributions of any kind welcome!


License ๐Ÿ“œ

Licensed under Mozilla Public License Version 2.0

react-native-react-query-starter-app's People

Contributors

irontony avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

react-native-react-query-starter-app's Issues

Possibilities to update to RN 0.71.0

Hi, as the release already came out on RN 0.70 and 0.71.0, I wonder if this starter repo will gets an upgrade on the RN base version?

-- Ivan

Dependency warnings

Ubuntu Node: v16.14.2

[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has unmet peer dependency "react-dom@*".
warning "native-base > @react-aria/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-native-aria/[email protected]" has unmet peer dependency "react-dom@*".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-native-aria/combobox > @react-aria/[email protected]" has unmet peer dependency "react-dom@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0".
warning "native-base > @react-native-aria/combobox > @react-aria/[email protected]" has unmet peer dependency "react-dom@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0".
warning "native-base > @react-native-aria/tabs > @react-aria/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-native-aria/tabs > @react-types/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-stately/combobox > @react-types/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning "native-base > @react-native-aria/combobox > @react-aria/combobox > @react-aria/[email protected]" has unmet peer dependency "react-dom@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0".
warning "native-base > @react-native-aria/tabs > @react-aria/tabs > @react-stately/[email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0-rc.1".
warning " > [email protected]" has incorrect peer dependency "[email protected]".
warning " > [email protected]" has incorrect peer dependency "react@^16.8.0 || ^17.0.0".
warning "@react-native-community/eslint-config > [email protected]" has unmet peer dependency "@babel/plugin-syntax-flow@^7.14.5".
warning "@react-native-community/eslint-config > [email protected]" has unmet peer dependency "@babel/plugin-transform-react-jsx@^7.14.9".
warning "@react-native-community/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.17.0 || ^4 || ^5 || ^6 || ^7".```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.