Listed below are the implementation and deliverables for Phase 1 for the Google Summer of Code 2018 project Affiliates Connect:

Phase 1:

  1. Creating Db Schemas using custom entity for storing product’s data and affiliate APIs credentials and configs for various modules/plugins. Schemas can be designed in project_advertising_api.install file using hook_schema or by custom entity.

  2. Designing Front views for module management and settings by creating menu dev section through project_advertising_api.links.menu.yml and creating the associated UI and layouts.

  3. Creating/designing Plugin Manager to use all the required plugins native_api_example etc provided by extended/secondary modules. Also, to enhance the functionalities of the Affiliate APIs provided by the different ecommerce platforms, native/Scraper APIs need to be created to fetch the input from the sites. This would by far be the most vital piece of work to be completed.

  4. Using OAuth Authentication method for securing Fallback Scraper APIs as we are using Node.js for Scraper API.

  5. For the purpose of storing user info into the Drupal db based on a specific user’s config settings, a connection would needed to be made between that particular db and the existing/created native APIs. The connection would be made by injecting Connection Service from Service Containers in services where we call REST APIs using Guzzle Package.

  6. Write PHPUnit tests for the Native APIs created to test class methods for every case possible. Also bulk insertion of data into the db to periodically try fetching data using native APIs.

  7. By this time, one important part i.e Native APIs for Flipkart and Amazon is completed with unit tests. For creating Scraper APIs, cheerio library is used for scraping data using Node.js and Drupal has good integration support using Node.js integration module. Most of the e-commerce platform now a days are using SPA, so for scraping dynamic, x-ray library is used which supports PhantomJs (Headless Driver). The fallback scraper APIs thus created would be used to scrape data from a required ecommerce platform and import the collected data into the database.

  8. Using Ultimate Cron module in Drupal to update scraper API’s fetched data periodically through hook_cronapi().



Deliverables: Fully functional Affiliates Connect module with all the required tests and API documentation for developers.

Comments

chiranjeeb2410 created an issue. See original summary.

chiranjeeb2410’s picture

Issue summary: View changes