Hello Harsh, Thanks for taking the time to introduce yourself to the community and that your org is attempting to stay upstream. It'd be great for other YC startups to use our open source banking stack as well.
Is ClickPe looking to contribute back the changes that you made at an org level? We will try to confirm if all the issues are still present in the most recent release or if some have been addressed by more recent fixes. Regarding beginning to contribute and best practices, you're off to a stellar start by introducing yourself here on the mailing list. There are a number of different places where the contribution process and coding standards/best practices are documented: I think you might still need to subscribe to the mailing list yourself as your email went to the moderation queue. Simply send a blank email to dev-subscr...@fineract.apache.org - From the PR template there's a checklist to follow and references to https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions. and guidelines for code review https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide. - README contains a wealth of information including the pull request process: https://github.com/apache/fineract/blob/develop/README.md#pull-requests On the documentation front, we have also been trying to pull together a more succinct yet comprehensive new contributor guide which aims to address the topics that you yourself have raised in this email. So that could be a helpful contribution too. In terms of some initial tasks to get involved, on another thread, Adam Saghy had gave some great tips on where beginners could start out: - Pick up issues from the sonar report and fix them: https://sonarcloud.io/project/issues?impactSeverities=BLOCKER&issueStatuses=OPEN%2CCONFIRMED&id=apache_fineract - Ultimately this leads to better code and help maintainability - Pick up issues / bug tickets from the JIRA: https://issues.apache.org/jira/browse/FINERACT-2175?filter=-4&jql=project%20%3D%20FINERACT%20ORDER%20BY%20priority%20DESC%2C%20created%20DESC - Bug-fixes are crucial part of having a more reliable software - Some other interesting stories he flagged: - https://issues.apache.org/jira/browse/FINERACT-1670 - https://issues.apache.org/jira/browse/FINERACT-1760 - https://issues.apache.org/jira/browse/FINERACT-2165 - https://issues.apache.org/jira/browse/FINERACT-2090 - https://issues.apache.org/jira/browse/FINERACT-2080 - https://issues.apache.org/jira/browse/FINERACT-1932 I will reach out separately regarding Camunda 8 and Temporal integration as those are discussions that are ongoing too. Cheers, Ed Cable Fineract PMC Mifos President/CEO On Tue, Feb 25, 2025 at 7:43 AM Harsh Raj Srivastav < srivastavharshraj2...@gmail.com> wrote: > Hello Fineract Team, > > I’m Harsh Raj Srivastav, currently working as an SDE Intern at ClickPe > YC23. Recently, I integrated Apache Fineract into our ecosystem for core > banking, and it has been an incredible learning experience—from building > and making modifications to finally deploying it in production. We recently > migrated to version* 1.8.4.* > > While working with Fineract, I came across a few issues that I had to > modify at an organizational level: > > 1. > > *Hardcoded Document Upload Size* > - The document upload size is currently hardcoded, but it would be > more flexible if it were configurable via environment variables. > - I made changes to support this in our setup. The relevant file is: > ContentRepository.java > > <https://github.com/apache/fineract/blob/develop/fineract-document/src/main/java/org/apache/fineract/infrastructure/documentmanagement/contentrepository/ContentRepository.java> > 2. > > *Loan Tenure Modification Issue* > - I tried changing the loan tenure for an active loan after enabling > "Terms vary based on loan cycle." While I was able to update existing > loans, new loans started failing with a 500 error. > - The logs pointed to a null value in cycleNumber. Here’s a > document with my logs: > Error Logs > > <https://docs.google.com/document/d/1TP8-CyM4jLjMI3SwkKdZ-UwKiv9EUBzC0APVq0UDO9w/edit?usp=sharing> > - Although migrating to v1.8.4 resolved this for us, we faced > several challenges while connecting it to our database. > 3. > > *Sequence ID Handling for Loan & Client* > - In our use case, we needed to maintain a specific clientId and loanId > to keep our services in sync. > - We modified public.m_loan_id_seq and public.m_client_id_seq, > which mostly worked. However, occasionally, we encountered errors when > creating a new loan or client immediately after changing the sequence > number—though the loan/client still got created. > > I have gone through the codebase, but since this is such a large and > well-structured project, I’m not sure where to start contributing. > > I would love some guidance on: > > - How to begin contributing to Fineract in the right way. > - The best practices or methodology to follow. > - If possible, being tagged in any beginner-friendly bugs or tasks > (whether related to code, documentation, or deployment). > > Along with Fineract, I have also worked on integrating *Camunda 8 for > BPMN orchestration* and *Temporal for workflow management* in our system. > > I’m really excited to contribute and be a part of this amazing project. > Any help or pointers would be greatly appreciated! > > Looking forward to your guidance. > > Best regards, > Harsh Raj Srivastav > LinkedIn <https://linkedin.com/in/harsh-srivastav123> | GitHub > <https://github.com/Harsh-Srivastav123> > -- *Ed Cable* President/CEO, Mifos Initiative edca...@mifos.org | Skype: edcable | Mobile: +1.484.477.8649 *Collectively Creating a World of 3 Billion Maries | *http://mifos.org <http://facebook.com/mifos> <http://www.twitter.com/mifos>