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.