Hi all,

I would like to share a progress update on FINERACT-2169 (migrating REST
API endpoints to the typed command framework).

JIRA: https://issues.apache.org/jira/browse/FINERACT-2169

Batch 1 - Job Scheduling

All Job Scheduling endpoints have been migrated from the legacy JsonCommand
approach to the typed command framework.

PR 1 - Update Job Scheduling
https://github.com/apache/fineract/pull/5903

PR 2 - Execute Job Scheduling

https://github.com/apache/fineract/pull/5952 (in progress, changes needed)


Batch 2 – Group Module

PR 1 - Create Group
https://github.com/apache/fineract/pull/6007

Currently awaiting review.
All fork CI checks are passing (85/85).

PR 2 – Update Group and Delete Group
https://github.com/apache/fineract/pull/6015


PR 3 – Group State Operations
Covers Activate, Close, Assign Staff, and Unassign Staff operations.

https://github.com/apache/fineract/pull/6021


Common Migration Pattern

The same implementation pattern used in the merged StaffCreateCommand work
is being followed:

- Lombok annotations for reducing boilerplate code.
- Jakarta Validation for request validation.
- Resilience4j retry support with fallback methods.
- Constructor-based dependency injection (no `@Autowired`).
- Typed command flow using `Command<T>`, `CommandHandler`, and
`CommandDispatcher`.
- Unit tests using JUnit 5, Mockito, and AssertJ.

IN PROGRESS

- Starting work on the Client Address module (CRUD endpoints under
`/clients/{clientId}/addresses`).

BLOCKERS

1. PR Reviews

- The main dependency at the moment is review feedback on submitted PRs.

- Since new migrations follow patterns established in earlier PRs, review
comments on existing work help ensure consistency and reduce rework in
subsequent PRs. Early feedback is especially helpful before additional
modules are migrated.

2. CI Issues

- Occasionally there are Apache CI failures unrelated to the submitted
code, which require rebasing and rerunning builds. These have been minor so
far.

PLAN UNTIL MIDTERM

- Complete the Job Scheduling module, Group module, Client Address
module, Client
Family Member module.

- Reserve time for review feedback and required updates on submitted PRs.


PLAN AFTER MIDTERM

- Client Identifier module.
- Calendar module (expected to be split into multiple PRs).
- Continue review and follow-up work on previously submitted PRs.
- Prepare migration documentation and examples for future contributors.

Feedback on the implementation approach, PR structure, or migration plan is
welcome.

Best Regards,

Nidhi Bhawari
GSoC 2026 Contributor
Apache Fineract

Reply via email to