Cross-platform mobile application for Buy Now Pay Later (BNPL) on Stellar Network
Features β’ Tech Stack β’ Quick Start β’ Documentation β’ Contributing
TrustUp Mobile App is the frontend application for the TrustUp BNPL ecosystem on Stellar blockchain. Built with React Native and Expo, it provides a seamless mobile experience for users to access loans, manage repayments, and interact with the Stellar network.
- π Wallet Integration - Connect with Stellar wallets securely
- π° Loan Management - Apply for and manage BNPL loans
- π Reputation Dashboard - View your on-chain credit score
- ποΈ Merchant Discovery - Browse participating merchants
- π³ Payment Processing - Easy loan repayments
- π Push Notifications - Stay updated on loan status
- π± Cross-Platform - iOS and Android support
- π¨ Modern UI - Beautiful, responsive design with NativeWind
RN0.81 Β· TS5.9 Β· EXPO54 Β· RR19 Β· NW4 Β· RRN7 Β· RNA4
| Category | Technology | Version |
|---|---|---|
| Language | TypeScript | 5.9 |
| Framework | React Native | 0.81.5 |
| Platform | Expo | 54.0 |
| UI Library | React | 19.1 |
| Styling | NativeWind (Tailwind) | latest |
| Navigation | React Navigation | 7.1 |
| Animations | Reanimated | 4.1 |
- π¨ NativeWind - Tailwind CSS for React Native
- π React Native Reanimated - Smooth animations
TrustUp-Frontend/
βββ .expo/ # Expo configuration cache
βββ assets/ # Static assets (images, fonts)
βββ components/ # Reusable UI components
β βββ shared/ # Shared components across app
β β βββ BottomBar.tsx # Bottom navigation bar
β β βββ Header.tsx # App header component
β β βββ MainLayout.tsx # Main app layout wrapper
βββ pages/ # Screen pages
β βββ InvestScreen/ # Investment screen
β β βββ components/ # InvestScreen-specific components
β β βββ InvestScreen.tsx # Main invest screen
β βββ PayScreen/ # Payment screen
β βββ components/ # PayScreen-specific components
β βββ PayScreen.tsx # Main payment screen
βββ types/ # TypeScript type definitions
βββ node_modules/ # Dependencies
βββ .gitignore # Git ignore rules
βββ App.tsx # App entry point
βββ app.json # Expo app configuration
βββ babel.config.js # Babel configuration
βββ cesconfig.json # CES configuration
βββ eslint.config.js # ESLint configuration
βββ .global.css # Global CSS styles
βββ metro.config.js # Metro bundler configuration
βββ nativewind-env.d.ts # NativeWind TypeScript definitions
βββ package-lock.json # Locked dependencies
βββ package.json # Project dependencies and scripts
βββ prettier.config.js # Prettier configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
- Node.js 18 LTS or higher
- npm or yarn
- iOS Simulator (Mac only) or Android Studio
- Expo Go app (for testing on physical devices)
# Clone the repository
git clone https://github.com/TrustUp-app/TrustUp-Frontend.git
cd TrustUp-Frontend
# Install dependencies
npm install
# Copy environment file
cp .env.example .env
# Configure your .env file (see Configuration section)# Start Expo development server
npm start
# Run on iOS Simulator
npm run ios
# Run on Android Emulator
npm run android
# Run in web browser
npm run web- Install Expo Go on your iOS or Android device
- Run
npm start - Scan the QR code with your camera (iOS) or Expo Go app (Android)
# Create native projects
npm run prebuild
# Build for iOS (requires Mac)
eas build --platform ios
# Build for Android
eas build --platform android# Run linter
npm run lint
# Fix linting issues and format code
npm run format
# Run unit tests (when configured)
npm test
# Run E2E tests (when configured)
npm run test:e2eThe app uses a custom design system built with NativeWind (Tailwind CSS):
- Colors - Brand colors and semantic tokens
- Typography - Font scales and weights
- Spacing - Consistent spacing system
- Components - Reusable UI components
- Icons - Expo Vector Icons integration
This app connects to the TrustUp API backend:
- REST API endpoints for all operations
- JWT-based authentication
- Real-time updates via webhooks
- Stellar transaction signing
- β iOS - iOS 13.4+
- β Android - Android 6.0+ (API 23+)
β οΈ Web - Basic support (optimized for mobile)
- Secure Storage - Encrypted storage for sensitive data
- Biometric Auth - Face ID / Touch ID / Fingerprint support
- Key Management - Never stores private keys
- API Security - JWT token management
- SSL Pinning - Certificate pinning for API calls
- Optimized Rendering - React Native best practices
- Lazy Loading - Code splitting and dynamic imports
- Image Optimization - Optimized asset loading
- Smooth Animations - Reanimated for 60fps
- Efficient State - Minimal re-renders
We welcome contributions! Please see our Contributing Guide for:
- Development setup
- Code style guidelines
- Component patterns
- Pull request process
Metro bundler issues:
# Clear cache
npx expo start -ciOS build issues:
# Clean iOS build
cd ios && pod install && cd ..Android build issues:
# Clean Android build
cd android && ./gradlew clean && cd ..- π Documentation
- π Issue Tracker
- π¬ Discussions
- π Backend API
- Stellar Development Foundation - For the blockchain platform
- Expo - For the amazing development platform
- React Native Community - For the mobile framework
- NativeWind - For Tailwind CSS integration
Built with β€οΈ for the Stellar ecosystem