Recently I was trying to get up to speed on all the great work around alleviating technical debt, upgrading core dependencies, strengthening and hardening Fineract, and improving overall code quality that Michael and Awasum have been leading with the support of Petri, Ivan, Manthan, Percy, Nasser, Georgio, and others.
There really has been a flurry of activity across Github and JIRA from these rockstar volunteers but I also want to make sure that individuals from companies that are building and distributing solutions on Fineract become involved at the same level and are aware of this going activity and the need and opportunity to contribute as well.
As many of the major issues related to upgrading of core dependencies have been starting to get resolved, I was trying to understand what projects/tasks our four interns working on Fineract (3 from GSOC through Apache and 1 from Outreachy through Mifos) would be focused on. Both so I can document it for roadmap/planning purposes and also to see what additional capacity the interns have to take on items from the backlog, reviewing of incoming pull requests from partners, scalability, additional code quality etc.
We’ll have public gists for each of the interns summer objectives linking to the respective issue trackers available by start of the coding period (June 1).
From looking at the proposals of our interns and the completed and in-progress activity on JIRA/Github, I’ve deduced the following:
Manthan’s plate is very full at the moment as he works under the mentorship of Michael on:
- Completing Swagger API documentation - https://jira.apache.org/jira/browse/FINERACT-733
- Implementing and Enforcing Checkstyle (and all of the corresponding sub-tasks) - https://issues.apache.org/jira/browse/FINERACT-821
- Fixing some of the 59 High Priority (p1 and p2) Issues in the Backlog - https://issues.apache.org/jira/browse/FINERACT-790?jql=issuetype%20%3D%20Bug%20AND%20status%20%3D%20Open%20AND%20labels%20%3D%20p1 and https://issues.apache.org/jira/browse/FINERACT-754?jql=issuetype%20%3D%20Bug%20AND%20status%20%3D%20Open%20AND%20labels%20in%20(P2%2C%20p2)
- Use prepared statements instead of string concatenated SQL everywhere
Nasser’s primary focus is on the migration from OpenJPA to Eclipselink which I assume will take most of the summer.
At the moment I believe Awasum and Courage are mentoring Nasser and I think Saransh has been interested as well and I’m hoping @Ebenezer Graham and @Aleksandar Vidakovic can assist too.
Percy’s original focus included the upgrade to Java 11 but now that’s complete, his focus is primarily around improving code quality by running and enforcing different codebase scanning tools and increasing testing coverage, and reducing run time of tests. @email@example.com you share the links to the JIRA issues for the work you’re doing. I was aware of:
Enable and Enforce Googe’s Error Prone: https://issues.apache.org/jira/browse/FINERACT-822
Replace Joda time with Java.time - https://issues.apache.org/jira/browse/FINERACT-826
Awasum is serving as the primary mentor.
*Originally Natasha was going to work on some of the upgrades of core dependencies like Spring Boot but that work has been completed so I wanted to discuss and understand what her focus would be out of some of the areas Michael had did a great job of summarizing at *https://docs.google.com/document/d/1Vt-jd2-IKr63HckskY4Ji9VTDN2JCAN2L-X5TsMdUn0/edit?usp=sharing
We are also looking for additional individuals in the community to help mentor Natasha in addition to Michael - @Aleksandar Vidakovic @Sanyam Goel @Rahul Goel and others would you be available?
So for whatever time our interns have available and for any other contributors in the community who want to get involved, we have work related to:
- Automating the Release Process - https://issues.apache.org/jira/browse/FINERACT-876 so we can release 1.3.1 and 1.4.0 and any future releases in a more timely fashion
- Performance and Scalability Enhancements - https://jira.apache.org/jira/browse/FINERACT-867
- Kubernetes distribution packaging work - https://jira.apache.org/jira/browse/FINERACT-882?jql=labels%20%3D%20kubernetes%20and%20project%20%3D%20fineract%20
- Upgrading other 3rd party dependencies - https://issues.apache.org/jira/browse/FINERACT-963
- Addressing issues in the backlog - https://issues.apache.org/jira/browse/FINERACT-867?filter=12345785&jql=project%20%3D%20FINERACT%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened%2C%20Open)%20AND%20labels%20in%20(Volunteer%2C%20gsoc)
- Reviewing forthcoming PRs from partners - a number of partners have some contributions that should have PRs opened for soon which could use external review of
- Functional enhancements - minor feature enhancements in the backlog or work related to other GSOC projects like accounting module enhancements or collateral management, etc.