Shopware 6 app contest: Improved Import, Export & Mass Product Actions. Idea, problems, implementation, future

- E-Commerce, Our extensions, Shopware

Firebear Studio is bringing its import and export expertise to Shopware commerce!

Learn how we have planned and decided to develop the import and export solution for the Shopware 6 store owners, and how we plan to improve it

Idea, problems, implementation, future

Idea

The idea behind Improved Import, Export & Mass Product Actions application (the application) for Shopware 6 is to provide the store owners with the convenient product import and export tool, and allow to update any number of products.

Precisely, the application should allow merchants to:

  • Import and export ALL product data in a single file, including all custom product properties
  • Allow for product properties mapping when importing products from different suppliers with different property naming
  • Use the exported file as a Product Information Management alternative to quickly adjust product properties of multiple products, and import the changes back to the store
  • Use Google Drive to work on a single file as a team and conveniently share updates across the management team
  • Use CSV file type for starters as the most popular file format, and expanding later to XML, XLSX, ODS, Json types

Problems

The application solves the following problems for the Shopify 6 store owners:

  • Inability to update more than 25 products simultaneously. By allowing catalog updates in the exported file and uploading the catalog back using the import feature.
  • Possibility to import catalog updates directly from the supplier or dropshipping provider. By allowing import and export of ALL product properties in a single file, as suppliers tend sending the catalog updates as custom tables.
  • Use of the social-media and third-party marketplaces for boosting sales. By allowing to export necessary product data for future upload to eBay, Facebook shopping, and other marketplaces.
  • Exporting product catalog directly to Google Drive to further share it with the management team

Implementation (technology stack)

The application is developed using Laravel and Vue.js. The application will be running inside the Kubernetes cloud cluster. The application will be using Shopware 6 API to fetch and get the required data.

Everything is running inside DigitalOcean Kubernetes. Kubernetes is great for its fast deployment, scalability, and monitoring.

The app’s backend is built with Laravel 8.12. We chose Laravel because it follows the best development practices, and comes with the vast number of the project development templates. Laravel allows the applications to have high scalability and performance scores compared to the apps built with other frameworks. This has partially been achieved with the caching system. It is an enterprise level framework, which supports functional, integrational, unit-testing.

The app’s frontend is built with Vue.js 2.6.12 and Vuetify 2. We chose Vue.js for:

  • Comparatively small framework size
  • Compatibility with Laravel, and further recommendations from Laravel team
  • js is easier to use and support than React or AngularJS, which reduces the development time and further project support
  • js is a tiny faster than Reach because of the better implementation of the Virtual DOM
  • js is more performance oriented than AngularJS

We use Vuetify for building the theme of the app. Vuetify has been developed exactly according to Material Design specification, with every component meticulously crafted to be modular, responsive, and performant. And because we like it.

To send the job status changes to the browser we use web sockets. This allows for instant change visibility tracking inside the user’s browsers.

The application has been developed according to the best coding practices with constant code static analysis using:

  • Psalm
  • PHPStan
  • PHP CodeSniffer

We also cover the application’s code with the unit tests for both front and backend experience. In addition, we use integration testing. For the end-to-end testing we use Cypress. During the development we use CI/CD running every test for every pull request.

Future

The future development of the application, after the contest, will focus on:

  • Support of more file types including XLSX, XML, Json, and ODS
  • Support of more import and export sources including FTP/SFTP,
    Google Sheets, Dropbox, OneDrive, direct URL, API connections to third party services
  • Use of custom logic for adjusting imported data using regular expressions and possibly XSLT transformations
  • Support of other Shopware 6 entities including orders, customers, categories
  • Automation of the import and export processes with custom scheduler

About Firebear Studio

With vast experience in data import and export solutions, Firebear Studio is ready to set up the adventure for the Shopware 6 store owners.

We have been developing the best import and export solution, according to hundreds of reviews, Fortune 500 customers, and partnership with the development agencies, for Magento 2 ecommerce for more than six years.

We have covered hundreds of use cases for import and export procedures. Looked into CRM and ERP system integration with such giants as MS Dynamics and SAP B1. And studied the feature requests from live stores with their daily import routines.

Firebear Studio blog – is the main source in the internet for the information about data import, export, ecommerce integrations with the CRM, ERP, and dropshipping systems.

We know what store owners want and need, and are happy to share our knowledge.