ShopifyQL Application

ShopifyQL Application


The challenge for the Development Team was to make integration of Quiet Logistics service into Shopify online stores.

Main tasks and functionality:

  • Automated export of all goods from Shopify into QL (while installing the application)
  • Automated export of an order (order information) from Shopify to QL (after placing an order)
  • Updating information about goods number in Shopify from QL (runs as a scheduled task)
  • Updating order status in Shopify from QL (runs as a scheduled task)

Technical description of the project:

  • Back-end: PHP

  • Storage: MySQL

  • Front-end: HTML 5, CSS 3, JavaScript, native web template

  • Data exchange format: between the application and QL — XML, between the application and Shopify — JSON

  • Interaction with QL is implemented with API AWS (Amazon Web Services) – Amazon S3 Рё Amazon SQS

  • Interaction with Shopify is implemented according to REST architecture using OAuth 2.0

  • The application uses the following open source libraries: AWS SDK, Shopify Client SDK, Guzzle, Event Dispatcher (Symfony Component)

Was wurde gemacht

The Development Team implemented the following:

  • The application is built according to MVC-pattern with possibility of extension/adding new functionality under technical possibilities provided by Shopify and QL API

  • The application starts via Shopify admin panel; starting the app outside of Shopify admin panel is unavailable for security reasons

  • In the Shopify admin panel there is a possibility to change settings of QL account and application

  • РЎritical errors handling with correct (visual) display of information, description of the problem and a contact e-mail for users. System information and system path of the applications are not disclosed. Display of script PHP errors are disabled for security reasons

  • Possibility to block application access for a particular store

  • The application saves stores which have installed it, what allows to continue work after deleting/reinstalling of the application. The application does not store user and personal data (passwords, names, emails, etc.)

  • Possibility to publish the application in Shopify App Store, and then to install it from the store free or at a charge (for all users) or to install it privately (available only to application owner)

  • XML data sent to QL preliminarily undergo validation against compliance to XSD

  • After completing tasks, the application automatically clears message queue on Amazon SQS service

  • PHP-script for fast database installation

  • The application automatically activates only after completing of all goods export to QL, as order export is impossible until QL has needed goods

  • Protection mechanism to prevent order/goods/task duplication

  • Automated registration of needed events in a user's store with further checking and re-creation in case of any error on Shopify side

  • Possibility of running scheduled tasks both as separately and all available at once

  • Access to system application files from outside is denied both by programing means and with help of Apache instruments

  • Overall application size in initial state is ~15Mb

  • Application design is coded with HTML and CSS

Im Falle einer bestimmten Anfrage oder Technologie, die hier nicht aufgeführt ist, können Sie das mit einem Experten unter order in Skype Innowise besprechen.