fineract-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aditya Hendre <meta1...@gmail.com>
Subject Re: GSoC (UPI Integration) progress
Date Tue, 24 May 2016 08:42:19 GMT
Hi,

I have created a product requirements page for UPI[1] on MifosX wiki alongside other requirement
pages. Specific requirements, use cases should be added to the page. I have attached relevant
documentation. Suggestions could also be invited from users by announcing on user@fineract
mailing list.

[1] https://mifosforge.jira.com/wiki/display/MIFOSX/Unified+Payment+Interface

> I request you to take some small bugs and fix it and test it and send the
> code back to community code base.

I have been sifting through Fineract JIRA issues but it is difficult to find right bugs to
work on; they seem either too easy or too involved, and also there is no introductory label
used on Fineract JIRA. For a newcomer it is difficult to say what knowledge is required to
fix a particular bug or to estimate the work required to fix it. Can someone suggest some
bugs which I could fix?

I have shortlisted some bugs which sound easy. Please suggest which ones I should fix.

* FINERACT-16 Cannot close Savings Account when linked to a loan even when loan status is
closed
* FINERACT-46 Throw an exception if staff to be deactivated is attached to an entity with
status enum id not equal to 600
* FINERACT-42 display name for datatable
* FINERACT-36 User defined Templates do not work when Tomcat is behind a proxy
* FINERACT-80 Group loans not included in resultset returned by "LoanReadPlatformServiceImpl.retrieveAll"
method
* FINERACT-97 Add the "on_hold_funds_derived" property to the savings account summary data
* FINERACT-120 Hide inactive code values from "/datatable/<tableName>" output
* FINERACT-45 The "getRejectedByUser" method in the "LoanRescheduleRequest" entity class returns
the wrong value.
* FINERACT-44 Cannot delete an inactive charge
* FINERACT-51 Add the "is_reversed" property of the loan transaction entity to the "LoanTransactionData"
object
* FINERACT-52 Null value not handled in "ClientWritePlatformServiceJpaRepositoryImpl.CloseClient"
date comparison
* FINERACT-53 Make the "clientId" URL parameter optional for "loan details template" retrieval
* FINERACT-55 Standing instruction not disabled at loan/savings account closure
* FINERACT-71 "AuditReadPlatformServiceImpl.retrieveEntries" returns duplicate results for
users without the "ALL_FUNCTIONS" and "CHECKER_SUPER_USER" permissions.
* FINERACT-92 "Loan.validateActivityNotBefore ..." methods missing "LOAN_RECOVERY_PAYMENT"
switch case
* FINERACT-118 Standing instruction not disabled when you undo a loan disbursal

#44, #45 and few other 'minor improvements' seem trivial; why are they still languishing?
Should I make the suggested changes and send a pull request?

Newcomer-friendly bugs should be tagged as "introductory" in Fineract JIRA.

-- 
Regards,
Aditya Hendre

On Friday 20 May 2016 05:17 PM, Nayan Ambali wrote:
> Aditya,
>
> Nice summary of how you have understood the platform code and architecture.
>
>>> https://mifosforge.jira.com/wiki/display/MIFOSX/Product+requirements
> <https://mifosforge.jira.com/wiki/display/MIFOSX/Product+requirements>
>>> or on Confluence wiki?
>
> First check that, is there wiki or requirements document put into JIRA, if
> not then i suggest to start with wiki for documentation of requirements and
> use cases, JIRA is basically for more of tracking the the feature
> developments as measurable goals or tasks and less of documenting
> functional specification.
>
> Please let us know where you are planning to documenting UPI related
> requirements so that others can also contribute.
>
> I request you to take some small bugs and fix it and test it and send the
> code back to community code base.
>
> Credit Bureau Integration is not related UPI but one can say similar in
> nature as third party integration with platform and no more similarity :)
>
>
>
>
> Thanks and Regards,
> Nayan Ambali
> +91 9591996042
> skype: nayangambali
>
> On Fri, May 20, 2016 at 3:00 AM, Aditya H <meta1729@gmail.com> wrote:
>
>> Hi all,
>>
>> I have been doing a lot of mental gymnastics lately, trying to wrap my
>> brains around Fineract, stitching together a mental big picture by reading
>> the source, API doc, log output.
>>
>> I have learned the basics of Gradle, and Spring Framework. Now I can
>> interpret the *.gradle build files which define the high-level logistics.
>> Dependency Injection/IoC, and Spring Framework with all its numerous
>> components was overwhelming at first, but after reading from Spring
>> Framework Reference[1] I feel quite comfortable. You provide the bean
>> definitions to the container and it creates those objects and manages their
>> life cycles for you. It took some time to understand the subtle differences
>> between @Configuration, @Component, @Service, @Repository, @Controller
>> annotations.
>>
>> [1]
>> http://docs.spring.io/spring/docs/4.1.9.RELEASE/spring-framework-reference/htmlsingle/
>>
>> I have multiple approaches:
>>
>> I start with reading ServerApplication.java and try to reason about the
>> control flow, reading about the Spring annotations that are encountered
>> along the way. The startup log output helps in this. ServerApplication
>> @imports DataSourceConfiguration (which uses @Autowired JDBCDriverConfig
>> instance) which sets up the network connection to the MySQL database.
>> ServerApplication also @imports EmbeddedTomcatWithSSLConfiguration which
>> sets up the embedded Tomcat ServletContainer instance.
>> AbstractApplicationConfiguration pulls in all the XML bean definitions. And
>> so on..
>>
>> Another approach is to start with any ApiResource class, say
>> ClientsApiResource, and trace the execution which happens in response to
>> each of the supported requests.
>>
>> Listing all the beans:
>> Pretty much all the classes annotated with @Component, @Service,
>> @Repository, and methods annotated with @Bean and definitions in
>> (resources/META-INF/spring/) XML files are objects managed by the Spring
>> context. They are all the ApiResource's, RepositoryWrapper's,
>> CommandHandler's, ServiceImpl's. They get instantiated according to their
>> inter-dependencies.
>>
>> Spring Security is used for securing the API endpoints with (Oauth/Basic
>> auth) authentication.
>> Flyway updates the schemas of the databases by sequentially applying all
>> the SQL scripts in resources/sql/migrations. It was nice to find out such a
>> tool exists. This must eliminate lot of headache involved in reproducing
>> and debugging bugs connected with evolving database schemas. Each class
>> annotated with @Entity in the domain/ directories represents a table in the
>> relational database.
>>
>> We should have a product requirement page for Unified Payment Interface,
>> where developers/users who already know UPI can add specific requirements.
>> Should the page be created at
>> https://mifosforge.jira.com/wiki/display/MIFOSX/Product+requirements
>> or on Confluence wiki?
>>
>> I was wondering whether Mobile Money Integration or Credit Bureau
>> Integration is a similar/related task to UPI integration.
>>
>> Soon I'll begin working on the UPI Java SDK.
>>
>> Regards,
>> Aditya
>>

Mime
View raw message