OSDir


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discussion] Fineract CN SMS & Email Notifications Project


Hello Everyone,

I have been studying my logs carefully and noticed this error occurring
long before the failure message

https://pastebin.com/9237iFaR

Please let me know how I can resolve this.

*Best Regards,*

*Ebenezer Graham*

*BSc (Hons) Computing*


[image: EmailSignature.png]

Beau Plan Business Park | West Building

Pamplemousses |  Mauritius


<http://www.pactmart.com/>
​​ <http://www.pactmart.com/>
www.pactmart.com | Freelancing made easy.
GitHub <https://github.com/ebenezergraham> | LinkedIn
<https://www.linkedin.com/in/ebenezer-graham/> | Twitter
<https://twitter.com/pactmart> | Facebook
<https://www.facebook.com/pactmart> | Website
<http://ebenezergraham.github.io/>
​
*skype*:
​ebenezer.graham
​ | *Phone*:
+230 5840 9206


*“Practice isn’t the thing you do once you’re good. It’s the thing you do
that makes you good.”*
-*Malcolm Gladwell*



On 31 May 2018 at 13:19, Ebenezer Graham <egraham15@xxxxxxxxxxxxxx> wrote:

> Hello Yannick,
>
> Thanks for your email. I will limit my scope for now and gradually make
> progress with the entire scope.
>
> Thanks for the archive email. It was very insightful, I will focus on the
> customer and portfolio service for now and then we can include others
> later.
>
> The target audience includes all MFI member (Customers and Staff).
> However, the customers are my priority for now. I will focus on your
> suggested events and code their logic for testing.
>
> I will share a set of use cases for the entire system and all MFI members
> so that we can eliminate and add some use cases for both customers and
> staff.
>
> I have written minimum code for SMS and so I will further develop the
> classes in this scope and ensure that I am processing live notification for
> the SMS. Please note that I am working on the *increment- one branch* of
> the repository so checks that out when looking at the repository.
>
> I have set up another VM (C2L) on Scaleway following my mentor's and
> Yannick's advise.
>
> In summary, it has 30GB RAM, 8 cores and running on Ubuntu 16.04 LTS.
>
> I have also installed, JDK 8, git, MySQL 5.7, Gradle 4.5, Maven 3.3.9,
> Cassandra 3.11, the latest Nginx, Nodejs, and NPM
>
> NB: I am using the root account.
>
> After the installation, I used option A and got a Cassandra error. I used
> option B and managed to get the build to run for over 30 mins. but I got
> this error https://pastebin.com/0rVWCpgD
>
> I restarted the server and tried again with option B and got an error with
> the Cassandra. After troubleshooting with nodetool status I got this error:
>
> nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException:
> 'Connection refused (Connection refused)'.
>
> I followed this guide
> <https://www.liquidweb.com/kb/error-failed-to-connect-to-127-0-0-17199-connection-refused-cassandra-solved/> to
> modify my Cassandra-env.sh and this allowed me to connect to the
> Cassandra after that. Please let me know if I should revert to the original.
>
> Currently, I have run the build several times and this is the error log I
> am getting -  https://pastebin.com/YQnLVMFQ
> <https://www.google.com/url?q=https://pastebin.com/YQnLVMFQ&sa=D&source=hangouts&ust=1527816499142000&usg=AFQjCNF503CCHSobASiks1_RBMazyPT61Q>.
> I think it has something to do with the identity service.
>
> Looking forward to your suggestions.
>
> *Best Regards,*
>
> *Ebenezer Graham*
>
> *BSc (Hons) Computing*
>
>
> [image: EmailSignature.png]
>
> Beau Plan Business Park | West Building
>
> Pamplemousses |  Mauritius
>
>
> <http://www.pactmart.com/>
> ​​ <http://www.pactmart.com/>
> www.pactmart.com | Freelancing made easy.
> GitHub <https://github.com/ebenezergraham> | LinkedIn
> <https://www.linkedin.com/in/ebenezer-graham/> | Twitter
> <https://twitter.com/pactmart> | Facebook
> <https://www.facebook.com/pactmart> | Website
> <http://ebenezergraham.github.io/>
> ​
> *skype*:
> ​ebenezer.graham
> ​ | *Phone*:
> +230 5840 9206
>
>
> *“Practice isn’t the thing you do once you’re good. It’s the thing you do
> that makes you good.”*
> -*Malcolm Gladwell*
>
>
>
> On 30 May 2018 at 14:16, Awasum Yannick <awasum@xxxxxxxxxx> wrote:
>
>> Hello Graham,
>>
>> What is the target audience for your project? Are the SMSs being sent out
>> to Customers or to Employees? I think we should serve the customer first
>> as
>> updating them on the state of their account is of highest priority to me.
>> If to Customers, I see no need to do accounting listener except there is a
>> use case I have not seen.
>>
>> I suggest you reduce the scope of project for this month(June) and do the
>> following:
>>
>> 1.) Support SMS notifications only to show proof of concept. Once this is
>> done, we will move to email notification. SMS is more ubiquitous in the
>> developing world given we are doing financial inclusion and most of the
>> customers are in our continent. Look around you, everyone has a GSM
>> enabled
>> phone. Larger addressable market for your project to make a major impact.
>> I
>> guess this is one of the reasons you got into open source as this was also
>> my motivation...Max Impact.
>>
>> 2.) Support CreateCustomer, ActivateCustomer in the customer service.
>> Support Loan Account Creation within the portfolio service along with Loan
>> Disbursement and Loan Repayment. Also support Deposit(Checking, Savings
>> and
>> Share) account creation and their corresponding Cash in (Deposit), Cash
>> out
>> (Withdrawal) events and send out notifications using the customer's mobile
>> number. No scheduling or retry for now. Assume the system is always up and
>> test these happy cases. We will deal with failures in the next iteration.
>>
>> 3.) Forget about GCM for now, it makes no sense considering this when you
>> have not even sent out one normal email or SMS to the a single customer.
>> *Don't
>> abstract what you don't fully understand. Premature Optimization is a
>> disease. *We can handle this later when basic use cases have been
>> completed. Dont think too much about performance at the moment except you
>> have the experience, It will come with time. Else you will spend alot of
>> time just wrapping your head around something beyond your scope. Start
>> small and grow gradually into it.
>>
>> 4.) Forget about additional queuing after receiving an event from
>> ActiveMQ.
>> Assume there is a fictional Ops team responsible for reliability for now.
>> In addition, when this system is in production, multiple instances of
>> Services will be running and this reduces the chances of an event not been
>> processes or picked up by your notification service. For the cases where
>> we
>> begin to see failures in prod, we will tackle this problem separately.
>>
>> 5.) Sample Implementation approach as proposed by Markus few months ago:
>> https://lists.apache.org/thread.html/95cfb78c48d56dc5756089f
>> 837406f4d9e96fd5899ad6cc52eb60623@%3Cdev.fineract.apache.org%3E
>> This is also the approach Isaac used for the Webinar on SMS Alert
>> available
>> on youtube. Follow them.
>>
>> 6.) For storing SMS Provider Auth Keys, Please use configuration files for
>> now but if you can extend the database and store the keys, please do that.
>> Dont store events, process them in real time. Dont schedule SMSs for now.
>> Dont retry.
>>
>> 7.) Get a baremetal on the Cloud and Run Demo Server and setup a sample
>> MFI
>> using fims to get a feel of the platform and create some sample data for
>> yourself.
>>
>> 8. I said run demo server mutiple times a day.
>>
>> 9. Make changes and run demo server atleast 10 times a day so you
>> understand the ins and outs of the system.
>>
>> If anyone has never ran demo server and is working on Fineract CN. Please
>> stop and go run it and keep asking questions if you dont understand some
>> aspects of the platform.
>>
>> These are all proposals and my own recommendations. Feedback, Corrections
>> and Comments are welcome.
>>
>> GSoC interns and other volunteers, keep the questions coming, they will
>> eventually get answers. Use the public dev mailing list. Even when am
>> unable to answer, there are more experience people on this list who will
>> help you. They are very  busy so be patient and we will get this system
>> shipped in a few months.
>>
>> Thank.
>> Awasum Yannick
>>
>>
>>
>> On Sun, May 27, 2018 at 11:40 PM, Ebenezer Graham <
>> egraham15@xxxxxxxxxxxxxx>
>> wrote:
>>
>> > ​​
>> > Hello Yannick,
>> >
>> > Thanks for your email. Yes, SMS and Emails will be sent out for events
>> > occurring in the accounting microservice. The tentative events
>> shortlisted
>> > for consideration are  onCreateAccount, onChangeAccount, onCloseAccount,
>> >  onLockAccount, onUnlockAccount, onReopenAccount, onDeleteAccount.
>> >
>> > The scope of this project is to develop the notification microservice
>> and
>> > incorporate it into the demo-server. Secondly, develop an interface for
>> the
>> > notification service in the fims-web-app which will allow configuration
>> of
>> > the service i.e flexibility to select permitted notifications, the
>> default
>> > messages for each notification and the configurations for the Email and
>> SMS
>> > gateways. My milestone for this month is to accomplish the first scope
>> and
>> > successfully trigger at least one event from each microservice and
>> > receive an Email or SMS on the other end.
>> >
>> > Additional scope under discussion is the Google Cloud Messaging
>> > notification integration for the mobile app. I have dug up some of the
>> > previous emails on GCM and currently reading on what needs to be done.
>> > Anyone who was involved in the GCM discussion should please forward
>> some fo
>> > the treads to me.
>> >
>> > About the libraries, I am using spring boot's JavaMail library
>> > <http://www.baeldung.com/spring-email> for emails and the Twilio SDK
>> for
>> > SMS. I have written minimum code for both and working on running my
>> > demo-server to test them. For now, this is the libraries I have chosen
>> to
>> > work with.
>> >
>> > About the services, the idea is to create both SMS and Email
>> > functionalities in the same notification microservice. I have defined
>> the
>> > Email and SMS Sender classes and defined a Bean for the JavaMailSender
>> to
>> > connect to google's mail server. This will be fleshed out once I have
>> > tested the notification service in the demo-server.
>> >
>> > Also, I haven't been able to successfully login to see the structure of
>> > Fineract CN. HIs has affected how the wireframe looks. I am actively
>> > working on resolving this as I write this mail. My mentor has suggested
>> a
>> > way to resolve this issue and I have Victor helping me to fix my GCP as
>> we
>> > speak. So I will definitely have a successful build in a matter of days.
>> >
>> > Once I have an idea of the look and feel I will incorporate the look
>> into
>> > the design. The UI comes later so the look and functionality will
>> evolve as
>> > we discuss it. All the same, the UI will typically have an interface to
>> > configure the Email and SMS gateways for each MFI on the platform, a
>> > section to define custom email/SMS templates and a section to enable and
>> > select the frequency of notifications retries.
>> >
>> > For now, the use case I am considering is instant notification via Email
>> > and SMS given that the recipient has opted for both. I will work on
>> > scheduled notification use cases when I have achieved my milestone for
>> the
>> > first month.
>> >
>> > For the phases, the first is the notification services itself, secondly,
>> > incorporate the service into the demo server, and then move on to the
>> UI.
>> > Finally, iterate through the previous phases. I am currently
>> implementing
>> > the first and second scope.
>> >
>> > Phases of the notification service itself include creating JMS listeners
>> > for each microservice, I am still coding the logic for each listener. I
>> > believe this will happen throughout the lifetime of this project. Next
>> is
>> > the notification models, and the Sender classes.
>> >
>> > PS: I am currently coding the notification models after the event
>> > listeners. The basic idea was to create a notification object from each
>> > event generated. It will then be queued and singleton Sender class will
>> pop
>> > the queue and forward them to the relevant recipients. Please share your
>> > thoughts on the impact on performance and what to consider in other to
>> > improve the efficiency of the system.
>> >
>> > Also, I am currently thinking of the stage at which localization and
>> > templating of the messages should be done for the emails. For now, I am
>> > skewed towards what I have in the proposal.
>> >
>> > * At your service*
>> > *,*
>> >
>> > *Ebenezer Graham*
>> >
>> > *BSc (Hons) Computing*
>> >
>> >
>> > [image: EmailSignature.png]
>> >
>> > Beau Plan Business Park | West Building
>> >
>> > Pamplemousses |  Mauritius
>> >
>> >
>> > <http://www.pactmart.com/>
>> > <http://www.pactmart.com/>
>> > www.pactmart.com | Freelancing made easy.
>> > GitHub <https://github.com/ebenezergraham> | LinkedIn
>> > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter
>> > <https://twitter.com/pactmart> | Facebook
>> > <https://www.facebook.com/pactmart> | Website
>> > <http://ebenezergraham.github.io/>
>> > ​
>> > *skype*:
>> > ​ebenezer.graham
>> > ​ | *Phone*:
>> > +230 5840 9206
>> >
>> >
>> > *“Practice isn’t the thing you do once you’re good. It’s the thing you
>> do
>> > that makes you good.”*
>> > -*Malcolm Gladwell*
>> >
>> >
>> >
>> > On 27 May 2018 at 14:36, Awasum Yannick <yannickawasum@xxxxxxxxx>
>> wrote:
>> >
>> > > Thanks you Graham,
>> > >
>> > > Are you going to be sending SMS or emails for accounting events??
>> > >
>> > > What's the scope and phases of the project? Will you do SMS and email
>> > > within the same service? Which of them will you do first? Have you
>> > decided
>> > > on an SMS or email library or provider?
>> > >
>> > > Have you ran fineract cn and seen the fims web app and the way the ui
>> > looks
>> > > so as to know how your wireframe will fit into it??
>> > >
>> > > Please try to think about these and let's all discuss on this thread
>> > about
>> > > how the notification should look like. I also think we should start
>> with
>> > > very simple uses cases and start with one service, SMS or email..then
>> we
>> > > can incrementally add others.
>> > >
>> > > What do you all think??
>> > >
>> > > On Fri, May 18, 2018, 23:41 Ebenezer Graham <egraham15@xxxxxxxxxxxxxx
>> >
>> > > wrote:
>> > >
>> > > > I have updated the cwiki page
>> > > > <https://cwiki.apache.org/confluence/pages/viewpage.action?
>> > > pageId=75975771
>> > > > >
>> > > >
>> > > > *Best Regards,*
>> > > >
>> > > > *Ebenezer Graham*
>> > > >
>> > > > *BSc (Hons) Computing*
>> > > >
>> > > >
>> > > > [image: EmailSignature.png]
>> > > >
>> > > > Beau Plan Business Park | West Building
>> > > >
>> > > > Pamplemousses |  Mauritius
>> > > >
>> > > >
>> > > > <http://www.pactmart.com/>
>> > > > ​​ <http://www.pactmart.com/>
>> > > > www.pactmart.com | Freelancing made easy.
>> > > > GitHub <https://github.com/ebenezergraham> | LinkedIn
>> > > > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter
>> > > > <https://twitter.com/pactmart> | Facebook
>> > > > <https://www.facebook.com/pactmart> | Website
>> > > > <http://ebenezergraham.github.io/>
>> > > > ​
>> > > > *skype*:
>> > > > ​ebenezer.graham
>> > > > ​ | *Phone*:
>> > > > +230 5840 9206
>> > > >
>> > > >
>> > > > *“Practice isn’t the thing you do once you’re good. It’s the thing
>> you
>> > do
>> > > > that makes you good.”*
>> > > > -*Malcolm Gladwell*
>> > > >
>> > > >
>> > > >
>> > > > On 19 May 2018 at 01:47, Ebenezer Graham <egraham15@xxxxxxxxxxxxxx>
>> > > wrote:
>> > > >
>> > > > > ​Sure I will do that.​
>> > > > >
>> > > > > *Best Regards,*
>> > > > >
>> > > > > *Ebenezer Graham*
>> > > > >
>> > > > > *BSc (Hons) Computing*
>> > > > >
>> > > > >
>> > > > > [image: EmailSignature.png]
>> > > > >
>> > > > > Beau Plan Business Park | West Building
>> > > > >
>> > > > > Pamplemousses |  Mauritius
>> > > > >
>> > > > >
>> > > > > <http://www.pactmart.com/>
>> > > > > ​​ <http://www.pactmart.com/>
>> > > > > www.pactmart.com | Freelancing made easy.
>> > > > > GitHub <https://github.com/ebenezergraham> | LinkedIn
>> > > > > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter
>> > > > > <https://twitter.com/pactmart> | Facebook
>> > > > > <https://www.facebook.com/pactmart> | Website
>> > > > > <http://ebenezergraham.github.io/>
>> > > > > ​
>> > > > > *skype*:
>> > > > > ​ebenezer.graham
>> > > > > ​ | *Phone*:
>> > > > > +230 5840 9206
>> > > > >
>> > > > >
>> > > > > *“Practice isn’t the thing you do once you’re good. It’s the thing
>> > you
>> > > do
>> > > > > that makes you good.”*
>> > > > > -*Malcolm Gladwell*
>> > > > >
>> > > > >
>> > > > >
>> > > > > On 19 May 2018 at 01:28, Awasum Yannick <awasum@xxxxxxxxxx>
>> wrote:
>> > > > >
>> > > > >> Hello Graham,
>> > > > >>
>> > > > >> Please paste the contents of that document into your confluence
>> > page.
>> > > I
>> > > > >> think here is the wiki you have been using:
>> > > > >>
>> > > > https://cwiki.apache.org/confluence/pages/viewpage.action?
>> > > pageId=75975771
>> > > > >>
>> > > > >> For Fineract, Proposals and designs are documented on Confluence
>> not
>> > > > >> Google
>> > > > >> Docs. That way there is more transparency and accessibility. Good
>> > > thing
>> > > > is
>> > > > >> that Confluence is version controlled.
>> > > > >>
>> > > > >>
>> > > > >> Thanks.
>> > > > >> Awasum
>> > > > >>
>> > > > >> On Fri, May 18, 2018 at 9:41 PM, Ebenezer Graham <
>> > > > >> egraham15@xxxxxxxxxxxxxx>
>> > > > >> wrote:
>> > > > >>
>> > > > >> > Hi everyone,
>> > > > >> >
>> > > > >> > I am Ebenezer a student from the African Leadership University
>> > and I
>> > > > >> will
>> > > > >> > be working on this project under the mentorship of Isaac Kamga.
>> > > > >> >
>> > > > >> > The idea is to use this thread to discuss the decisions being
>> made
>> > > on
>> > > > >> this
>> > > > >> > project so that the community has visibility on what's
>> happening
>> > and
>> > > > >> most
>> > > > >> > importantly give constructive feedback.
>> > > > >> >
>> > > > >> > *EventListeners:*
>> > > > >> > This is the Doc
>> > > > >> > <https://docs.google.com/document/d/
>> > 1kme5qrxOrO0WGUEvNgzv5XVkgWtpg
>> > > > >> > 0lbX-CrBH4js7o/edit?usp=sharing>
>> > > > >> > containing the shortlisted events which I believe qualify for
>> an
>> > > Email
>> > > > >> or
>> > > > >> > SMS notification. Please review and comment on the doc
>> suggesting
>> > > any
>> > > > >> > addition or deletion or related feedback.
>> > > > >> >
>> > > > >> > *UI for the service:*
>> > > > >> > This is a link <https://wireframe.cc/pro/pp/5fb6b2e61167290>
>> to
>> > the
>> > > > >> > wireframes for the UI of the service. Please give pointers on
>> what
>> > > > >> could be
>> > > > >> > added and what should be taken out.
>> > > > >> >
>> > > > >> >
>> > > > >> > *​At your service*
>> > > > >> > *,*
>> > > > >> >
>> > > > >> > *Ebenezer Graham*
>> > > > >> >
>> > > > >> > *BSc (Hons) Computing*
>> > > > >> >
>> > > > >> >
>> > > > >> > [image: EmailSignature.png]
>> > > > >> >
>> > > > >> > Beau Plan Business Park | West Building
>> > > > >> >
>> > > > >> > Pamplemousses |  Mauritius
>> > > > >> >
>> > > > >> >
>> > > > >> > <http://www.pactmart.com/>
>> > > > >> > <http://www.pactmart.com/>
>> > > > >> > www.pactmart.com | Freelancing made easy.
>> > > > >> > GitHub <https://github.com/ebenezergraham> | LinkedIn
>> > > > >> > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter
>> > > > >> > <https://twitter.com/pactmart> | Facebook
>> > > > >> > <https://www.facebook.com/pactmart> | Website
>> > > > >> > <http://ebenezergraham.github.io/>
>> > > > >> > ​
>> > > > >> > *skype*:
>> > > > >> > ​ebenezer.graham
>> > > > >> > ​ | *Phone*:
>> > > > >> > +230 5840 9206
>> > > > >> >
>> > > > >> >
>> > > > >> > *“Practice isn’t the thing you do once you’re good. It’s the
>> thing
>> > > you
>> > > > >> do
>> > > > >> > that makes you good.”*
>> > > > >> > -*Malcolm Gladwell*
>> > > > >> >
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>