Hi Victor You should check if the artefact is in the .m2 directory. If it is, check to make sure '0.1.0-BUILD-SNAPSHOT' is the version you specified in your shared.gradle file.
Thanks, Courage On Wed, Jun 13, 2018 at 11:37 AM Ebenezer Graham <egraha...@alustudent.com> wrote: > 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 <awa...@apache.org> 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 < > egraha...@alustudent.com> > > 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 <egraha...@alustudent.com> > > 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 <awa...@apache.org> 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 < > > > >> egraha...@alustudent.com> > > > >> 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 <yannickawa...@gmail.com> > > > >> 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 < > > > egraha...@alustudent.com > > > >> > > > > >> > > 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 < > > > egraha...@alustudent.com> > > > >> > > 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 <awa...@apache.org> > > > >> 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 < > > > >> > > > >> egraha...@alustudent.com> > > > >> > > > >> 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* > > > >> > > > >> > > > > >> > > > >> > > > >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > > > > > > > > > > >