Skip to content
Merged
Show file tree
Hide file tree
Changes from 92 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
7add89d
KMP dependencies setup (#2277)
itsPronay Jan 6, 2025
8a73109
Create module dependency graphs (#2281)
biplab1 Jan 9, 2025
6bf977a
added all the missing KMP dependencies in version catalog (#2282)
itsPronay Jan 10, 2025
48319d3
duplicate: moving files from database module to model module (#2283)
niyajali Jan 11, 2025
53e9e1e
kmp-impl: Room basic setup (#2284)
Darkeye14 Jan 15, 2025
bf60433
Feat: Migrating database module from dbflow to room db (#2286)
Darkeye14 Jan 17, 2025
981a703
[database-Loan] DBflow to Room migration (#2292)
itsPronay Jan 30, 2025
6c99dfe
Feat: Migrate :core:designsystem to KMP (#2290)
biplab1 Jan 30, 2025
e16807e
refactor: migrate [core.model] to KMP (#2285)
itsPronay Jan 31, 2025
3b2fec8
refactor: DBFlow Surveys migration to Room (#2310)
itsPronay Feb 13, 2025
b586e04
refactor: [database.staff] dbflow to room (#2311)
itsPronay Feb 13, 2025
561dc74
refactor: [database.group] dbflow to room (#2313)
itsPronay Feb 17, 2025
3701240
refactor: [database.center] dbFlow to room migration (#2307)
itsPronay Feb 17, 2025
96e2615
refactor: [database.office] dbflow to room (#2314)
itsPronay Feb 18, 2025
b624f38
refactor: [database/charge] dbflow to room (#2312)
itsPronay Feb 19, 2025
dd25112
refactor: [database.savings] dbflow to room (#2317)
itsPronay Feb 24, 2025
68a91f7
refactor: [database/client] dbflow to room (#2320)
itsPronay Mar 6, 2025
d206d40
fix: Fixed build failure (#2329)
itsPronay Mar 22, 2025
99927c7
fix: Replace hardcoded package name with context.packageName for File…
itsPronay Mar 23, 2025
46e6dc0
fixed CMP plugin naming convention (#2332)
itsPronay Mar 24, 2025
2cee283
feat: Migrate :core:ui to KMP (#2327)
revanthkumarJ Mar 27, 2025
0ee6936
feat - Migrate hilt to koin (#2337)
itsPronay Mar 28, 2025
81b4b76
fix : changed some Files to make app run (#2345)
revanthkumarJ Mar 28, 2025
5404d48
Gson-to-kotlinx.json (#2341)
Arinyadav1 Mar 28, 2025
e6bd32a
ShareUtils added (#2347)
revanthkumarJ Mar 28, 2025
98f7c76
feat: Core/common to KMP (#2351)
itsPronay Apr 1, 2025
9ffd2fb
feat (core:dataStore) Migrated to KMP (#2352)
revanthkumarJ Apr 4, 2025
5d985a1
feat: Migrate [core/database] to KMP (#2354)
itsPronay Apr 7, 2025
7972ffd
refactor (core:network ) Network converted to KMP (#2346)
revanthkumarJ Apr 18, 2025
42388fd
refactor(core:data): Migrate to KMP (#2364)
biplab1 May 7, 2025
bf85444
feat(core:domain): Migrate to KMP (#2350)
biplab1 May 12, 2025
c011ebb
chore(core:domain): add paging library dependency in build.gradle (#2…
biplab1 May 12, 2025
fa04286
deleted testing module (#2371)
itsPronay May 14, 2025
2c38dd3
Setting Up Application Modules (#2375)
revanthkumarJ May 25, 2025
985def4
Feature: auth to CMP (#2381)
Aditya3815 May 25, 2025
d105d3b
fixed App build issue + network calls (#2383)
itsPronay May 25, 2025
95c6719
feat: about migrate to cmp (#2377)
kapmaurya May 25, 2025
278afd0
feat: note migrate to cmp (#2379)
kapmaurya May 25, 2025
9ce89ee
feat: Home Drawer migrated to CMP (#2387)
revanthkumarJ May 27, 2025
a379484
feat : Activate migrated to CMP (#2388)
revanthkumarJ May 27, 2025
d5a7689
Integrate Fastlane and update CI workflows (#2384)
itsPronay May 29, 2025
b5e7629
Feature:auth fix auth module (#2393)
Aditya3815 Jun 2, 2025
63306c4
Feature:settings to cmp (#2390)
Aditya3815 Jun 2, 2025
08bab9e
fix : UnAuthorized error (#2397)
revanthkumarJ Jun 5, 2025
8c23fcb
refactor(feature:checker-inbox-task): migrate to CMP (#2389)
biplab1 Jun 5, 2025
12a9150
Migrate [feature/splash] to cmp (#2370)
itsPronay Jun 6, 2025
3342ca7
feat : Search Migrated to CMP (#2399)
revanthkumarJ Jun 6, 2025
85dfa01
feat : Center migrated to CMP (#2391)
revanthkumarJ Jun 8, 2025
66ab55d
refactor(feature:path-tracking): migrate to CMP (#2400)
biplab1 Jun 8, 2025
3901784
feat : Collection sheet migrated to cmp (#2396)
revanthkumarJ Jun 9, 2025
310d4cb
savings migration to CMP (#2398)
itsPronay Jun 9, 2025
4959b30
Feat - CMP migration of feature/groups (#2369)
itsPronay Jun 10, 2025
0bca922
fix: Settings Module Enhancements (Theme Change and Clean Up) (#2403)
revanthkumarJ Jun 11, 2025
29a8222
feat : Offline Migrate to CMP (#2394)
Aditya3815 Jun 12, 2025
dd75d85
feat : Migrate Datatable to cmp (#2382)
itsPronay Jun 13, 2025
b4ba997
feat : Document Migrated to CMP (#2402)
revanthkumarJ Jun 17, 2025
6793a4d
feat(feature:loan): migrated to cmp (#2404)
Nagarjuna0033 Jun 19, 2025
5ff0a71
fix(navigation) : back navigation registers search screen successfull…
sam-arth07 Jun 19, 2025
856b17b
Report migrate to cmp (#2392)
kapmaurya Jun 23, 2025
bbe2a92
refactor(feature:client): migrate to CMP (#2401)
biplab1 Jun 24, 2025
74c7011
fix image rendering in client and payment screen (#2410)
Nagarjuna0033 Jun 25, 2025
9cbc3af
fix: failed to create savings account (#2412)
itsPronay Jun 25, 2025
e7ab182
fix : Loan Module clean up (Api , Viewmodel ) (#2411)
revanthkumarJ Jun 25, 2025
ba7a8b0
fix : Group Module (api), added Navigations in Feature Nav Host (#2413)
revanthkumarJ Jun 26, 2025
08a9e68
fix : UpdateServerConfig (navigation,ui) (#2414)
revanthkumarJ Jun 27, 2025
0908cb0
fix(feature:client): resolve early empty state and dialog layout in i…
biplab1 Jun 27, 2025
690527b
fix(feature:client): fix signature reset issue and enforce white canv…
biplab1 Jun 27, 2025
271bb12
Fix auto-login delay and snackbar message not showing while there is …
itsPronay Jun 27, 2025
d873b6e
fix : Replace Result With DataState in core:dataStore (#2416)
revanthkumarJ Jun 27, 2025
ef411da
Fix: Failed to activate centers/groups/clients (#2419)
itsPronay Jun 27, 2025
ed18e00
fix : Create Client (#2420)
revanthkumarJ Jun 28, 2025
b40c409
fix : Client Image (Edit , Delete Dialog) (#2421)
revanthkumarJ Jun 29, 2025
fd64661
feat : Removed mifosng-android module (#2422)
revanthkumarJ Jun 29, 2025
a7e68e2
fix : SavingsAccount With Drawl and Saving Account Deposit screens no…
revanthkumarJ Jul 3, 2025
1970d6b
fix: cmp-desktop does not build (#2427)
itsPronay Jul 3, 2025
2e55f8b
feat: Refactor SignatureScreen to CommonMain using Compose-Signature …
revanthkumarJ Jul 3, 2025
c8ad728
fix(feature:client): fix silent creation failure and state/snackbar i…
biplab1 Jul 5, 2025
146c699
fix : Enhance Create Client to Align with development Branch (#2426)
revanthkumarJ Jul 6, 2025
b66a2de
fix: Create loan API fix (#2429)
revanthkumarJ Jul 7, 2025
22e535c
Final cleanup of kmp-impl branch (#2431)
itsPronay Jul 7, 2025
03e776c
Fix : Can't Load savings Account summary because of typeError (#2434)
itsPronay Jul 9, 2025
6559092
removed todo in clients/centers to prevent app crash (#2432)
itsPronay Jul 9, 2025
e85a9ad
fix(feature:client): fix stuck loading & empty state for charges UI (…
biplab1 Jul 9, 2025
1ddbe48
fix : Survey Screens Fixes (#2436)
revanthkumarJ Jul 12, 2025
fa2b2fa
feat(feature:client): implement Pinpoint Map dialog and fix address f…
biplab1 Jul 15, 2025
315682d
refactor(feature:client): merge ViewModels, add charge validation, fi…
biplab1 Jul 15, 2025
1acab62
fix: Update server config not working (#2435)
itsPronay Jul 28, 2025
d770329
Fix: FOREIGN KEY constraint failure when saving ChargesEntity to DB (…
itsPronay Jul 29, 2025
dfbe942
refactor(feature:client): merge dialog ViewModel into main ViewModel …
biplab1 Jul 29, 2025
c59a69a
fix(feature:path-tracking, core:network): fix bugs in path tracker fe…
sam-arth07 Aug 3, 2025
7186de5
Fixed Client DataTable More Info view (#2444)
itsPronay Aug 4, 2025
0381059
Ktorfit Cleanup: Remove Duplicates and Align DI Configuration (#2446)
itsPronay Aug 5, 2025
ccbc03d
Update branch name in workflows
itsPronay Aug 6, 2025
8c59e2b
fix checks
itsPronay Aug 6, 2025
2201039
fix workflow
itsPronay Aug 6, 2025
90860e8
fixed build failure
itsPronay Aug 7, 2025
d77ec9f
Removed AndroidApplicationComposeConventionPlugin and modified gitign…
itsPronay Aug 8, 2025
4b1beb0
fixed extra padding in clientsList and groupsList
itsPronay Aug 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions .github/workflows/cache-cleanup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Cleanup Cache

on:
pull_request:
types: [ closed ]
workflow_dispatch:

jobs:
cleanup:
uses: openMF/mifos-x-actionhub/.github/workflows/cache-cleanup.yaml@v1.0.0
with:
cleanup_pr: ${{ github.event_name == 'pull_request' && github.event.repository.private == true }}
cleanup_all: ${{ github.event_name == 'workflow_dispatch' }}
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
88 changes: 88 additions & 0 deletions .github/workflows/kmp-pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
## Overview
#
# This reusable GitHub Actions workflow provides a comprehensive Continuous Integration (CI) pipeline
# for multi-platform mobile and desktop applications, specifically designed for projects using Gradle and Java/Kotlin.
#
### Key Features
# - Automated code quality checks
# - Dependency management and verification
# - Cross-platform desktop application builds (Windows, Linux, MacOS)
# - Android APK build generation
# - Artifact generation and storage
#
### Workflow Jobs
# 1. **Setup**: Prepares the build environment
# - Checks out repository code
# - Sets up Java 17
# - Configures Gradle
# - Manages dependency caching
#
# 2. **Code Quality Checks**:
# - Build logic verification
# - Code formatting checks (Spotless)
# - Static code analysis (Detekt)
#
# 3. **Dependency Guard**:
# - Verifies dependencies against baseline
# - Prevents unauthorized dependency changes
# - Supports automatic baseline updates
#
# 4. **Android App Build**:
# - Builds debug APK for demo flavor
# - Uploads APK artifacts
#
# 5. **Desktop App Build**:
# - Builds applications for Windows, Linux, and MacOS
# - Generates platform-specific executables and packages
#
### Prerequisites
# - Java 17
# - Gradle
# - Configured build scripts for:
# - Android module
# - Desktop module
# - Installed Gradle plugins:
# - Spotless
# - Detekt
# - Dependency Guard
#
### Configuration Parameters
# The workflow requires two input parameters:
#
# | Parameter | Description | Type | Required |
# |------------------------|------------------------------------|--------|----------|
# | `android_package_name` | Name of the Android project module | String | Yes |
# | `desktop_package_name` | Name of the Desktop project module | String | Yes |
#

# https://github.com/openMF/mifos-x-actionhub/blob/main/.github/workflows/pr-check.yaml

# ##############################################################################
# DON'T EDIT THIS FILE UNLESS NECESSARY #
# ##############################################################################


name: PR Checks KMP

# Trigger conditions for the workflow
on:
push:
branches: [ kmp-impl ] # Runs on pushes to dev branch
pull_request:
branches: [ kmp-impl ] # Runs on pushes to dev branch

# Concurrency settings to prevent multiple simultaneous workflow runs
concurrency:
group: pr-${{ github.ref }}
cancel-in-progress: true # Cancels previous runs if a new one is triggered

permissions:
contents: write

jobs:
pr_checks:
name: PR Checks KMP
uses: openMF/mifos-x-actionhub/.github/workflows/pr-check-android.yaml@v1.0.0
secrets: inherit
with:
android_package_name: 'cmp-android' # <-- Change Your Android Package Name
66 changes: 66 additions & 0 deletions .github/workflows/monthly-version-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Automated Monthly Release Versioning Workflow
# ============================================

# Purpose:
# - Automatically create consistent monthly version tags
# - Implement a calendar-based versioning strategy
# - Facilitate easy tracking of monthly releases

# Versioning Strategy:
# - Tag format: YYYY.MM.0 (e.g., 2024.01.0 for January 2024)
# - First digit: Full year
# - Second digit: Month (01-12)
# - Third digit: Patch version (starts at 0, allows for potential updates)

# Key Features:
# - Runs automatically on the first day of each month at 3:30 AM UTC
# - Can be manually triggered via workflow_dispatch
# - Uses GitHub Actions to generate tags programmatically
# - Provides a predictable and systematic versioning approach

# Prerequisites:
# - Repository configured with GitHub Actions
# - Permissions to create tags
# - Access to actions/checkout and tag creation actions

# Workflow Triggers:
# - Scheduled monthly run
# - Manual workflow dispatch
# - Callable from other workflows

# Actions Used:
# 1. actions/checkout@v4 - Checks out repository code
# 2. josStorer/get-current-time - Retrieves current timestamp
# 3. rickstaa/action-create-tag - Creates Git tags

# Example Generated Tags:
# - 2024.01.0 (January 2024 initial release)
# - 2024.02.0 (February 2024 initial release)
# - 2024.02.1 (Potential patch for February 2024)

# https://github.com/openMF/mifos-x-actionhub/blob/main/.github/workflows/monthly-version-tag.yaml

# ##############################################################################
# DON'T EDIT THIS FILE UNLESS NECESSARY #
# ##############################################################################

name: Tag Monthly Release

on:
# Allow manual triggering of the workflow
workflow_dispatch:
# Schedule the workflow to run monthly
schedule:
# Runs at 03:30 UTC on the first day of every month
# Cron syntax: minute hour day-of-month month day-of-week
- cron: '30 3 1 * *'

concurrency:
group: "monthly-release"
cancel-in-progress: false

jobs:
monthly_release:
name: Tag Monthly Release
uses: openMF/mifos-x-actionhub/.github/workflows/monthly-version-tag.yaml@v1.0.0
secrets: inherit
140 changes: 140 additions & 0 deletions .github/workflows/multi-platform-build-and-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# GitHub Actions Workflow for Kotlin Multi-Platform Application Deployment
#
# OVERVIEW:
# This workflow supports building and publishing applications across multiple platforms:
# - Android (APK/AAB)
# - iOS (IPA)
# - Desktop (EXE, MSI, DMG, DEB)
# - Web (GitHub Pages)
#
# PREREQUISITES:
# Ensure your project is configured with:
# - Gradle build system
# - Kotlin Multiplatform Project with Android, iOS, Desktop, and Web modules
# - Fastlane for deployment automation
# - Separate modules/package names for each platform
#
# REQUIRED SECRETS:
# Configure the following secrets in GitHub repository settings:
# - ORIGINAL_KEYSTORE_FILE: Base64 encoded Android release keystore
# - ORIGINAL_KEYSTORE_FILE_PASSWORD: Keystore password
# - ORIGINAL_KEYSTORE_ALIAS: Keystore alias
# - ORIGINAL_KEYSTORE_ALIAS_PASSWORD: Keystore alias password

# - UPLOAD_KEYSTORE_FILE: Base64 encoded Android release keystore
# - UPLOAD_KEYSTORE_FILE_PASSWORD: Keystore password
# - UPLOAD_KEYSTORE_ALIAS: Keystore alias
# - UPLOAD_KEYSTORE_ALIAS_PASSWORD: Keystore alias password

# - GOOGLESERVICES: Google Services configuration JSON
# - PLAYSTORECREDS: Play Store service account credentials
# - FIREBASECREDS: Firebase distribution credentials

# - NOTARIZATION_APPLE_ID: Apple ID for macOS app notarization
# - NOTARIZATION_PASSWORD: Notarization password
# - NOTARIZATION_TEAM_ID: Apple developer team ID

# WORKFLOW INPUTS:
# - release_type: 'internal' (default) or 'beta'
# - target_branch: Branch to use for release (default: 'dev')
# - android_package_name: Name of Android module
# - ios_package_name: Name of iOS module
# - desktop_package_name: Name of desktop module
# - web_package_name: Name of web module
# - publish_android: Enable/disable Android Play Store publishing
# - build_ios: Enable/disable iOS build
# - publish_ios: Enable/disable iOS App Store publishing

# USAGE:
# 1. Ensure all required secrets are configured
# 2. Customize package names in workflow inputs
# 3. Toggle platform-specific publishing flags
# 4. Trigger workflow manually or via GitHub Actions UI

# https://github.com/openMF/mifos-x-actionhub/blob/main/.github/workflows/multi-platform-build-and-publish.yaml

# ##############################################################################
# DON'T EDIT THIS FILE UNLESS NECESSARY #
# ##############################################################################
name: Multi-Platform Build and Publish

on:
workflow_dispatch:
inputs:
release_type:
type: choice
options:
- internal
- beta
default: internal
description: Release Type

target_branch:
type: string
default: 'kmp-impl'
description: 'Target branch for release'

build_ios:
type: boolean
default: false
description: Build iOS App

publish_ios:
type: boolean
default: false
description: Publish iOS App On App Store

permissions:
contents: write
id-token: write
pages: write

concurrency:
group: "reusable"
cancel-in-progress: false

jobs:
multi_platform_build_and_publish:
name: Multi-Platform Build and Publish
uses: openMF/mifos-x-actionhub/.github/workflows/multi-platform-build-and-publish.yaml@v1.0.0
with:
release_type: ${{ inputs.release_type }}
target_branch: ${{ inputs.target_branch }}
android_package_name: 'cmp-android' # <-- Change this to your android package name
ios_package_name: 'cmp-ios' # <-- Change this to your ios package name
desktop_package_name: 'cmp-desktop' # <-- Change this to your desktop package name
web_package_name: 'cmp-web' # <-- Change this to your web package name
tester_groups: 'mifos-mobile-apps' # <-- Change this to your Firebase tester group
build_ios: ${{ inputs.build_ios }}
publish_ios: ${{ inputs.publish_ios }}
secrets:
original_keystore_file: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
original_keystore_file_password: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
original_keystore_alias: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
original_keystore_alias_password: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}

upload_keystore_file: ${{ secrets.UPLOAD_KEYSTORE_FILE }}
upload_keystore_file_password: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
upload_keystore_alias: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
upload_keystore_alias_password: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}

notarization_apple_id: ${{ secrets.NOTARIZATION_APPLE_ID }}
notarization_password: ${{ secrets.NOTARIZATION_PASSWORD }}
notarization_team_id: ${{ secrets.NOTARIZATION_TEAM_ID }}

windows_signing_key: ${{ secrets.WINDOWS_SIGNING_KEY }}
windows_signing_password: ${{ secrets.WINDOWS_SIGNING_PASSWORD }}
windows_signing_certificate: ${{ secrets.WINDOWS_SIGNING_CERTIFICATE }}

macos_signing_key: ${{ secrets.MACOS_SIGNING_KEY }}
macos_signing_password: ${{ secrets.MACOS_SIGNING_PASSWORD }}
macos_signing_certificate: ${{ secrets.MACOS_SIGNING_CERTIFICATE }}

linux_signing_key: ${{ secrets.LINUX_SIGNING_KEY }}
linux_signing_password: ${{ secrets.LINUX_SIGNING_PASSWORD }}
linux_signing_certificate: ${{ secrets.LINUX_SIGNING_CERTIFICATE }}

google_services: ${{ secrets.GOOGLESERVICES }}
firebase_creds: ${{ secrets.FIREBASECREDS }}
playstore_creds: ${{ secrets.PLAYSTORECREDS }}
token: ${{ secrets.GITHUB_TOKEN }}
83 changes: 0 additions & 83 deletions .github/workflows/pr-check-android.yml

This file was deleted.

Loading