Coder Social home page Coder Social logo

huss3n / mpesaappclone Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 10.0 62.45 MB

This is a clone of the popular Mpesa App by Safaricom. The app is built using Swift and SwiftUI which is an iOS framework.

Swift 100.00%
countries-api exchange-rates firebase firebase-auth firestore safaricom swift swiftui mpesa-api mpesa-payments

mpesaappclone's Introduction

Mpesa App Clone

Introduction

The Mpesa App is a clone for the comprehensive mobile application for handling various financial transactions offered by Safaricom PLC. The app simulates how users send and request money, withdraw funds, buy airtime, and manage Mshwari loans and savings. The app also provides a secure authentication system and supports both light and dark modes.

Features

  • Send Money: Transfer funds to other users quickly and securely.
  • Request Money: Send money requests to other users and update balances seamlessly.
  • Withdraw: Effortlessly withdraw funds from your Mpesa account.
  • Buy Airtime: Purchase airtime directly through the app.
  • Mshwari Loans and Savings: Access Mshwari loans and savings accounts with real-time balance updates.
  • Global Pay: Convert entered amounts using the latest exchange rates.
  • Authentication: Secure authentication with phone number OTP and fallback to Mpesa PIN if biometrics fail.
  • Adaptive UI: Supports both light and dark modes for a better user experience.
  • Spending Tracker: Track your spending and view detailed graphs of your expenses.

Screenshots

Main Views

Transaction views

Mshwari and Global Pay views

Usage

  1. Sign Up/Login: Use your phone number to sign up or log in.
  2. Navigate: Use the menu to access different functionalities like sending money, requesting money, withdrawing funds, and buying airtime.
  3. Manage Transactions: Track and manage your transactions through the app.

Installation

To run this project locally, follow these steps:

  1. Clone the repository
git clone https://github.com/Huss3n/MpesaAppClone
cd mpesa-app
  1. Install dependencies
pod install
  1. Set up Firebase
  • Create a Firebase project on the Firebase Console.
  • Add your app's bundle ID to the Firebase project
  • Download the GoogleService-Info.plist file from Firebase and place it in the project directory. Note that the app will crash without this file.
  • Turn on the phone number Authentication and Firestore database on your google console for the storage and authentication of users.
  1. Set up Exchange Rate API
  • Sign up at Exchange Rate API to get your API key.
  • Add your Exchange Rate API key to the project on the file named Currency fetcher there is a var named apiKey
    let apiKey = "" 
    
  1. Run the app

Technologies Used

  1. Swift, SwiftUI
  2. Backend: Firebase (Firestore, Authentication)
  3. APIs: Exchange Rate API for currency conversion
  4. Security: Apple Local Authentication framework for biometrics and Mpesa PIN fallback

Contributing

Contributions are welcome! Please follow these steps to contribute:

  • Fork the repository.
  • Create a new branch.
  • Make your changes.
  • Submit a pull request.

Disclaimer

This app is a clone and is very similar to the real Mpesa app by Safaricom PLC. It is intended for educational purposes only. The functionality and user experience are designed to mimic the real app, but it is not affiliated with or endorsed by Safaricom PLC.

Contact

For any questions or feedback, please contact me at [email protected].

mpesaappclone's People

Contributors

huss3n avatar

Stargazers

Michael Ndiritu avatar Paul Mburu avatar Luka avatar  avatar  avatar Simon Muia avatar  avatar Joseph Mwangi avatar Jonathan Sack avatar Cédric Bahirwe avatar Preston  avatar Rodgers Tanui avatar Aman Sharma avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.