mobile-simformsolutions / animated-drawer-react-native

An animated drawer menu using react navigation 5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SimformRN

The repository for SimformRN, a react-native boiler-plate.

Project Name: SimformRN

Bundle Id: com.simform.SimformRN Package Name: com.simformrn

license react-native codebeat badge code-style


Project Desctiption

this is a unassigned task for react navigation v5 and custom drawer animation

Prerequisites

iOS : XCode(10.2) onwards

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

Editor : Visual Studio Code

How to Setup Project

Step 1: Clone this repository.

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

Step 3: Install the dependencies with $ npm i

Step 4: Run the npm script to install the cocoapods $ npm podinstall

How to Run the Project

  1. Open the project directory in to terminal
  2. Run and build for either OS
    • Run iOS app
      npm run ios
    • Run Android app
      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.

Reusablity

  • How it can be reused?
  • There are two bugs with this lib though.
    • If your old project name and new project name have same strings in them, it won't rename the ios .pbxproj, .xcodeproj and .xcworkspace files.
    • To overcome this, we can rename the project with a totally different name first and than can rename it with the actual name.
      first command: <project_root_directory>$react-native-rename "TestApp" -b com.simform.testapp
    
      second command: <project_root_directory>$react-native-rename "SimformRN" -b com.simform.simformrn

Template generator

  • Why generator?
    • Generator will help us to save 5-15 minutes time when creating every module, screen, component, reducer, saga, service etc.

Coding Style used

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

  • run following command
  • npm run android

Extra steps for ios

  • run following command

    • npm run ios
  • 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.

Following accounts are used for the mentioned platform

  • no account used as of now

Troubleshoot Notes

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

Notes

  • no notes

About

An animated drawer menu using react navigation 5


Languages

Language:JavaScript 81.2%Language:Ruby 4.8%Language:Java 4.6%Language:HTML 4.6%Language:Objective-C 3.8%Language:Starlark 1.0%