Skip to content

An example react-native project which covers the usage of redux-thunk.

Notifications You must be signed in to change notification settings

SimformSolutionsPvtLtd/SimformRN-redux-thunk

Repository files navigation

SimformRnReduxThunk

The repository for SimformRnReduxThunk.

Project Name: SimformRnReduxThunk

Bundle Id: com.simform.rnreduxthunk

Package Name: com.simform.rnreduxthunk

license language

react-native codebeat badge code-style

Make sure to add the codebeat badge of your repository into your readme as shown above. Also the version of react-native must be mentioned. You can read it form the package.josn of your project. And how to do it is mentioned in SampleReadme1.


Project Desctiption

Breif description of the project(must be 10-15 lines) and its key features.

Prerequisites

List of the softwares and tools used to develop and run the project.

iOS : XCode(10.2)

Android : Android Studio(3.4) with gradle(5.1.1)

Editor : Visual Studio Code

Main technologies used

List all main technologies and frameworks of react-native eco-system used in the project. Also mention their usage in the project.

  • React Native A framework for building native apps with React.

  • Redux A state management library used to manage data used by application.

  • Redux Saga Redux-saga is a redux middleware library, which enables us to use redux asynchronously.

  • Api Sause It is a library which is use for make a Api call.

How to Setup Project

Steps to setup the project

Step 1: Clone this repository.

Step 2: Go to the cloned repo and open in in termianl.

Step 3: Install the Application with npm i

Step 4: cd to ios directory. And install pods with pod install

Step 5: Run Jetify for Third Party library convert in AndroidX npx jetify(This needs to be done only for first time after checking out the repo. And for all projects having react-native 0.60 onwards)

How to Run the Project

Steps to run the project in ios and andorid

  1. cd to the project directory
  2. Run and build for either OS
    • Run iOSm app
      npm run ios
    • Run Android app
      • Start Genymotion or Native emulator
      npm run android
    • Note: This npm scripts will lint your code first. If there are no lint errors, then it will run the ios or android app. Otherwise it will show the lint errors in the terminal.

Coding Style used

Description of the coding style used in the project.

This project adheres to JavaScript Standard for codinng style. To maintain coding standards, utilising features of ES6 and follow best development practices of react-native, this project also uses ES6, some rules of eslint-airbnb, eslint-plugin-react and eslint-plugin-react-native.

Do not disable lint inside the code. Try to understand the rule and then follow it into your code. Disabling lint will be considered a violation of coding standards. Exceptions will be allowed by the code-reviewer and team lead after understanding the need to ignore lint.

  1. To Lint

    Use the npm script lint. To run it

  npm run lint
  1. Auto Lint on Commit

    This is implemented using husky. So husky will prevent code-cmmits having lint errors. There is no additional setup needed.

  2. Understanding Linting Errors

    The linting rules are from JS Standard and React-Standard. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.

Extra steps for android

Describe any extra steps which need to be taken fo the auto-generated android project. Eg. Some specific setup of any manifest file, some manual linking which is buggy and needs to be corrected for first checkout etc. Here is an example:

  • Mind the version of google services used in the project. All google services must have same version. This is implemented using project level build.gradle.

Extra steps for ios

Describe any extra steps which need to be taken for the auto-generated ios project. Eg. Some specific setup of any certificates, pods, linking, information in Info.plist, some manual linking which is buggy and needs to be corrected for first checkout etc. Here is an example:

  • You will need all the certificates to run the ios project in a real device.

List of all dependencies used in the project with their usage

List all dependencies from the package.json file along with their usage. This list must be updated every time you change/add any dependecy. Here are some examples:

  1. @react-native-community/audio-toolkit to play and record audio files.
  2. react-native-circle-list to display friend list on the bottom of Home Screen.

Following accounts are used for the mentioned platform

Mention all the accounts used for various development and deployement platforms. Just email/username should be mentioned but never a password. Make sure this information stays in a private repository. If your repository is public, do not share this kind of private information via readme. Provide another private source. Like a private file on our zoho or a file in Microsoft Teams.

Codebeat: abc@abc.com

Bitrise: abc@abc.com

Google Play: abc@abc.com

Apple Store and developer account: abc@abc.com

Fabric: abc@abc.com

Firebase/Google service: abc@abc.com

Troubleshoot Notes

Provide troubleshoot guideline for any known issues. For example, a specific error for build proccess or deployement process or even an error in any third party dependency.

For example

  • Application crashes in production because of react-native-maps. Follow this link to fix it.

If there no known issues:

  • There are no known issues for run or build processes right now.

Notes

Here any information which is important but not mentioned above and must be passed among all developers, should be mentioned. Like which branch is used for build releases, library deprecations etc.

For example

  • Release builds are distributed from develop-release branch and all pull requests are done to develop branch.

About

An example react-native project which covers the usage of redux-thunk.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published