Skip to content

MarronMw/ussdSim

Repository files navigation

USSD Dialer

A lightweight, intuitive USSD (Unstructured Supplementary Service Data) dialer application built with React Native and Expo. Seamlessly connect to USSD services with a clean, modern interface.

A SaveTech Squad Product — Building financial solutions for Africa. From the makers of MkhondeWallet.

Features

  • 📱 Clean, Material-inspired UI for easy USSD navigation
  • ⚙️ Hidden settings menu with persistent configuration
  • 💾 Auto-saves phone number and server URL locally
  • ⌨️ Native keyboard support for service code entry
  • 🎯 Real-time response display with session management
  • 📲 Touch-friendly delete and dial controls

Quick Start

  1. Install dependencies

    npm install
  2. Start the app

    npx expo start
  3. Open on your device(Development)

    • Press i for iOS Simulator
    • Press a for Android Emulator
    • Scan QR code with Expo Go app on your phone

How to Use

  1. Settings (⋮ icon): Configure your USSD server URL and phone number
  2. Enter Code: Tap the display and type your USSD service code (e.g., *384#)
  3. Dial: Tap the Dial button to initiate the session
  4. Respond: When prompted (CON), enter your selection and Send
  5. End: Close the session when done (END)

Configuration

The app stores these values in AsyncStorage:

  • ussd_server_url: Backend USSD API endpoint
  • ussd_phone_number: Your phone number

Clear these via Settings > Done to reset.

Project Structure

app/
├── (tabs)/
│   └── index.tsx          # Main USSD dialer screen
├── _layout.tsx            # Navigation setup
└── modal.tsx              # Modal template
components/               # Reusable UI components
constants/               # Theme and constants

Tech Stack

  • Framework: React Native with Expo
  • Language: TypeScript
  • Storage: React Native AsyncStorage
  • HTTP: Axios
  • Styling: React Native StyleSheet

Development

The app uses file-based routing with Expo Router. Edit files in the app directory to modify the dialer interface.

# Reset to a blank project (optional)
npm run reset-project

Learn More


SaveTech Squad — Powering financial inclusion in Africa through innovative technology.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published