Skip to content

pritamkhose/GithubExplorerReactNative

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

yarn add @react-navigation/native @react-navigation/stack react-native-gesture-handler react-native-reanimated react-native-safe-area-context react-native-screens react-native-splash-screen
yarn add eslint-html-reporter -D

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

Step 1: Start Metro

First, you will need to run Metro, the JavaScript build tool for React Native.

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

# Using npm
npm start

# OR using Yarn
yarn start

Step 2: Build and run your app

With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:

Android

# Using npm
npm run android

# OR using Yarn
yarn android

iOS

For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).

The first time you create a new project, run the Ruby bundler to install CocoaPods itself:

bundle install

Then, and every time you update your native dependencies, run:

bundle exec pod install

For more information, please visit CocoaPods Getting Started guide.

# Using npm
npm run ios

# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.

This is one way to run your app — you can also build it directly from Android Studio or Xcode.

Step 3: Modify your app

Now that you have successfully run the app, let's make changes!

Open App.tsx in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by Fast Refresh.

When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:

  • Android: Press the R key twice or select "Reload" from the Dev Menu, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS).
  • iOS: Press R in iOS Simulator.

Congratulations! 🎉

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

Now what?

  • If you want to add this new React Native code to an existing application, check out the Integration guide.
  • If you're curious to learn more about React Native, check out the docs.

Troubleshooting

If you're having issues getting the above steps 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

Debugging React Native

Eslint

Axios references

Deeplink in app for web

npx uri-scheme add peoplesapp --ios
npx uri-scheme add peoplesapp --android

npx npx uri-scheme open "githubexplorerreactnative://RepositoriesScreen?username=pritamkhose" --android
npx uri-scheme open "githubexplorerreactnative://UserDetails?username=pritamkhose&avatar_url=https://avatars.githubusercontent.com/u/13750893?v=4" --ios
* [Deep Linking in React Native ](https://reactnavigation.org/docs/deep-linking/)```
* [Universal Links (App Links) in React Native for iOS & Android](https://medium.com/smallworldus/universal-links-app-links-in-react-native-for-ios-android-c4093cb3a71e)
* [React Native WebView](https://blog.logrocket.com/react-native-webview-complete-guide/)

Install yarn dependencies
--------------
```sh
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:

About

Github Explorer React Native App using Github Rest API web services

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •