This is an Expo project created with create-expo-app.
-
Install dependencies
npm install
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the app directory. This project uses file-based routing.
When you're ready, run:
npm run reset-projectThis command will move the starter code to the app-example directory and create a blank app directory where you can start developing.
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.
This project is a small demo app built with React Native (Expo) as part of a take home assignment.
The goal is to show how the same Payment screen can be reused for both Domestic and International transfers.
- Single
PaymentScreenreused for both flows - Radio button to switch between Domestic and International
- Form validation handled with
react-hook-form+yup - Different validation rules depending on the transfer type
- Domestic: recipient name, account number, amount
- International: same as above + IBAN, SWIFT code
- When switching tab, the form resets and auto focuses back on Recipient Name
- "Send Payment" button is fixed at the bottom
- All data is mocked (no API calls)
- React Native (Expo)
- react-hook-form
- yup
git clone https://github.com/RNSonaliDev/PaymentScreen.git
cd PaymentGatway
npm install