Skip to content

Implement USSD Enhancement with Multi-Level Menus #329

Description

@llinsss

Problem

Current USSD implementation is basic. Need advanced multi-level menus, session management, and more features for feature phone users.

Proposed Solution

Build comprehensive USSD system with multi-level menus, balance checks, transaction history, and airtime purchase.

Technical Implementation

New Files:

  • backend/services/ussd/MenuBuilder.js - Dynamic menu builder
  • backend/services/ussd/SessionManager.js - Session state management
  • backend/services/ussd/AirtimeService.js - Airtime purchase
  • backend/services/ussd/BillPaymentService.js - Bill payment via USSD
  • backend/models/UssdSession.js - Session model
  • backend/migrations/20260327000013_create_ussd_sessions.js - Migration
  • backend/tests/ussd.enhanced.test.js - Enhanced tests

Modify:

  • backend/services/UssdService.js - Add advanced features
  • backend/controllers/ussdController.js - Add new menu handlers
  • backend/routes/ussd.js - Add new endpoints

USSD Menu Structure

*123# - Main Menu
├── 1. Check Balance
│   ├── 1. Base Chain
│   ├── 2. Starknet
│   ├── 3. Flow
│   ├── 4. Lisk
│   └── 5. U2U
├── 2. Send Money
│   ├── Enter recipient tag
│   ├── Enter amount
│   └── Confirm
├── 3. Transaction History
│   ├── Last 5 transactions
│   └── More...
├── 4. Buy Airtime
│   ├── Enter phone number
│   ├── Enter amount
│   └── Confirm
├── 5. Pay Bills
│   ├── Electricity
│   ├── Water
│   └── Internet
├── 6. My Account
│   ├── My Tag
│   ├── QR Code Link
│   └── Settings
└── 7. Help & Support

Acceptance Criteria

  • Multi-level menu navigation
  • Session state persistence
  • Balance checking for all chains
  • Send money via USSD
  • Transaction history display
  • Airtime purchase integration
  • Bill payment integration
  • Timeout handling (30 seconds)
  • Test coverage > 85%

Priority

High - Critical for feature phone users in Africa

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions