Ushahidi: GMail Data Source Support

Hello everyone,

My name is Wisdom Ebong, GSoC’20 student and I will be working on the Ushahidi platform to integrate a new implementation of “Gmail” as a data source.

I will be using this topic for my weekly blog post updates regarding my project.

Looking forward to an exciting journey and the great things I’ll accomplish this summer.

1 Like

So I missed blogging during the community bonding period, and I don’t feel good about it :cry:. To keep up I will try reviewing everything so far for the past 4 weeks of bonding period.

[Community Bonding Period] Week 1:

During the first week, I had the first call from my mentor @romina. We discussed the project and tools I’ll be making use of, we did go over my proposals again and I got onboard on the teams slack.com and notion.com workspace. One of the tools I would be making use of is the Behat framework for testing, @romina recommended I work on testing issues to get familiar with it … I picked an old issue and tried fixing some test cases. (PR https://github.com/ushahidi/platform/pull/3965)

[Community Bonding Period] Week 2:

Week 2, I got introduced to another mentor @davidlosada, was great to know him. Together with @romina, we got started on project planning. We used draw.io to create a diagram flow for Gmail Authentication on the Ushahidi platform client and how it interfaces with Gmail API and Ushahidi platform API.

[Community Bonding Period] Week 3:

Week 3, I got on a call with my mentors @romina and @davidlosada we scoped out the flow for the backend integration for GMail data source support, we discussed on the architecture flow and what endpoints would be created and the use case. We also broke down the flow into tasks and deliverables.

[Community Bonding Period] Week 4:

This week I started working through the platform API and client codebase, getting to understand them better. Also tried working on a Github issue https://github.com/ushahidi/platform/issues/1421, made a little progress with it :sweat_smile:. Also, I talked to @walter for the first time and took him through the project flow, as he is the QA and I would be getting reviews from him as the project goes on.

Thank you @webong! We have greatly enjoyed working with you over this month!

July Blog Post Summary

[Coding Phase 2] Week 9:

This week, I got started testing the Gmail support composer package with the Ushahidi Platform API codebase. I was able to raise make a phase one PR to the package repo http://github.com/ushahidi/gmail-datasource/.

I also started preparing the necessary API endpoints that will be used on the Ushahidi Platform Client. Also, a meeting was held with @romina, @anna and @davidlosada on how these endpoints will be integrated and the possible product flow.

[Coding Phase 2] Week 10:

This week, based on the meeting from the previous week, @romina and @anna did come up with a product flow for the Ushahidi Platform Client, which will allow one configure Gmail settings and enable it as an active data provider.

The above will serve as a useful guideline for me to implement a simple Gmail connection flow for both the standalone Ushahidi deployment and a SASS Ushahidi setup.

[Coding Phase 2] Week 11:

This week, I had gotten a basic implementation of the Gmail connection flow, allowing users to set up their credentials, connect a Gmail account and also disconnect it. I had demo with my mentors to show them the progress on that end.

During implementation, I also discovered some other issues that needed fixing and some changes to be made, on the composer package that adds Gmail as a custom data provider on Ushahidi.

[Coding Phase 2] Week 12:

This week I was to start working on the documentation showing how to setup. Also will work with @davidlosada to get two instances of the Ushahidi (one as a self-hosted deployment and another as a cloud-managed deployment).

Several PRs were made to the Ushahidi Organisation:

Next week, I hope to get the QA team to start testing my work so far. I am thankful for @romina and @davidlosada for their excellent mentorship, they’ve been the best.

1 Like