You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Mission/ Vision:  

At Apache Fineract, our mission is to build, maintain and enhance a cloud-ready core banking system for robust, scalable, and secure operations of financial institutions.  

We believe in financial services for everyone, including and especially for the unbanked and underbanked. 

We primarily build the backend system, the headless application.   

Priorities 

  1. Make it easier and more maintainable for outside "users" (implementers) to extend the system rather than fork the code 
    1. We value both the ability to "build on top of" in an external system way and "build capabilities within" 
    2. For the "Build on Top Of", we need more attention to API documentation and recommended approaches 
    3. For the "build capabilities within" we introduced in Release 1.8 the Custom_Module concept which needs additional documentation and also improvements in the direction of Liquibase migrations (for out of bounds modules) 
  2. Enhance and improve Quality and Security
    1. We observe that security is also a function of well-executed approaches
    2. We will continue to improve on Pull Request reviews and work to ensure good contributions that meet the necessary standards
    3. For security, we will fix certain design areas (to be discussed on Security List)  
    4. We will consider and use a Fineract Improvement Proposal (FIP) concept for process 
  3. Build for stability, maintainability, and scalability. 
    1. we are especially noting that the Loan Module needs refactoring to improve maintainability 
    2. refactoring will also be aimed at improving stability (and make it easier to find the bugs) and as a side effect will improve performance 
    3. the lack of consistent refactoring is also a problem and we prioritize a wider implementation of the same coding patterns across all modules to ensure stability of the project as well as maintainability
  4. Make the project more approachable 
    1. This starts with the right sort of documentation 
    2. We assume that people come with either a "developer need" (need to understand how to deploy, how to do dev on top of, how to understand a specific pattern ) or a "business need" (what are the capabilities) 
    3. We have a number of documentation efforts including the ASCII doc (not well linked to) and the Swagger API documentation (too manual for now)  and we need a high level effort here 

HIGH LEVEL ROADMAP 

Q4 2022Q1 2023Q2 2023Q3 2023Q4 2023Q1 2024 and BEYOND 

SprintBatch

Event Framework

SpringBatch COB

Event Framework

Upgrade to SpringBoot 3.0  



Tenant improvements

Tenant improvements
Scalability Checks 





Self_Service out, refactor as service






Improvements to Batch processing





improvements (e.g. Data table access) 

Removing cruft , initial refactoring of loan class 

Refactoring Loan Module 

Payment Accounts (and related payment tranx) 

Revolving Line of Credit
Payment Accounts 
Improvements to Treasury Mngt

Treasury Management module 


Documentation on wiki redone to point to Ascii doc

Improvements to Swagger API auto generation

Business and user documentation 



High Level Proposed areas of development (all are possible, only some are going to be acted upon) 

The above roadmap shows the high level areas of development.  Q4 work is retrospective.  

  • Existing work ongoing on Scalability, Batch processing, Event generation - improvement coming and also will need more attention 
  • Making progress on the Loan Module , cleaning it up, paying down "code debt", making it more maintainable and enhance performance by streamlining the code 
  • Creating high quality standards for new commits so that we avoid new code debt especially in this area (i.e. stop digging the hole)
  • Fineract Improvement Proposal (FIP) 
  • Documentation of the project
    • Using automated tools (ASCII doc) that exist in the git next to the code (DONE)  
    • Deprecate much of the wiki pages - highlight the ASCII docs 
    • Create flow of wiki that suites the two audiences (business vs developer) 
    • Need wiki pages for Capabilities documentation (as a kind of updated "user doc")  
    • Need API documentation auto generated 
  • Need liquid base change script improvements for not-known liquibase change sets based on new custom modules ( in their own namespaces) , some kind of "orchestration" concept that outside groups have to... maybe better documentation 
  • DSLQuery or JOOQ for enhancing security 
  • CAMPT.052 for ISO compatible batch concept, refactoring "note field" i.e. a JSON representation of the transaction set 
  • SpringBoot major release 3.0 (JDK release process -like ) / they currrently only support 2.6 and 2.7 and we are on 2.7 / so we are close to end of life 
  • Reporting module 
  • Fixes for POSTGRES implementations (existing queries in code base and uncovered by tests) - coming as a fix 
  • Completing features across the board (events applied to outside of loan module) 
  • Payment Accounts (scalable, avoid optimistic locking, throughput, refactor of balance calc ) 
  • Command processing service - implementing retry mechanism in case of optimistic locking problems (multiple transactions on the same account/ improved implementation) 
    • Message Queues and response mechanisms 
  • Refactor and Remove all security framework and place instead with outside OpenPolicy notes / at idea stage **See notes 
  • Extension points for the Customer model, i.e. support external KYC providers and external third party systems 
  • Data export capabilities to external data lakes (might be mostly documentation) 
  • Security model enhancement by proposing a deployment architecture behind appropriate firewalls and API gateways (documentation) 
  • Isolate "Self Service APIs"  to prevent inadvertent use  
  • Generic revolving line of credit (as a plug in or in a new way that enhances extensibility of the architecture)  , maybe a new microservice?  
  • Better extension points for Full Treasury management system (APIs and new funds movement configuration)  
  • Better documentation and perhaps a micro service that performs upgrade from version A to version Z 
  • Payment Accounts (limited "current account" functionality, strip out interest and other features of savings component and create as a new concept).  aka "wallet accounts" 
  • Merchant account feature?:  Down payment on a "Purchase Event" , introducing the idea of a merchant account where full "good funds received" payment is made into account by source of funds being "purchaser" plus "financing source" 

Tickets 

Link to Epics and Key Jira Tickets that express the high level stuff 

COMING 


Anti-Roadmap 

  1. Anti-roadmap seeks to avoid feature-creep that muddy the application 
  2. Anti-roadmap in an open source project also provides the "missing" components that vendors can then develop as a deeper solution.  


Things we will not prioritize 

  • UI:  The UI is already hosted by Mifos as open source, we will not prioritize a UI on fineract / Fineract remains a headless application , i.e. API driven 
  • Reports:   other than Elastic Reports on Fineract that can be leveraged , or the Mifos reports also open source 
  • Payment gateway/connector: The PaymentHUB at Mifos already connects to Fineract and is an open source solution, this includes ATM connectors, UPI connector, checks, etc.  
  • Complex Customer onboarding workflows 
  • Full KYC/AML/CFT solution 
  • Full Treasury features 
  • Teller management features 
  • Branch cash management and treasury features 
  • Loan Origination complexity 
  • Document management 


Not considered and therefore no action→  items highlighted on JIRA as potentially useful for consideration in Roadmap 2022.   


type key summary assignee reporter priority status resolution created updated due

JQL and issue key arguments for this macro require at least one Jira application link to be configured





  • No labels