---
title: Step 2. Preparing the project
description: Install the React Native SDK workspace and sample dependencies, then prepare the Android signing keystore and iOS CocoaPods setup.
component: orchsdks
page_id: orchsdks:davinci:try-it-out/react-native/02_prepare-projects
canonical_url: https://developer.pingidentity.com/orchsdks/davinci/try-it-out/react-native/02_prepare-projects.html
llms_txt: https://developer.pingidentity.com/orchsdks/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["PingOne", "DaVinci", "Setup &amp; Configuration", "Source Code", "Tutorial", "SDK", "React Native"]
section_ids:
  installing_javascript_dependencies: Installing JavaScript dependencies
  preparing_the_native_android_project: Preparing the native Android project
  preparing_the_native_ios_project: Preparing the native iOS project
---

# Step 2. Preparing the project

[icon: circle-check, set=far]PingOne [icon: react, set=fab]React Native

* [Prepare](00_before-you-begin.html)

* [Download](01_download_samples.html)

* **Install**

* [Configure](03_configure_sample.html)

* [Run](04_run_the_sample.html)

After downloading the React Native SDK repository, install its workspace dependencies and prepare the native projects in `PingSampleApp`.

## Installing JavaScript dependencies

From the React Native SDK repository root, install the workspace dependencies:

```shell
yarn install
```

Build the local React Native SDK packages used by the sample app:

```shell
yarn packages:build
```

Install the sample app dependencies and native iOS dependencies:

```shell
yarn sample:clean-install
```

## Preparing the native Android project

The Android build requires a debug signing keystore. Generate one from the React Native SDK repository root:

```shell
keytool -genkeypair -v \
  -keystore PingSampleApp/android/app/pingsampleapp-debug.jks \
  -alias androiddebugkey \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -storepass 5tr0ngP@S5w0rd! -keypass 5tr0ngP@S5w0rd! \
  -dname "CN=Android Debug,O=Android,C=US"
```

Replace ***5tr0ngP\@S5w0rd!*** with a password of your choice, using the same value for both the `-storepass` and `-keypass` parameters.

Add the matching keystore credentials to your global Gradle properties file, for example at `~/.gradle/gradle.properties`:

```properties
KEYSTORE_PASSWORD=5tr0ngP@S5w0rd!
KEY_PASSWORD=5tr0ngP@S5w0rd!
```

If `ANDROID_HOME` is not set, create `PingSampleApp/android/local.properties` with the path to your Android SDK:

```properties
sdk.dir=/path/to/your/Android/SDK
```

## Preparing the native iOS project

The `yarn sample:clean-install` command you ran earlier installs the Ruby gems and CocoaPods dependencies required by the iOS project.

If you need to reinstall the pods after changing native dependencies, run the following from the `PingSampleApp` directory:

```shell
bundle exec pod install --project-directory=ios
```
