GSoC 2018 - Week - 2

Ankit Jain
Ankit Jain DevOps Engineer @Razorpay | CommunityBridge Mentee @Keptn | @Drupal GSoC Alum | #GitHubCampusExpert Alum | GCI & GSoC'19 Mentor @Drupal | Speaker | Writer

GSoC 2018 - Week - 2

Week 1 of the GSoC coding period is completed successfully. GSoC (Google Summer of Code) is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3-month programming project during their break from school.

Project Abstract

I am working on “Developing a “ Product Advertising API ” module for Drupal 8” - #7. The “Product Advertising API” which is renamed to “Affiliates Connect” module provides an interface to easily integrate with affiliate APIs or product advertising APIs provided by different e-commerce platforms like Flipkart, Amazon, eBay etc to fetch data easily from their database and import them into Drupal to monetize your website by advertising their products. If the e-commerce platforms don’t provide affiliate APIs, we will scrape the data from such platforms.

Progress

I am enjoying working on this project and learning new things. The module development progress and Code can be checked at this link - Affiliates-Connect. Some of the tasks that were accomplished in the week - 1 are - 

  • The basic skeleton of the module is ready.

  • As the product’s data is a common entity between all the vendors so the custom content entity that is needed to save the product’s data is completed.

  • Configuration Form for saving the configuration of the affiliates_connect settings is completed.

  • Basic plugin manager is added to handle plugins that will be provided as the sub-module to this module.

As this module is similar to Social Auth so I took help of gvso to understand the working of the social auth and its various implementers like social_auth_facebook and social_auth_google. With his help, the project is more crystal clear to me and mentors are there to guide and review our code at each step.

Week 2 - Goals

In this week the basic module for developing/integrating the sub-modules will be completed and I will start working on the Scraper API which will be developed using Node.js and npm packages.

  • As every vendor has a different configuration so configuration form will be added for the sub-modules.

  • The common configuration will be inherited from the parent module.

  • Plugin Manager with all the required functionalities will be completed. 

  • Start working on Scraper API for sub-modules.

Difficulties

  • Plugin Manager functionality needs to be defined accurately and precisely so that we can better manage the plugins and inherit common functionalities from the parent module.

- Most of the websites are using latest Front-end Frameworks like Angular, React e.t.c so to fetch dynamic content from such websites, we need to use a Headless browser for which I am using x-ray in Node.

Categories:
comments powered by Disqus