Mifos Mobile Documentation Reference Guide

Mifos Mobile Documentation Reference Guide

Table of Contents

  1. Product Overview

  2. Core Features

  3. Technical Architecture

  4. User Personas

  5. Documentation Types

  6. API Endpoints Reference

  7. Security & Compliance

  8. Deployment Information

  9. Support & Maintenance

Product Overview

Mifos Mobile is an Android-based self-service banking application that enables microfinance clients to access their financial accounts, perform transactions, and manage their banking relationships through their mobile devices.

Key Information

  • Platform: Android (Kotlin/Java)

  • Architecture: MVVM + Clean Architecture

  • Backend: Mifos X Self-Service API

  • Target Users: Microfinance clients, small business owners, rural banking customers

  • Repository: https://github.com/openMF/mifos-mobile

Core Features

Account Management

  • View account balances (Savings & Loan accounts)

  • Account details and statements

  • Transaction history with filters

  • Account summary dashboard

Transfer Services

  • Internal account transfers

  • Third-party transfers to beneficiaries

  • Transfer templates and scheduling

  • Transfer history and receipts

Beneficiary Management

  • Add/edit/delete beneficiaries

  • Beneficiary templates

  • Transfer limits management

  • Savings and loan account beneficiaries

Loan Services

  • View loan details and schedules

  • Loan application submission

  • Repayment schedule viewing

  • Loan withdrawal requests

  • Guarantor management

Profile & Settings

  • Update personal information

  • Change password

  • Notification preferences

  • Language settings

Security Features

  • Biometric authentication

  • PIN-based login

  • Session management

  • Secure API communication

Technical Architecture

Frontend (Android App)

├── Presentation Layer (Activities/Fragments) ├── Domain Layer (Use Cases/Business Logic) ├── Data Layer (Repositories/Network/Database) └── Dependency Injection (Dagger/Hilt)

Key Technologies

  • Language: Kotlin

  • Architecture: MVVM + Clean Architecture

  • DI: Dagger Hilt

  • Network: Retrofit + OkHttp

  • Database: Room

  • UI: Material Design Components

  • Testing: JUnit, Espresso, Mockito

API Integration

  • Base URL: https://tt.mifos.community/fineract-provider/api/v1/

  • Authentication: Basic Auth

  • API Type: REST (Mifos X Self-Service)

  • Data Format: JSON

User Personas

Primary Users

  1. Rural Farmers - Basic banking needs, limited tech literacy

  2. Small Business Owners - Regular transactions, loan management

  3. Urban Customers - Full feature usage, tech-savvy

User Journey

  1. Registration → Account verification → Profile setup

  2. Authentication → Dashboard access → Feature exploration

  3. Banking Operations → Transactions → Account management

  4. Support → Help resources → Customer service

Documentation Types

User Documentation

  • User Manual: Complete feature walkthrough with screenshots

  • Quick Start Guide: First-time user onboarding (5-minute setup)

  • Feature Tutorials: Step-by-step guides for each major feature

  • FAQ: Common questions and troubleshooting

  • Video Guides: Screen recordings for complex operations

Technical Documentation

  • Architecture Guide: System design, components, data flow

  • API Documentation: Self-service endpoints, authentication, examples

  • Database Schema: Local storage structure, entities, relationships

  • Integration Guide: Mifos X backend integration details

  • Performance Guide: Optimization, caching, offline capabilities

Business Documentation

  • Product Requirements: Features, user stories, acceptance criteria

  • Business Rules: Banking logic, validation rules, constraints

  • Compliance Guide: Security standards, regulatory requirements

  • Market Analysis: Target users, competitive landscape

  • Success Metrics: KPIs, analytics, performance indicators

Developer Documentation

  • Setup Guide: Development environment, dependencies, build process

  • Code Standards: Kotlin conventions, architecture patterns

  • Contributing Guide: PR process, code review, testing requirements

  • Release Guide: Build, deployment, app store publishing

  • Testing Guide: Unit, integration, UI testing strategies

API Endpoints Reference

Authentication

  • POST /self/authentication - User login

  • POST /self/registration - New user registration

  • POST /self/registration/user - Verify registration

Account Management

  • GET /self/clients/{clientId}/accounts - Get all accounts

  • GET /self/clients/{clientId}/transactions - Transaction history

  • GET /self/clients/{clientId}/charges - Account charges

Transfers

  • GET /self/accounttransfers/template - Transfer templates

  • POST /self/accounttransfers - Execute transfer

  • POST /self/accounttransfers?type=tpt - Third-party transfer

Beneficiaries

  • GET /self/beneficiaries/tpt - List beneficiaries

  • POST /self/beneficiaries/tpt - Add beneficiary

  • PUT /self/beneficiaries/tpt/{id} - Update beneficiary

  • DELETE /self/beneficiaries/tpt/{id} - Delete beneficiary

Loans

  • GET /self/loans/{loanId} - Loan details

  • GET /self/loans/template - Loan application template

  • POST /self/loans - Submit loan application

  • GET /self/loans/{loanId}/guarantors - Loan guarantors

Savings

  • GET /self/savingsaccounts/{accountId} - Savings details

  • GET /self/savingsaccounts/template - Savings application template

  • POST /self/savingsaccounts - Create savings account

Security & Compliance

Authentication Methods

  • Basic Authentication: Username/password for API calls

  • Biometric Authentication: Fingerprint/face recognition

  • PIN Authentication: 4-6 digit security PIN

  • Session Management: Token-based session handling

Data Security

  • Encryption: TLS 1.2+ for data transmission

  • Local Storage: Encrypted database storage

  • API Security: HTTPS only, secure headers

  • Privacy: No sensitive data in logs

Compliance Requirements

  • Financial Regulations: Local banking compliance

  • Data Protection: GDPR, local privacy laws

  • Security Standards: OWASP mobile security guidelines

  • Audit Trail: Transaction logging and monitoring

Deployment Information

Build Configuration

  • Minimum SDK: Android API 21 (Android 5.0)

  • Target SDK: Latest stable Android API

  • Build Tool: Gradle with Kotlin DSL

  • Signing: Release builds with keystore

  • Proguard: Code obfuscation for release

Distribution

  • Primary: Google Play Store

  • Secondary: Direct APK distribution

  • Updates: In-app update notifications

  • Rollout: Staged rollout strategy

Environment Configuration

  • Development: Local/staging server endpoints

  • Production: Live Mifos X server endpoints

  • Feature Flags: Remote configuration capabilities

  • Monitoring: Crash reporting and analytics

Support & Maintenance

User Support

  • In-App Help: Contextual help and tutorials

  • Contact Methods: Email, phone, chat support

  • Community: GitHub issues, user forums

  • Documentation: Online help center, FAQs

Technical Maintenance

  • Bug Tracking: GitHub Issues integration

  • Performance Monitoring: Crash analytics, performance metrics

  • Regular Updates: Monthly releases, security patches

  • Backup Strategy: Data sync with backend servers

Development Workflow

  • Version Control: Git with GitFlow branching

  • CI/CD: Automated testing and deployment

  • Code Review: Mandatory peer review process

  • Quality Assurance: Automated and manual testing


Quick Reference for Document Generation

Use this reference to generate specific documentation by expanding any section with detailed examples, screenshots, code snippets, and step-by-step instructions relevant to your target audience (users, developers, or business stakeholders).