Skip to content

pritamkhose/GithubExplorerReactNative

Repository files navigation

Github Explorer Typescript React Native

Github Explorer Typescript React Native App using Github Rest API web services

Introduction

The goal of this React Native Typescript application is to implement interface with Github REST API web service. It provide feature like search User's and it's details, along with list of user's Repositories, Followers and Following.

Getting Started

This is a new React Native project, bootstrapped using @react-native-community/cli. To build this project, use the npm install or yarn install command in Visual Studio Code or Getting Started with React native typescript project

npx react-native init GithubExplorerReactNative --template react-native-template-typescript
or 
npx react-native init GithubExplorerReactNative

Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.

Step 1: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

# using npm
npm start

# OR using Yarn
yarn start

Step 2: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

# using npm
npm run android

# OR using Yarn
yarn android

For iOS

# using npm
npm run ios

# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

Step 3: Modifying your App

Now that you have successfully run the app, let's modify it.

  1. Open App.tsx in your text editor of choice and edit some lines.

  2. For Android: Press the R key twice or select "Reload" from the Developer Menu (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!

    For iOS: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!

Congratulations! 🎉

You've successfully run and modified your React Native App. 🥳

Now what?

Troubleshooting

If you can't get this to work, see the Troubleshooting page.

Project command

To run this project, use yarn run android or yarn run ios. if need clean this project, use yarn run android-clean or yarn run ios-clean.

yarn run ... Description
android Run android development-mode on simulator or phone
android-debug Build android .apk with “Debug” configuration
android-release Build android .apk with “Release” configuration
android-clean Fix building android if preDexDebug error on Windows OS
android-clean-mac Fix building android if preDexDebug error on Mac or linux OS
android-bundle Bundle with entry file index.android.js
adb-reverse Reset port ADB to tcp:8081
adb-uninstall Uninstall android .apk with “Debug” configuration port ADB to tcp:8081
ios Run iOS project with Simulator
ios-pod-install install depedenceny for iOS project
ios-clean Fix building ios if preDexDebug error
ios-release Build android .ipa with “Release” configuration
ios-bundle Bundle with entry file index.ios.js
ios-pod-clean clean xcode & pod building
ios-device list of iOS devices
ios-15 Run iOS project with Simulator iPhone 15 only
node-clean clean node modules
test jest test case and coverage reprot
lint eslint js file
lint:fix fixing eslint to all js file
prettier prettier js file
prettier:fix fixing prettier to all js file
format fixing eslint & prettier to all js file
lintreport eslint report genrator
cleanreport delete all report files

To fix MAC Apple silcon devices M1 cocapad pod install issue fix by command where more info Github issue tracker and Youtube video.

cd ios
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
cd ..

Github Documentation

The official Github Documentation REST API v3 in details.

Screenshots

Search Users User Detail List of User Follower List of User Following List of User Repositories List of User Public Gist

Libraries used

Eslint

Axios references

Install yarn dependencies

yarn add @react-navigation/native react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-navigation/stack

npx pod-install ios

cd ios && pod install --repo-update --ansi && cd..

yarn add @babel/preset-env --dev
yarn add eslint-html-reporter --dev

yarn add axios moment @react-native-community/netinfo 
yarn add react-native-fast-image react-native-modal
yarn add react-native-splash-screen

IDE setup

For development, the latest version of Android Studio is required. The latest version can be downloaded from Xcode.

Upcoming features

Updates will include many more feature and architectural pattern.

Sonar command

cd /sonarqube/bin/macosx-universal-64

sh sonar.sh console

http://localhost:9000/


echo $JAVA_HOME 

Set path in sonar wrapper.config 
wrapper.java.command=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home/bin/java


in env or bash file
export PATH=/Users/pritamkhose/Documents/code/sonar-scanner/bin:$PATH

sonar-scanner
or 
sonar-scanner \
  -Dsonar.projectKey=GithubExplorerReactNative \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=75d4adfa00f787ea2a2791cdab2fc16f9a47b50a

Learn More

To learn more about React Native, take a look at the following resources: