Skip to content

A mobile application developed using Jetpack Compose for secure and convenient money transfers, incorporating features similar to online banking and mobile money apps.

Notifications You must be signed in to change notification settings

IslamMagd/Money-transfer

Repository files navigation

Money Transfer Application

Overview

The Money Transfer application is a secure and user-friendly Android app developed using Kotlin and Jetpack Compose. Designed to facilitate convenient and seamless money transfers, this app incorporates essential features typical of online banking and mobile money solutions, offering users a familiar and reliable experience for managing their transactions.

Clean Architecture (UI-Data-Domain)

Features

  • User Accounts and Profiles: Users can create profiles, set up online accounts, and link them to bank accounts.

  • Internal and External Transfers: Users can transfer funds between their own accounts (internal) or to other users within the app (internal) or to external accounts.

  • Account Management:: Users can view account balances, transaction history, and manage personal information.

  • Change Currency: The app will display the user's current country's currency and allow conversions between supported currencies for international transfers.

  • Favorite Recipients Management: Save and manage favorite recipients for quick transfers.

Demo Video

Watch a detailed video overview of the Money Transfer app functionality on Google Drive.

Screenshots

  • onboarding screens
Amount Confirmation Payment
  • Sign in & sigin up screens
Splash sign up sign up sign up sign up Sign up sign up
  • Add Card screens
My Accounts Select Currency Add Card OTP OTP Email OTP OTP OTP Connected My Accounts
  • Transfer Money screens
Home screen Amount screen Add Card favorite confirmation payment screen home screen
  • Transaction screens
transactions screen transaction details
  • Error screens
internet error server error
  • More screens
more screen favorite list more screen
  • Profile screens
profile screen profile Info setting screen change password edit profile

Dependencies

Note: For now, the backend runs on localhost due to the expiration of the deployment server. Kindly ensure the backend is set up and running locally before proceeding with the setup steps below.

Prerequisites

  • Backend:
    • Java 21
    • Maven 3.6+
    • MySQL database
    • H2 database
    • Redis server
  • Android:
    • Android Studio
    • Android SDK

Steps

Backend Setup

  1. Clone the backend repository:

    git clone https://github.com/IslamMagd/Money-Transfer-Service-API  
    cd Money-Transaction-Service  
  2. Set up the MySQL database:

    CREATE DATABASE money_transaction_service;  
  3. Configure the application-mysql-prod.properties file:

    Update the src/main/resources/application-mysql-prod.properties file with your MySQL configurations.

    spring.datasource.url=jdbc:mysql://localhost:3306/money_transaction_service  
    spring.datasource.username=your_mysql_username  
    spring.datasource.password=your_mysql_password  
  4. Build and run the application:

    mvn clean install  
    mvn spring-boot:run  

Android App Setup

  1. Clone the Android project repository:

    git clone https://github.com/IslamMagd/Money-transfer  
  2. Open the project in Android Studio.

  3. Build and run the application:

    • Select an emulator or a connected physical device.
    • Build and run the app in Android Studio.

For a complete list of dependencies, please refer to the build.gradle files.

About

A mobile application developed using Jetpack Compose for secure and convenient money transfers, incorporating features similar to online banking and mobile money apps.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages