- Name - Hemant Gupta
- Email - guptahemant65@gmail.com
- GitHub Profile - https://github.com/hmg65
- University - National Institute of Technology Karnataka
- Benura Abeywardena
- Manthan Surkar
Mifos X and Apache Fineract is widely used by financial institutions of all different sizes and methodologies around the world. The purpose of this project is to increase the maintainability of Fineract and reduce the boilerplate code by introducing various libraries to the codebase. The major part of this project will include introducing Lombok and Mapstruct libraries to the codebase. Lombok will basically eliminate the Getter/Setter and constructors from the code. MapStruct library will generate 2-way mappings between DTO and internal domain classes. There were roughly 60 modules for which Lombok and Mapstruct needed to be implemented during this project. All of the imporvements are related to Apache Fineract Project.
FinancialActivityAccount Module
Closure Module
GLAccount Module
ProducttoAccountMapping Module
Provisioning Module
Rule Module
AdHocQuery Module
Batch Module
BusinessDate Module
Cache Module
Configuration Module
CreditBureau Module
EntityAccess Module
Jobs Module
ReportMailingJobs Module
JournalEntry Module
Cob Module
Commands Module
AccountNumberFormat Module
BulkImport Module
EmailCampaigns Module
SmsCampaigns Module
Codes Module
DataQueries Module
DocumentManagement Module
GCM Module
Hooks Module
Security Module
SMS Module
Survey Module
There are approximately 20 modules for which PR is waiting to be submitted.
- Implemented Lombok to each module subpackage-wise.
- Data - annotate with @Data, @NoArgConstructor and @Accessors to eliminiate the boilerplate code such as Getters, Setters and constructors.
- Domain - annotate with @Getter, @Setter @NoArgConstructor and @Accessors to reduce the boilerplate code such as Getters, Setters and constructors.
- Service - annoate with @RequiredArgsConstructor to remove construcotrs in service class altogether.
- Solving build errors (mainly integeration test error) related to some PRs.
- PR submission for rest of the modules.
- Implement MapStruct for mapping DTO to Entity Objects