Hello everyone, I have managed to get my VM up and running. A big thank you to Isaac, Yannick and Victor for the constant support.
I am now incorporating the notification service into the demo-server however, I keep getting this error. https://pastebin.com/LW6CUwJ3 NB: I have made a build of the notification microservice and publishToMavenLocal. I have also added the dependency to the build.gradle file in the demo server. I believe this issue has to do with locating the notification artefacts in the .m2. *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 6 June 2018 at 13:13, Awasum Yannick <[email protected]> wrote: > 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 <[email protected]> > 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 <[email protected]> > 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 <[email protected]> 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 < > > >> [email protected]> > > >> 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 <[email protected]> > > >> 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 < > > [email protected] > > >> > > > >> > > 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 < > > [email protected]> > > >> > > 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 <[email protected]> > > >> 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 < > > >> > > > >> [email protected]> > > >> > > > >> 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* > > >> > > > >> > > > >> > > > >> > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > > > > > > >
