This project is a React Native application designed to demonstrate a wallet functionality. It uses Vercel Serverless Functions to handle API requests and is configured to run on iOS, Android, and web platforms.
- Node.js (version >= 20)
- Xcode - required for running the iOS simulator
- Android Studio - required for running the Android emulator and viewing logs via Logcat
- (Optional) Vercel CLI - used to host the apple-app-site-association and assetlinks.json but you may use any hosting service you want
git clone [email protected]:tkhq/react-native-demo-wallet.git
cd react-native-demo-wallet
npm install
To start the application, you can use the following scripts:
- iOS:
npm run dev
- Android:
npm run dev:android
- Web:
npm run dev:web
-
Install the Vercel CLI:
npm i -g vercel
-
Run the app locally:
vercel dev
-
Deploy the app:
vercel deploy
dev
: Starts the Expo server for iOS.dev:web
: Starts the Expo server for web.dev:android
: Starts the Expo server for Android.api
: Runs the Vercel development server.clean
: Removes the.expo
andnode_modules
directories.postinstall
: Compiles Tailwind CSS for nativewind.
This file contains the configuration for the Expo app, including:
- name: The name of the app.
- slug: A URL-friendly version of the app name.
- version: The app version.
- orientation: The screen orientation.
- icon: Path to the app icon.
- scheme: Custom URL scheme for deep linking.
- plugins: List of plugins used, such as
expo-router
andexpo-build-properties
.
This file configures the Expo Application Services (EAS) for building and submitting the app:
- cli: Specifies the CLI version and app version source.
- build: Contains build profiles for development, preview, and production.
- submit: Configuration for app submission.
This file is used for Android app linking:
- relation: Defines the permissions for handling URLs and login credentials.
- target: Specifies the Android app package name and SHA-256 certificate fingerprint.
This file is used for iOS app linking:
- webcredentials: Lists the apps that can access web credentials.