Technical Roadmap (Post Maya G and onwards)
Introduction
This page presents a view of what needs to be achieved technically on mifos.
View 1 (KeithW)
In the absense of any 'product specific' work I would continue to do the following on mifos:
Fix remaining 'major' bugs
Fix remaining 'major' bugs where possible or where makes sense (46 remaining)
Contine to move towards a Better Presentation Layer or what is essentially a whole New UI Module
Taking on this work provides following benefits:
fix up Internationalisation and Localisation problems
should result in cleaner implementation of UI/MVC and further use of spring technologies making it easier for developers to understand/contribute in this area
Is first/vital step in moving towards Implement a Clean Layered Architecture.
Public API
To flesh this out correctly ideally requires some business cases. There is already a crude set of 'service facades' across most of application functionalty that currently are used by the applications UI that can be further refined and exposed (via webs ervices/restful web services etc) as is needed.
For business cases think, Data migration tools, Offline mifos that can synch up, basically easier intergration with other systems/services: Mobile, Kiva?, Mix? etc
Continue to Implement a Clean Layered Architecture
Most of this can be achieved by a move towards a Better Presentation Layer but there is still the need to seperate Data access from Domain entities in code. This will help add structure to code, make easier to unit test and should be easier for others to come onto project, understand and contribute or extend.
Other technical problems
- no multitenant data architecture support / SaaS
- configuration/setup and installation of mifos
- migration of data onto mifos from other systems
- programmatic use of hibernate and transactionality Refine Transaction Management
- The way we audit entities
- The data model/schema is quiet large
- etc