mobile-wallet/README.md

316 lines
19 KiB
Markdown
Raw Normal View History

2020-04-12 11:49:27 +00:00
<img height='175' src="https://user-images.githubusercontent.com/44283521/78983673-455cf780-7b42-11ea-849e-ecd2009dd562.png" align="left" hspace="1" vspace="1">
2017-09-04 19:30:17 +00:00
2019-01-24 03:27:19 +00:00
# Mobile Wallet
2018-11-10 09:28:57 +00:00
2019-02-28 11:53:02 +00:00
Mobile Wallet is an Android-based framework for mobile wallets based on top of <a href='https://github.com/openMF/mobile-wallet/wiki/Fineract-backend'>Fineract</a>. The app follows
2019-01-24 03:27:19 +00:00
<a href='https://github.com/openMF/mobile-wallet/wiki/Architecture'>clean architecture</a> and contains a core library module
that can be used as a dependency in any other wallet based project. It is developed at <a href='https://mifos.org/'>MIFOS</a> together with a global community.
2017-09-04 19:30:17 +00:00
Merge kmm-impl into dev (#1813) * Feat: KMP Library Setup (#1766) * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> * Feat: [:core:model] - Migrated to KMM (#1770) * Feat: [:core:common] KMP Migration (#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (#1769) * Feat: [:core:network] - Migrated to KMP (#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (#1783) * Feat: Migrated Home Module to KMP (#1784) * Feat: Migrated Edit Password Module to KMP (#1787) * Feat: Migrated FAQ module to kmp (#1786) * Feat: Migrated Settings Module to KMP (#1785) * Feat: Migrated Profile Module to KMP (#1788) * Feat: Migrated History Module to KMP (#1790) * Feat: Migrated Payments Module to KMP (#1791) * Feat: Migrated Finance Module to KMP (#1792) * Feat: Migrated Accounts Module to KMP (#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (#1794) * Feat: Migrated KYC Module to KMP (#1798) * Migrated Notification Module to KMP (#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (#1800) * Feat: Migrated Receipt Module to KMP (#1801) * fix: Ios Build (#1802) * Feat: Migrated SI Module to KMP (#1803) * Feat: Migrated Request Money Module to KMP (#1807) * Feat: Migrated Send Money Module to KMP (#1808) * Feat: Migrated Make Transfer Module to KMP (#1809) * Feat: Migrated QR Module to KMP (#1810) * Feat: Migrated UPI Setup Module to KMP (#1811) * Feat: Final Clean-up For KMP (#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Profile UI redesign (#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * refactor: Redesign payment screen (#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Merge kmm-impl to dev --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com> Co-authored-by: kapmaurya <152150716+kapmaurya@users.noreply.github.com>
2024-11-06 15:22:46 +00:00
# Run the project
![Screenshot 2024-10-19 005524](https://github.com/user-attachments/assets/8023c529-1215-4c4b-b212-630f0233223f)
- To run the android-app select the `mifospay-android` run configuration and click run.
- To run the desktop-app select the `mifospay-desktop` run configuration and click run.
- To run the web-app-js select the `mifospay-web-js` run configuration and click run.
## KMP Status for modules
| Module | Progress | Desktop supported | Android supported | iOS supported | Web supported(JS) | Web supported(WASM-JS) |
|-------------------------------|----------|-------------------|-------------------|---------------|-------------------|-------------------------|
| mifospay-android | Done | ✅ | ✅ | ❔ | ✅ | ❔ |
| mifospay-desktop | Done | ✅ | ✅ | ❔ | ✅ | ❔ |
| mifospay-web | Done | ✅ | ✅ | ❔ | ✅ | ❔ |
| mifospay-ios | NO OP | ❌ | ❌ | ❌ | ❌ | ❌ |
| :core:analytics | Done | ❌ | ✔️ | ❔ | ❌ | ❔ |
| :core:common | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:data | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:datastore | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:datastore-proto | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:designsystem | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:domain | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:model | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:network | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :core:ui | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:auth | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:editpassword | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:faq | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:history | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:home | Done | ✅ | ✅ | ❔ | ✅ | ❌ |
| :feature:profile | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:settings | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:payments | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:finance | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:account | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:invoices | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:kyc | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:make-transfer | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:merchants | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:notification | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:qr | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:receipt | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:request-money | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:saved-cards | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:send-money | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:standing-instruction | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
| :feature:upi-setup | Done | ✅ | ✅ | ❔ | ✅ | ✅ |
✅: Functioning properly
❔: Not yet tested, but expected to work
✔️: Successfully compiled
❌: Not functioning, requires further attention
2024-02-05 04:25:26 +00:00
## Notice
2024-02-05 04:28:55 +00:00
:warning: We are fully committed to implement [Jetpack Compose](https://developer.android.com/jetpack/compose) and moving ourself to support
Merge kmm-impl into dev (#1813) * Feat: KMP Library Setup (#1766) * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> * Feat: [:core:model] - Migrated to KMM (#1770) * Feat: [:core:common] KMP Migration (#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (#1769) * Feat: [:core:network] - Migrated to KMP (#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (#1783) * Feat: Migrated Home Module to KMP (#1784) * Feat: Migrated Edit Password Module to KMP (#1787) * Feat: Migrated FAQ module to kmp (#1786) * Feat: Migrated Settings Module to KMP (#1785) * Feat: Migrated Profile Module to KMP (#1788) * Feat: Migrated History Module to KMP (#1790) * Feat: Migrated Payments Module to KMP (#1791) * Feat: Migrated Finance Module to KMP (#1792) * Feat: Migrated Accounts Module to KMP (#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (#1794) * Feat: Migrated KYC Module to KMP (#1798) * Migrated Notification Module to KMP (#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (#1800) * Feat: Migrated Receipt Module to KMP (#1801) * fix: Ios Build (#1802) * Feat: Migrated SI Module to KMP (#1803) * Feat: Migrated Request Money Module to KMP (#1807) * Feat: Migrated Send Money Module to KMP (#1808) * Feat: Migrated Make Transfer Module to KMP (#1809) * Feat: Migrated QR Module to KMP (#1810) * Feat: Migrated UPI Setup Module to KMP (#1811) * Feat: Final Clean-up For KMP (#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Profile UI redesign (#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * refactor: Redesign payment screen (#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Merge kmm-impl to dev --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com> Co-authored-by: kapmaurya <152150716+kapmaurya@users.noreply.github.com>
2024-11-06 15:22:46 +00:00
`kotlin multi-platform`. **If you are sending any PR regarding `XML changes` we will `not` consider at this moment but converting XML to jetpack compose are most welcome.** If you sending any PR regarding logical changes in Activity/Fragment you are most welcome.
2024-02-05 04:28:14 +00:00
2024-02-05 04:25:26 +00:00
Merge kmm-impl into dev (#1813) * Feat: KMP Library Setup (#1766) * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> * Feat: [:core:model] - Migrated to KMM (#1770) * Feat: [:core:common] KMP Migration (#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (#1769) * Feat: [:core:network] - Migrated to KMP (#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (#1783) * Feat: Migrated Home Module to KMP (#1784) * Feat: Migrated Edit Password Module to KMP (#1787) * Feat: Migrated FAQ module to kmp (#1786) * Feat: Migrated Settings Module to KMP (#1785) * Feat: Migrated Profile Module to KMP (#1788) * Feat: Migrated History Module to KMP (#1790) * Feat: Migrated Payments Module to KMP (#1791) * Feat: Migrated Finance Module to KMP (#1792) * Feat: Migrated Accounts Module to KMP (#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (#1794) * Feat: Migrated KYC Module to KMP (#1798) * Migrated Notification Module to KMP (#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (#1800) * Feat: Migrated Receipt Module to KMP (#1801) * fix: Ios Build (#1802) * Feat: Migrated SI Module to KMP (#1803) * Feat: Migrated Request Money Module to KMP (#1807) * Feat: Migrated Send Money Module to KMP (#1808) * Feat: Migrated Make Transfer Module to KMP (#1809) * Feat: Migrated QR Module to KMP (#1810) * Feat: Migrated UPI Setup Module to KMP (#1811) * Feat: Final Clean-up For KMP (#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Profile UI redesign (#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * refactor: Redesign payment screen (#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Merge kmm-impl to dev --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com> Co-authored-by: kapmaurya <152150716+kapmaurya@users.noreply.github.com>
2024-11-06 15:22:46 +00:00
| Development | Chat |
|--------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
| ![Mobile-Wallet CI[Master/Dev]](https://github.com/openMF/mobile-wallet/workflows/Mobile-Wallet%20CI%5BMaster/Dev%5D/badge.svg?branch=dev) | [![Join the chat at https://mifos.slack.com/](https://img.shields.io/badge/Join%20Our%20Community-Slack-blue)](https://mifos.slack.com/) |
## Join Us on Slack
2024-03-21 03:01:14 +00:00
Mifos boasts an active and vibrant contributor community, Please join us on [slack](https://join.slack.com/t/mifos/shared_invite/zt-2f4nr6tk3-ZJlHMi1lc0R19FFEHxdvng). Once you've joined the mifos slack community, please join the `#mobile-wallet` channel to engage with mobile-wallet development. If you encounter any difficulties joining our Slack channel, please don't hesitate to open an issue. This will allow us to assist you promptly or send you an invitation.
Merge kmm-impl into dev (#1813) * Feat: KMP Library Setup (#1766) * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Feat: KMP Library Setup --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> * Feat: [:core:model] - Migrated to KMM (#1770) * Feat: [:core:common] KMP Migration (#1768) * Feat: [:core:common] KMP Migration * Updated Usage Declaration * Feat: [:core:datastore] - Migrated to KMP (#1769) * Feat: [:core:network] - Migrated to KMP (#1772) * Feat: [:core:network] - Migrated to KMP * Feat: [:core:data] - Migrated to KMP Library * Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774) * Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782) * Feat: [:feature:auth] - Migrated to Kotlin Multiplatform * Added Support For Web * Feat: Migrated Passcode Module to KMP (#1783) * Feat: Migrated Home Module to KMP (#1784) * Feat: Migrated Edit Password Module to KMP (#1787) * Feat: Migrated FAQ module to kmp (#1786) * Feat: Migrated Settings Module to KMP (#1785) * Feat: Migrated Profile Module to KMP (#1788) * Feat: Migrated History Module to KMP (#1790) * Feat: Migrated Payments Module to KMP (#1791) * Feat: Migrated Finance Module to KMP (#1792) * Feat: Migrated Accounts Module to KMP (#1793) * Feat: Migrated Accounts Module to KMP * Updated README.md * Update README.md * Feat: Migrated Invoices Module to KMP (#1794) * Feat: Migrated KYC Module to KMP (#1798) * Migrated Notification Module to KMP (#1799) * Feat: Migrated KYC Module to KMP * Feat: Migrated Notification Module to KMP * Feat: Migrated Saved Card Module to KMP (#1800) * Feat: Migrated Receipt Module to KMP (#1801) * fix: Ios Build (#1802) * Feat: Migrated SI Module to KMP (#1803) * Feat: Migrated Request Money Module to KMP (#1807) * Feat: Migrated Send Money Module to KMP (#1808) * Feat: Migrated Make Transfer Module to KMP (#1809) * Feat: Migrated QR Module to KMP (#1810) * Feat: Migrated UPI Setup Module to KMP (#1811) * Feat: Final Clean-up For KMP (#1812) * Feat: Final Cleanup For KMP * Update README.md * Update EditPassword README.md * Update FAQ README.md * Update Finance README.md * Update History README.md * Update Home README.md * Update Invoice README.md * Update KYC README.md * Update Make Transfer README.md * Update Notification README.md * Update Payments README.md * Update Profile README.md * Update Saved Card README.md * Update Send Money README.md * Update Settings README.md * Update SI README.md * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Profile UI redesign (#1767) * Refactor Profile UI * Fixed Build Issue * Profile UI Bug Fix & Improvement * added placeholder for when uri is null cleanup fix spotless test failure * Fix - CI Build Issue --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * refactor: Redesign payment screen (#1773) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen (#1777) * refactor: Redesign payment screen * resolved detekt error * refactor : changed current theme instead of using NewUi * resolved spotless errors * refactor: Redesign finance screen UI * resolved spotless errors * resolved conflicts * changed structure of accounts screen * refactor padding values in finance screen * fix: dark theme colors (#1789) * fix: dark theme colors * fixed edit icon tint * Fix invoice api (#1797) * Redesign requeset screen UI * fix MissingKoinDefinitionException * removed comments and fixed share qr code bug * fix: Invoice APIs * update readme file (#1804) * update readme file * update readme file * update readme file with how to contribute * Add branch policy (#1805) * update readme file * update readme file * update readme file with how to contribute * update readme file with how to contribute * update readme file with branch Policy --------- Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> * Migrating from hilt to koin (This) (#1764) * Migrating from hilt to koin * Fixed Instance creation error * refactor: Removed Hilt and migrated to Koin This commit removes Hilt and migrates the project to Koin for dependency injection. The following changes were made: - Removed the `AndroidHiltConventionPlugin`. - Added the `AndroidKoinConventionPlugin`. - Updated dependencies to use Koin. - Updated KSP configuration for Koin. - Updated feature modules to use Koin. - Updated common modules to use Koin . - Removed Hilt annotations and replaced them with Koin annotations. - Updated ViewModels to use Koin for dependency injection. - Updated modules to use Koin for dependency injection. * Formatted Dependencies * migrating from hilt to koin clean up commit * Revert "migrating from hilt to koin clean up commit" This reverts commit bb63058e49299a23d4397ef8ed2ff6236418bd7e. --------- Co-authored-by: Sk Niyaj Ali <niyaj639@gmail.com> * Merge kmm-impl to dev --------- Co-authored-by: Nagarjuna <99315689+Nagarjuna0033@users.noreply.github.com> Co-authored-by: Rajan Maurya <therajanmaurya@users.noreply.github.com> Co-authored-by: Pronay Sarker <pronaycoding@gmail.com> Co-authored-by: kapmaurya <152150716+kapmaurya@users.noreply.github.com>
2024-11-06 15:22:46 +00:00
## How to Contribute
Thank you for your interest in contributing to the Mobile Wallet project by Mifos! We welcome all contributions and encourage you to follow these guidelines to ensure a smooth and efficient collaboration process.
The issues should be raised via the GitHub issue tracker. For Issue tracker guidelines please click <a href="https://github.com/openMF/mobile-wallet/blob/master/.github/CONTRIBUTING.md#issue-tracker">here</a>. All fixes should be proposed via pull requests. For pull request guidelines please click <a href="https://github.com/openMF/mobile-wallet/blob/master/.github/CONTRIBUTING.md#pull-requests">here</a>. For commit style guidelines please click <a href="https://github.com/openMF/mobile-wallet/wiki/Commit-style-guide">here</a>.
### Branch Policy
We have the following branches :
* **dev**
All the contributions should be pushed to this branch. If you're making a contribution,
you are supposed to make a pull request to _dev_.
Please make sure it passes a build check on Travis.
It is advisable to clone only the development branch using the following command:
```
git clone -b <branch> <remote_repo>
```
With Git 1.7.10 and later, add --single-branch to prevent fetching of all branches. Example, with development branch:
```
git clone -b dev --single-branch https://github.com/username/mobile-wallet.git`
```
* **master**
The master branch contains all the stable and bug-free working code. The development branch once complete will be merged with this branch.
### Demo credentials
Fineract Instance: demo.mifos.io
Username: `venus`
Password: `Venus2023#`
2019-02-28 11:53:02 +00:00
### Development Setup
2019-01-24 03:27:19 +00:00
Before you begin, you should have already downloaded the Android Studio SDK and set it up correctly. You can find a guide on how to do this here: [Setting up Android Studio](http://developer.android.com/sdk/installing/index.html?pkg=studio).
1. **Fork the Git Repository**
Forking the repository is the first step to start contributing. Click on the "Fork" button in the top right corner of the **[Mobile Wallet (Mifos Pay) repository](https://github.com/openMF/mobile-wallet)** to create your own fork.
![image](https://user-images.githubusercontent.com/44428198/254533248-3016c6eb-30b7-492b-91e8-dbbb61f76775.png)
2019-01-24 03:27:19 +00:00
Forking creates a copy of the project under your GitHub account. This enables you to work on changes without affecting the original repository directly.
2. **Clone the Forked Repository**
Once you have forked the repository, you need to clone it to your local development environment. Open a terminal or Git Bash and use the following command:
```bash
git clone https://github.com/yourUsername/mobile-wallet.git
```
Replace **`yourUsername`** with your actual GitHub username. Cloning creates a local copy of the repository on your machine, allowing you to make changes and contributions.
3. **Working Locally on Your Cloned Repository**
After cloning, navigate to the project directory using the terminal or Git Bash.
Before making any changes, create a new branch dedicated to the feature or bug fix you'll be working on:
```bash
git checkout -b "new-branch-name"
```
Ensure that **`new-branch-name`** reflects the purpose of your changes (e.g., **`add-payment-feature`** or **`fix-bug-123`**).
Make the necessary changes to the files to address the issue you're working on. Once you're done, you will be ready to proceed with verifying and committing your changes.
4. **Perform a Gradle Check**
All your pull requests must pass the CI build only then, it will be allowed to merge.
Sometimes, when the build doesn't pass you can use these commands in your local terminal and check for the errors,</br>
2019-01-24 03:27:19 +00:00
**We've commited to use Material3 design in our project. And added lint check for not to use any M2 libraries in our project.</br>**
**And when adding new library, please make sure to follow the naming convention and place in sequential order(A->Z).</br>**
2019-01-24 03:27:19 +00:00
In MacOS, Windows or Linux, you should run the following commands before opening a PR, and make sure to pass all the commands:
2019-01-24 03:27:19 +00:00
**In order to enhance our development process, we have implemented Git hooks in our project.
To install these hooks locally, simply run the command `./gradlew installGitHooks`.
This will ensure that the Git hooks are installed on your local machine.**</br>
* `./gradlew check -p build-logic` this checks build-logic configured properly.</br>
* `./gradlew spotlessApply --no-configuration-cache` an check and apply formatting to any file.</br>
* `./gradlew dependencyGuardBaseline` to generate dependency-guard baseline.</br>
* `./gradlew detekt` to check detekt error.</br>
* `./gradlew testDemoDebug :lint:test :mifospay:lintProdRelease :lint:lint` to check lint and test error.</br>
* `./gradlew build` to build the project.</br>
* `./gradlew updateProdReleaseBadging` to update the badging for the project.</br>
2019-01-24 03:27:19 +00:00
*Or Run the `ci-prebuild.sh` or `ci-prebuild.bat` script to run all the above commands in one go.*
### **Committing Your Changes**
When you've finished making your changes and have tested them locally, it's time to commit your work:
1. **Stage Changes**
Use the following command to stage all changes:
```bash
git add .
```
This adds all modified and new files to the staging area, preparing them for the commit.
2. **Commit Changes**
Commit your changes with a meaningful commit message that describes the purpose of your changes:
```bash
git commit -m "Your commit message goes here"
```
A good commit message is concise and provides enough context about the changes made. Mifos follows its own commit style guidelines that you must follow. Learn more about it [here](https://github.com/openMF/mifos-mobile-cn/blob/master/COMMIT_STYLE.md).
3. **Push Changes**
Push your changes to your forked repository on GitHub:
```bash
git push origin new-branch-name
```
Replace **`new-branch-name`** with the name of the branch you created earlier.
2019-01-24 03:27:19 +00:00
### **Making a Pull Request**
Once your changes are pushed to your forked repository, you can initiate a pull request to merge your changes into the main project:
1. Navigate to the [Mobile Wallet (Mifos Pay) repository](https://github.com/openMF/mobile-wallet) on GitHub.
2. Click on the "Pull Requests" tab and then click "New Pull Request."
![image](https://user-images.githubusercontent.com/44428198/254533309-2df4dca7-aec3-4197-8b86-8b80988e08d7.png)
1. Ensure the base repository is set to "openMF/mobile-wallet" and the base branch is the main development branch `dev`.
2. Set the compare repository to your forked repository and the compare branch to the branch you just created with your changes (e.g., in my case, the head repository was set to “rchtgpt/mobile-wallet” and the comparison branch was `kotlin-migration-common`.
3. Fill out the pull request template, providing a clear description of your changes, why they are necessary, and any relevant information for the reviewers.
4. Click "Create Pull Request" to submit your changes for review.
### **Squashing Your Commits**
It is common for pull requests to undergo multiple rounds of review before being merged. To keep the Git history clean and organized, you should always squash your commits before finalizing the merge. Here's how you can do it:
1. Squash your commits:
```bash
git rebase -i HEAD~x
```
Replace **`x`** with the number of commits you want to squash. An interactive rebase will open, allowing you to choose how to combine the commits. Change **`pick`** to **`squash`** (or simply **`s`**) for all but the topmost commit. Save and exit the editor.
2. Amend the commit message if needed.
```bash
git commit --amend
```
3. Force push the changes to your forked repository:
```bash
git push --force origin your-branch-name
```
Please note that force pushing rewrites the Git history, so use it with caution.
### **Solving Merge Conflicts**
In some cases, your pull request might encounter merge conflicts when the changes cannot be automatically merged with the main branch. To resolve merge conflicts:
1. Update your local branch with the latest changes from the main repository:
```bash
git fetch upstream
git checkout your-branch-name
git rebase upstream/master
```
2. Git will pause when encountering conflicts. Open the affected files, resolve the conflicts manually, and save the changes.
3. After resolving all conflicts, stage the changes and continue with the rebase:
```bash
git add .
git rebase --continue
```
4. Finally, force push the changes to your forked repository:
```
git push --force origin your-branch-name
```
Your pull request will be updated with the resolved conflicts, and the reviewers can proceed with the review process. Again, dont forget to squash your commits.
2017-09-04 19:30:17 +00:00
### Conclusion
By following these contribution guidelines, you're all set to start contributing to the Mobile Wallet (Mifos Pay) project. We appreciate your efforts and look forward to your valuable contributions. Happy coding!
## Instructions to get the latest APK
To get the latest apk fom the Github actions artifacts, follow these steps:
1. Navigate to the [Actions](https://github.com/openMF/mobile-wallet/actions?query=workflow%3A%22Mobile-Wallet+CI%5BMaster%2FDev%5D%22+event%3Apush) tab of this repository.
2. Click the latest workflow from the workflows list.
3. Scroll down to the **Artifacts** section and click the **mobile-wallet** hyperlink.
4. After successful download, extract the zip file to your preferred location.
2017-09-04 19:30:17 +00:00
## Wiki
https://github.com/openMF/mobile-wallet/wiki
## Screenshots
<p>
<img src="https://user-images.githubusercontent.com/37406965/51085243-86f2cd00-175c-11e9-9f5e-8a2324cfda4a.jpg" width="288" height="500" />
<img src="https://user-images.githubusercontent.com/37406965/51085245-8823fa00-175c-11e9-949a-c5292037b970.jpg" width="288" height="500" />
<img src="https://user-images.githubusercontent.com/37406965/51085246-89552700-175c-11e9-9a5b-5a85ecb5bfae.jpg" width="288" height="500" />
</p>
<p>
Click <a href= "https://github.com/openMF/mobile-wallet/blob/dev/Screenshot.md">here </a> for more screenshots
</p>
2024-01-23 21:02:59 +00:00
## Contributors
Special thanks to the incredible code contributors who continue to drive this project forward.
<a href="https://github.com/openMF/mobile-wallet/graphs/contributors">
<img src="https://contrib.rocks/image?repo=openMF/mobile-wallet" />
</a>