OSDir

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

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


​Hi Graham,

Delete your /tmp/* directory. Shutdown MySQL and Cassandra if you are not
using persistence.

​If you run with peristent=true, make sure to delete the seshat and
playground DBs in both MySQL and Cassandra before next run.

Try to run the system without your changes. When that is successful you can
start your integration.


On Fri, Jun 1, 2018 at 1:17 PM, Ebenezer Graham <egraham15@xxxxxxxxxxxxxx>
wrote:

> 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*
> >> > > > >> >
> >> > > > >>
> >> > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>