Skip to content

Cross-platform mobile application for Buy Now Pay Later (BNPL) on Stellar Network

Notifications You must be signed in to change notification settings

TrustUp-app/TrustUp-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TrustUp-Banner

TypeScript React Native Expo TailwindCSS

Open Source TypeScript React Native

Cross-platform mobile application for Buy Now Pay Later (BNPL) on Stellar Network

Features β€’ Tech Stack β€’ Quick Start β€’ Documentation β€’ Contributing

πŸ“– About

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.

Key Features

  • πŸ” 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

πŸ›  Tech Stack

RN0.81 Β· TS5.9 Β· EXPO54 Β· RR19 Β· NW4 Β· RRN7 Β· RNA4

Core Technologies

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

Key Libraries

  • 🎨 NativeWind - Tailwind CSS for React Native
  • 🎭 React Native Reanimated - Smooth animations

πŸ“ Project Structure

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

πŸš€ Quick Start

Prerequisites

  • Node.js 18 LTS or higher
  • npm or yarn
  • iOS Simulator (Mac only) or Android Studio
  • Expo Go app (for testing on physical devices)

Installation

# 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)

Running the Application

# 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

Development with Expo Go

  1. Install Expo Go on your iOS or Android device
  2. Run npm start
  3. Scan the QR code with your camera (iOS) or Expo Go app (Android)

Building for Production

# Create native projects
npm run prebuild

# Build for iOS (requires Mac)
eas build --platform ios

# Build for Android
eas build --platform android

πŸ§ͺ Testing

# 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:e2e

🎨 Design System

The 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

πŸ”— Backend 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

πŸ“± Platform Support

  • βœ… iOS - iOS 13.4+
  • βœ… Android - Android 6.0+ (API 23+)
  • ⚠️ Web - Basic support (optimized for mobile)

πŸ” Security

  • 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

πŸš€ Performance

  • 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

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for:

  • Development setup
  • Code style guidelines
  • Component patterns
  • Pull request process

πŸ› Troubleshooting

Common Issues

Metro bundler issues:

# Clear cache
npx expo start -c

iOS build issues:

# Clean iOS build
cd ios && pod install && cd ..

Android build issues:

# Clean Android build
cd android && ./gradlew clean && cd ..

πŸ“ž Support

πŸ™ Acknowledgments


Built with ❀️ for the Stellar ecosystem

Stellar Open Source

About

Cross-platform mobile application for Buy Now Pay Later (BNPL) on Stellar Network

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors