Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Order

Title

Link

Start

Finish

Level

1

New Shopify Plugin for Widget Installation.

PRD-618

18/06/2024

18/072024

Parent

1.1

Local Dev Setup & Plugin Dashboard Onboarding.

PRD-642

18/06/2024

Ongoing

Child

1.2

Shopify Onboarding.

PRD-643

18/06/2024

28/072024Child

1.3

Plugin - Coding - Planning & Unassigned time tracking.

PRD-644

28/06/2024

04/072024Child

1.4

Plugin - Coding - Installation

PRD-773

04/072024

14/07/2024

Child

1.5

Plugin - Coding - Uninstallation

PRD-774

04/072024

14/07/2024

Child

1.6

Plugin - Coding - Configuration - CRUD

PRD-763

06/07/2024

14/07/2024

Child

1.7

Plugin - Coding - Refactor & Comment & Document

PRD-764

14/07/2024

18/072024Child

1.8

Plugin - Coding - FrontEnd design to Polaris

PRD-795

16/07/2024

20/072024

1.9

Plugin - Coding - Add form to capture widget code to display on their site.

PRD-796

16/07/2024

20/072024

1.10

Widget Store Front Display Requirements.

PRD-855

29/07/2024

31/07/2024

1.11

Widget Store Front Display Functionality.

PRD-856

29/07/2024

31/07/2024

Process:

  1. Requirement Gathering. 

    • Local Dev Setup & Plugin Dashboard Onboarding. PRD-642

    • Shopify Onboarding. PRD-643

  2. Planning & Design. 

    • Plugin - Coding - Planning & Unassigned time tracking. PRD-642644

  3. Implementation.

    • Dev setup

      • Local Dev Setup & Plugin Dashboard Onboarding. PRD-642

    • Shopify setup

    • Plugin development

      • Plugin - Coding - Planning & Unassigned time tracking. PRD-642644

      • Plugin - Coding - Installation. PRD-773

      • Plugin - Coding - Uninstallation. PRD-774

      • Plugin - Coding - Configuration - CRUD. PRD-763

      • Plugin - Coding - Refactor & Comment & Document. PRD-764

      • Widget Store Front Display Requirements. PRD-855

      • Widget Store Front Display Functionality. PRD-856

Process Breakdown:

  1. Requirement Gathering:

    • Plugin Dashboard Repo - Local Dev Setup & Research. 

      • Develop overview of system, define .

      • Define system purpose.

    • Shopify Dashboard & Research.

      • Develop overview of Shopify system.

      • Document

        Define Shopify requirements.

  2. Planning & Design:
    The plugin is broken down into components, namely:

    1. App install

      • Install requires registration as an app provider.

      • Authentication process and Token exchange.

      • The app registers within Shopify and Customer shop.

      • Privilege establishment

      • Persists to DB.

    2. App uninstall

      • Authentication process and Token exchange.

      • The app un-registers within Shopify and Customer shop.

      • Deletes from DB.

    3. App Configuration

      • Configuration settings. App requires configuring.
        Options are provided to be either an eKomi client or Netcomm or both.

        • eKomi Client settings:

          • ShopId

          • Shop Interface Password

        • Netcomm Client settings:

          • NetcommId

      • App configuration will be persisted in the DB.
        CRUD functionality.

    4. Requirements:
      Shopify has requirements that each app should meet.
      https://shopify.dev/docs/apps/launch/app-requirements-checklist

      1. App is installable from shopify store and needs to be registered.

      2. App needs to store Netcomm & eKomi credentials.

      3. App is embedded, uses Shopify App Bridge functionality.
        https://shopify.dev/docs/api/app-bridge

    5. Native Symfony / Docker app.

    6. DB Entity

    Implementation:

  3. Local Dev Setup.

    1. Setup environment to develop - environment specifics needed for the repo to work.

  4. Learn Plugin Dashboard system.

    1. Read Plugin documentation.

    2. Read Plugin code as I’m supposed to model off them.

  5. Shopify Setup

    1. Learn what Shopify requires and how to do development with them.
      https://shopify.dev/docs/apps/launch/app-requirements-checklist
      https://shopify.dev/docs/api/app-bridge
      So based upon our tech stack it seems like we actually just use the PHP library / dependancy to intergrate the app with Shopify.

  6. Plugin Development:

  7. DB Schema

    Code Block
     TABLE `netcomm_configuration` : 
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(11) DEFAULT NULL,
      `shop_url` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
      `access_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `app_uninstall_web_hook_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `order_fulfilled_web_hook_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `widget_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `widget_language` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `terms_and_conditions` tinyint(1) NOT NULL DEFAULT '1',
      `instruction` tinyint(1) NOT NULL,
      `shop_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `shop_interface_password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `netcomm_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `store_data` longtext COLLATE utf8_unicode_ci,
      `enabled` tinyint(1) NOT NULL DEFAULT 'false',
      `created` datetime NOT NULL,
      `updated` datetime NOT NULL,
      `member_of_netcomm` tinyint(1) NOT NULL DEFAULT 'false',
      `member_of_ekomi` tinyint(1) NOT NULL DEFAULT 'false',
      PRIMARY KEY (`id`),
      UNIQUE KEY `UNIQ_89D23822678D9590` (`shop_url`),
      UNIQUE KEY `UNIQ_89D238224D16C4DD` (`shop_id`),
      UNIQUE KEY `UNIQ_89D23822B6A2DD68` (`access_token`),
      UNIQUE KEY `UNIQ_89D23822A76ED395` (`user_id`),
      CONSTRAINT `FK_89D23822A76ED395` FOREIGN KEY (`user_id`) REFERENCES `fos_user` (`id`)
  8. Install - Process definition:

  9. Uninstall
    Link to Uninstall process flow.

  10. Configuration CRUD
    Link to Configuration process flow.

  11. Refactor / Testing Phase.

  12. Identify issues and refactor

  13. Documentation / Commenting.
    Document Shopify requirements for apps.
    Explain where app meets requirements.
    Comment functions and classes.

    Each in their respective page.

    1. Plugin Dashboard Repo - Local Dev Setup & Research

    2. Shopify Dashboard & Research

    3. DB Schema

    4. Plugin Install - Process

    5. Plugin Uninstall Process

    6. Plugin Configuration - eKomi & Netcomm

    7. Widget Token Configuration

    8. Widget Store Front Display Requirements

    9. Widget Store Front Display Functionality

Main Process Flow Diagrams:

Inc drawio
simple0
zoom1
pageId4100718596
custContentId4132798480
diagramDisplayNamePluginDashboardNetcomm.drawio
lbox1
hiResPreview0
contentVer1
revision1
baseUrlhttps://ekomi01.atlassian.net/wiki
diagramName1722871311661-PluginDashboardNetcomm.drawio
pCenter0
aspectLL70ml2rnKzf4Suguo_p 1
width3901
linksauto
isUpload1
tbstyletop
height5271