Skip to content

Mobile Applications

Keshless includes two mobile applications built with Flutter: a User App for consumers and a Vendor App for merchants/agents.

Applications Overview

AppPlatformPurpose
User AppiOS, AndroidConsumer wallet and payments
Vendor AppiOS, AndroidMerchant POS and agent services

Technology Stack

ComponentTechnology
FrameworkFlutter 3.x
State ManagementGetX
HTTP ClientDio
Local StorageSharedPreferences, FlutterSecureStorage
NFCflutter_nfc_kit
QR Codesqr_code_scanner, qr_flutter
Biometricslocal_auth
Push NotificationsFirebase Cloud Messaging

Architecture

┌─────────────────────────────────────────────────────────┐
│                    Mobile Apps                          │
├─────────────────────┬───────────────────────────────────┤
│     User App        │        Vendor App                 │
├─────────────────────┴───────────────────────────────────┤
│                   Shared Services                        │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐│
│  │    Auth     │ │    API      │ │   Secure Storage    ││
│  │   Service   │ │   Client    │ │      Service        ││
│  └─────────────┘ └─────────────┘ └─────────────────────┘│
├─────────────────────────────────────────────────────────┤
│                    Keshless API                         │
└─────────────────────────────────────────────────────────┘

User App Features

FeatureDescription
WalletBalance, send/receive, QR codes
PaymentsAirtime, bills, vendor payments
NFC CardsLink and manage NFC payment cards
TicketsBrowse and purchase event tickets
KYCIdentity verification flow
JobsAgent verification tasks

Vendor App Features

FeatureDescription
DashboardRevenue metrics and activity
POSAccept NFC card payments
Top-upAdd funds to customer wallets
WithdrawalProcess cash-out requests
TeamManage sub-users and tills
CardsLink, block, reset customer cards
TicketsSell and scan event tickets

Common Features

Both apps share these foundational features:

FeatureDescription
Secure AuthenticationJWT-based auth with biometric login
Transaction HistoryReal-time viewing with filtering
NFC SupportCard reading and payment
Push NotificationsReal-time transaction alerts
Offline CapabilityBasic functionality when offline

Environment Configuration

API Endpoints

EnvironmentURL
Productionhttps://api.keshless.app
Developmenthttps://dev-api.keshless.app

Build Commands

CommandDescription
flutter runRun in debug mode
flutter build apkBuild Android APK
flutter build iosBuild iOS app
flutter build apk --releaseRelease APK

Code Structure

lib/
├── main.dart              # Entry point
├── routes/                # Navigation routes
├── screens/               # UI screens
├── controllers/           # GetX controllers
├── services/              # API services
├── models/                # Data models
├── widgets/               # Reusable widgets
└── utils/                 # Helper utilities

Code Locations

AppRepository Path
User Appfrontend/keshless-app/
Vendor Appfrontend/keshless-vendor-app/

Internal use only - Keshless Payment Platform