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

Compare with Current View Page History

« Previous Version 7 Next »

A. Eliminate "Category X" Dependencies

To comply with the Apache Software Foundation's Software License Criteria, the Apache Fineract CN code base needs to eliminate dependencies which have licenses on the Category X list. Hibernate and MariaDB-related software used in Fineract CN have the LGPL License which may lead to the following unexpected outcome which we wouldn't want to deal with.

1.) We include LGPL software in our release.
2.) Our code, including the LGPL dependency is included in proprietary code of CompanyOmega
3.) Some judge somewhere decides that the "firewall" separating our code from the LGPL isn't strong enough to call prevent the viral aspects of LGPL from taking effect.
4.) CompanyOmega's proprietary code is now all open source and they go out of business.

Even though it's not a likely sequence, but because of the size of the negative outcome, we avoid it by not including LGPL (or any other Category X software) in our releases.

    1. [ FINCN-2 ] Migrate ORM From Hibernate To OpenJPA
    2. [ FINCN-26 ] Replace MariaDB Driver With Drizzle As JDBC Driver
    3. [ FINCN-27 ] Remove Dependency On Embedded MariaDB From Component Tests

B. Enable Local Development

To facilitate local development of Apache Fineract CN, it is important to optimize fineract-cn-demo-server to run on non-expensive non-Unix-like Operating systems with ease. These tasks help us achieve that by testing the initial-setup script to work in a Windows environment and run on non-expensive computers.

    1. [ FINCN-25 ] One Process Local Deployment
    2. [ FINCN-24 ] Test initialize-setup.bat Script
    3. [ FINCN-28 ] Adjust Permittables To Make Permission Versioning Possible

C. Optimize Continuous Integration Processes

Our current process of validating Pull Requests is quite cumbersome and our Continuous Integration/Continuous Delivery needs automation. To ensure that our CI/CD process more becomes more efficient and there's seamless merging of Pull Requests, it's important for us to onboard artifactory as well as enable automated testing and checks for adherence to our coding standards when new Pull Requests are submitted.

    1. Introduce An Artifactory Into Build Process

    2. Add checks for coding standards to unit tests

    3. Add Java signature checking of API to unit tests

    4. Run build and unit tests automatically when a PR is submitted

    5. Change Other Builds ( libraries and services ) to refer to artifactory

D. Deployment Of Apache Fineract CN

Our community needs a publicly accessible demo server of Apache Fineract CN. For this to happen, we need to containerize the domain microservices of Fineract CN and The Apache Software Foundation needs to provide an Ubuntu VM with sufficient memory upon which to host deploy it. The following tasks (some of which are in progress) help us achieve that;

    1. [ INFRA-16203 ] Ubuntu VM For Apache Fineract CN Project

    2. Docker Compose to replace demo server for local development

    3. [ FINCN-10 ] Containerization And Deployment Of Apache Fineract CN Using Docker

    4. Need multiple VMs, some for Data Stores and others for Orchestration

E. Enable Developers Build Apps On Apache Fineract CN

  1. [ FINCN-6 ] Rest API Documentation

F. Fix Test Suites In Domain Services

  1. [ FINCN-22 ] Add Test Suite To Fineract-cn-teller
  2. [ FINCN-23 ] Add Test Suite To Fineract-cn-reporting

G. Adjust Portfolio Service

  1. [ FINCN-11 ] Implement New UI Within FIMS Which Consumes New API In Portfolio

H. Alternate Web User Interface

  1. [ FINCN-8 ] Web UI For Microfinances Practicing Group Lending

I. Building Mobile 2.0

  1. [ FINCN-7 ] Fineract CN Mobile 2.0
  • No labels