Github Explorer Typescript React Native App using Github Rest API web services
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.
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.
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
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:
# Using npm
npm run android
# OR using Yarn
yarn android
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.
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.
You've successfully run and modified your React Native App. 🥳
- 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.
If you're having issues getting the above steps to work, see the Troubleshooting page.
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 ..
The official Github Documentation REST API v3 in details.
- React Getting started and React Getting started Docs
- Getting Started with TypeScript
- React Navigation
- Colors
- Scrollview
- Splash-Screen
- Handlebar Labs
- FastImage caching
- App Icon Generator iOS & Android
- Colors
- Android Image Asset Studio
- React navigation Stack Navigator
- Localization yarn add i18next react-i18next react-native-localize
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
For development, the latest version of Android Studio is required. The latest version can be downloaded from Xcode.
Updates will include many more feature and architectural pattern.
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
To learn more about React Native, take a look at the following resources:
- React Native Website - learn more about React Native.
- Getting Started - an overview of React Native and how setup your environment.
- Learn the Basics - a guided tour of the React Native basics.
- Blog - read the latest official React Native Blog posts.
@facebook/react-native
- the Open Source; GitHub repository for React Native.