A React Native application that implements a complete credit card payment checkout flow with product selection, payment processing, and transaction status handling.
- Product catalog browsing and selection
- Credit card payment processing
- Support for multiple credit card types (Visa, MasterCard)
- Secure payment data handling
- Responsive design for various screen sizes
- State persistence and error handling
- Unit testing coverage > 80%
- Splash Screen: Custom branded loading screen
- Home of Products: Product catalog with details and pricing
- Select Product: Shopping cart functionality for multiple items
- Checkout: Credit card payment initiation via backdrop
- Credit Card Info: Validated card input with automatic card type detection
- Payment Summary: Transaction overview with simulated API processing
- Final Status: Transaction result display with return to home
- React Native (latest stable version)
- Redux for state management
- Encrypted local storage for payment data
- Minimum screen size support: iPhone SE (2020) - 1334x750px
- Jest for unit testing
- Compiled mobile packages (.apk required, .ipa optional)
Complete the React Native - Environment Setup before proceeding.
# Install dependencies
npm install
# OR
yarn install# using npm
npm start
# OR using Yarn
yarn startIn a new terminal:
# using npm
npm run android
# OR using Yarn
yarn android# using npm
npm run ios
# OR using Yarn
yarn iosRun the test suite:
npm test
# OR
yarn testCoverage summary
---------------
Statements : XX%
Branches : XX%
Functions : XX%
Lines : XX%
- Payment data is encrypted before storage
- No sensitive data is persisted in plain text
- Redux state follows security best practices
Android APK and iOS IPA (optional) builds are available in the repository under the builds directory.
If you encounter issues:
- Ensure all dependencies are correctly installed
- Verify your development environment setup
- Check the React Native Troubleshooting Guide
This project is licensed under the MIT License - see the LICENSE file for details.