7 weeks of implementing notification pipeline

The 7 weeks out of 10 weeks of coding period of Google Summer of Code is over. These weeks were packed with a lot of learning, fun, challenges, and coding.

I started with the goal of implementing a notification pipeline to enable different types of live-listening notifications like mail, web push, Slack, Twitter, and Facebook. I also wanted to reduce the steps that need to be followed by moderators for issuing notifications. You can find more details of my plans in my previous blog.

At the beginning of the coding period, I started with basic knowledge of Elixir and got a chance to explore many related topics.

First, I wrote code for a simple mail adapter to support the feature of sending automated emails to moderators on reporting of any detection from the live-listening site. I found a cool library called Bamboo that made my work easy.

To onboard notifications on Slack, Twitter, and Facebook I implemented a webhook that can be triggered by sending POST requests from the admin panel of moderators. 

We are using the PostgreSQL database for storing data. The ER model (Entity Relationship model) of the live-listening site looks like:-

ER model of the live-listening site

I have added a table for recording notification events in the existing database schema. I haven’t used GraphQL (an open-source data query and manipulation language for APIs) before, so I also got a chance to explore and learn how to write queries and mutations in GraphQL to make querying and updating of data easy. I wrote test cases to test my functions and have also done integration testing.

These 7 weeks not only involved hours of coding but moments of fun too. We have an ‘All-GSoC’ call every week on Tuesday where we start with a nice ice-breaker round on different topics of discussion and then share our weekly progress and any roadblocks or issues we are facing.

Screenshot taken during the ‘All-GSoC’ call

Thanks for the read. I’m looking forward to delivering more good things in the future.

2 thoughts on “7 weeks of implementing notification pipeline

  1. Dhairya says:

    Hi Dhananjay!
    For GSoC’2021, when did you first start to contribute towards the organization and what were the skills you already possessed?
    I’m willing to apply in 2022 so any tips from you will be widely helpful.

    Thanks!

    1. Dhananjay Purohit says:

      I think I have started contributing to Orcasound in March 2020. When I have started I have some knowledge of JavaScript and React. I have learned Elixir while contributing to orcasite (https://github.com/orcasound/orcasite).
      I wrote an article on my open source journey before getting selected into GSoC (https://dhananjaypurohit.medium.com/my-open-source-journey-before-getting-selected-into-gsoc-google-summer-of-code-d0202810dfed) and looking forward to publishing a blog on my GSoC experience with Orcasound. I will edit this reply with its link soon.

Leave a Reply

Your email address will not be published.