Skip to content

robdicoco/rn_chatpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ChatPay Go Xion ๐Ÿš€

A revolutionary mobile chat application that integrates blockchain payments with secure messaging, built on the Xion Network with Zero-Knowledge proof capabilities using Reclaim Protocol.

๐Ÿ“ฑ Project Summary

ChatPay Go Xion is a cutting-edge mobile application that combines instant messaging with blockchain-based payments. Users can connect their Xion wallets, participate in incentive programs (such as Web3 student programs or global developer initiatives), and perform secure, fast, and private transactions directly within chat conversations.

The application addresses the growing need for seamless financial communication in the Web3 ecosystem, providing a user-friendly interface for blockchain interactions while maintaining privacy through Zero-Knowledge proofs.

๐ŸŽฏ Problem Resolution Statement

Problem: Traditional financial apps lack seamless integration with blockchain technology, while existing blockchain wallets are complex and not user-friendly for everyday communication and payments.

Solution: ChatPay Go Xion bridges this gap by providing:

  • Intuitive Interface: Familiar chat-based UI for financial transactions
  • Blockchain Integration: Direct Xion Network integration with Abstraxion SDK
  • Privacy Protection: Zero-Knowledge proofs via Reclaim Protocol
  • Incentive Programs: Built-in support for Web3 educational and developer programs
  • Cross-Platform: Native mobile experience with React Native and Expo

๐Ÿ› ๏ธ Tech Stack

Core Technologies

  • Frontend: React Native 0.79.6 with Expo 53.0.22
  • Language: TypeScript with JavaScript
  • State Management: Zustand 5.0.5
  • Navigation: Expo Router 5.1.0
  • UI Framework: Custom design system with LinearGradient and Lucide Icons

Blockchain & Web3

  • Blockchain: Xion Network (CosmWasm)
  • Wallet Integration: Abstraxion SDK 1.0.0-alpha.8
  • Zero-Knowledge: Reclaim Protocol (zkTLS, RUM, zkFetch)
  • Cosmos SDK: CosmJS CosmWasm Stargate 0.33.1

Backend & Services

  • Database: Firebase Firestore
  • Authentication: Firebase Auth with React Native persistence
  • Storage: Firebase Storage
  • Real-time: Firebase real-time listeners (planned)

Development Tools

  • Testing: Jest with React Native Testing Library
  • Crypto: React Native Quick Crypto, Libsodium
  • Storage: AsyncStorage for local persistence
  • Build: Metro bundler with custom configuration

๐Ÿ“ฆ Installation & Setup

Prerequisites

  • Node.js >= 18.0.0
  • Yarn package manager
  • Expo CLI
  • Android Studio (for Android development)
  • Xcode (for iOS development, macOS only)

Installation Steps

  1. Clone the repository

    git clone https://github.com/robdicoco/rn_chatpay
    cd rn_chatpay
  2. Install dependencies using Yarn

    yarn install
  3. Configure environment variables Create a .env.local file in the root directory:

    EXPO_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
    EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
    EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
    EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
    EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
    EXPO_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
    EXPO_PUBLIC_RPC_ENDPOINT=https://rpc.xion-testnet-2.burnt.com
    EXPO_PUBLIC_REST_ENDPOINT=https://api.xion-testnet-2.burnt.com
  4. Start the development server

    npx expo start
  5. Run on specific platforms

    # Android
    npx expo start android
    
    # iOS
    npx expo start ios
    
    # Web
    npx expo start web

๐Ÿ“ฑ Application Screenshots

Authentication Flow

  • Welcome Screen: Xion wallet connection interface
  • Login/Signup: Firebase authentication with wallet integration
  • Profile Setup: User onboarding with wallet verification

Core Features

  • Home Dashboard: Balance carousel with multi-currency support
  • Chat Interface: Real-time messaging with transaction attachments
  • Send Money: Intuitive payment interface with recipient selection
  • Request Money: Payment request creation and management
  • Transaction History: Comprehensive transaction tracking with filtering
  • Donation System: Organization support with recurring donations

Advanced Features

  • Profile Management: User settings and wallet management
  • Theme Toggle: Light/dark mode support
  • Error Boundaries: Graceful error handling throughout the app

Note: Screenshots will be added once the APK is built and deployed

๐Ÿ”— APK Download

The demo APK will be available through Expo's build service:

๐Ÿ”— Download APK from Expo

This link will be updated once the APK build is complete

Installation Instructions

  1. Download the APK file from the Expo link above
  2. Enable "Install from unknown sources" in your Android device settings
  3. Install the APK file
  4. Launch ChatPay Go Xion and connect your Xion wallet

๐Ÿ”Œ APIs & Services Used

Blockchain Services

  • Xion Network:
    • RPC Endpoint: https://rpc.xion-testnet-2.burnt.com
    • REST API: https://api.xion-testnet-2.burnt.com
    • Chain ID: xion-testnet-2
    • Native Token: XION (uxion)

Firebase Services

  • Firebase Auth: User authentication and session management
  • Firestore: NoSQL database for user data, transactions, and messages
  • Firebase Storage: File and media storage
  • Firebase Analytics: User behavior tracking (planned)

External APIs

  • Abstraxion SDK: Wallet connection and transaction signing
  • CosmJS: Cosmos SDK integration for blockchain interactions
  • Reclaim Protocol: Zero-Knowledge proof generation and verification
  • AsyncStorage: Local data persistence

Development Services

  • Expo Application Services (EAS): Build and deployment platform
  • Metro Bundler: JavaScript bundling and development server
  • Jest: Testing framework
  • TypeScript: Type checking and development experience

๐Ÿ—บ๏ธ Roadmap

Phase 1: Core Infrastructure โœ… (Completed)

  • Basic app structure and navigation
  • Authentication system with Xion wallet integration
  • UI component library and design system
  • Firebase configuration and setup

Phase 2: Payment System ๐Ÿšง (In Progress)

  • Send/Request money functionality
  • Transaction history and filtering
  • Real blockchain transaction processing
  • Gas estimation and fee calculation
  • Multi-currency support

Phase 3: Communication Features ๐Ÿšง (In Progress)

  • Chat interface with message bubbles
  • Transaction attachment in messages
  • Real-time messaging with Firebase
  • Push notifications
  • Message encryption

Phase 4: Database Integration โณ (Planned)

  • Firebase CRUD operations
  • Real-time data synchronization
  • User profile management
  • Transaction status tracking
  • Message persistence

Phase 5: Advanced Features โณ (Planned)

  • Gift system implementation
  • Scheduled payments
  • Split bills functionality
  • Payment links generation
  • Biometric authentication

Phase 6: Zero-Knowledge Integration โณ (Planned)

  • Reclaim Protocol integration
  • zkTLS implementation
  • RUM (Reclaim User Map) setup
  • Custom provider creation
  • zkFetch implementation

Phase 7: Testing & Deployment โณ (Planned)

  • Comprehensive unit and integration tests
  • Performance optimization
  • App store preparation
  • Production deployment
  • Security audit

Phase 8: Future Enhancements ๐Ÿ”ฎ (Future)

  • Cross-chain support
  • NFT integration
  • DeFi protocol integration
  • Advanced analytics
  • Enterprise features

๐Ÿ—๏ธ Project Structure

xion-mobile-quickstart/
โ”œโ”€โ”€ app/                    # Main application screens
โ”‚   โ”œโ”€โ”€ (auth)/            # Authentication screens
โ”‚   โ”œโ”€โ”€ (tabs)/            # Main tab navigation
โ”‚   โ”œโ”€โ”€ (xion)/            # Xion-specific features
โ”‚   โ”œโ”€โ”€ chat/              # Chat functionality
โ”‚   โ””โ”€โ”€ utils/             # Utility functions
โ”œโ”€โ”€ components/             # Reusable UI components
โ”œโ”€โ”€ store/                 # Zustand state management
โ”œโ”€โ”€ constants/             # App constants and themes
โ”œโ”€โ”€ hooks/                 # Custom React hooks
โ”œโ”€โ”€ assets/               # Images and fonts
โ””โ”€โ”€ android/              # Android-specific configuration

๐Ÿงช Testing (TO DO)

Run the test suite:

yarn test

Run linting:

yarn lint

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ž Support

For support and questions:

  • Create an issue in the repository
  • Contact the development team
  • Check the PROJECT_TRACKING.md for current status

๐Ÿ™ Acknowledgments

  • Xion Network team for blockchain infrastructure
  • Burnt Labs for Abstraxion SDK
  • Reclaim Protocol team for Zero-Knowledge capabilities
  • Expo team for the development platform
  • Firebase team for backend services

Built with โค๏ธ for the Web3 community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors