Overview

Headless E-Commerce Interface

Progressive Web App for your online store based on Nuxt.jsopen in new window

  • An open source project
  • Installable as a Nuxt.js Module
  • Compatible with Shopware 6
  • Covers all common e-commerce features
  • Excellent performance and usability
  • Toolbox / framework for creating your own shop frontend

Demoopen in new window | Documentationopen in new window | Websiteopen in new window

Table of contents

Prerequisites

This guide focuses on installing hubble PWA as a Nuxt.js module only, so before moving on, make sure you meet the requirements first.

Installation

Install from scratch including fully configured Nuxt.js project

Install via npx so everything is set up correctly and ready to use. The script prompts you to enter the access dataopen in new window for the api:

npx @hubblecommerce/launcher <project-name>

or enter your API url and key directly as additional parameters:

npx @hubblecommerce/launcher <project-name> <api-url> <api-key>

Install to existing Nuxt.js project

  1. Install hubble NuxtJs Module
npm i @hubblecommerce/hubble
  1. Add module to nuxt.config.js
modules: [
    ['@hubblecommerce/hubble']
],

WARNING

Module have to be registered in modules, not buildModules to make sure runtime configurations work.

  1. Edit configs in .env file
API_SW_ACCESS_KEY = ''
API_BASE_URL      = ''

TIP

Read more about where to get the credentials in the supported e-commerce platforms section.

Build modes

Development

npm run dev

Production

npm run build
npm start

Features

hubble PWA is a Nuxt.js module. That means it relies on all the great features of Nuxt.js like:

  • All benefits of Vue.js
  • Server Side Rendering
  • Dynamic Routing
  • Code-Splitting
  • Module Ecosystem
  • Intuitive Developer Experience
  • Runtime Configuration

and enriches them to meet the demanding requirements of an e-commerce interface like:

This way hubble PWA can always be up-to-date to the fast-growing Nuxt.js ecosystem.

Performance

We aim for an intuitive and smooth interface experience no matter how many features you build in your shop. How we do it:

  • everything that's not necessary for SEO purposes will be loaded lazily via chunking and dynamic imports
  • uses as less global code as possible, everything is a Single-File-Component
  • uses only relevant parts of a CSS framework (Bootstrap)
  • stores only a few small data in state-management
  • measure performance with Google Lighthouse

SEO friendly

All content that is relevant for SEO purposes will be rendered server-side thanks to Nuxt.js universal mode. The rest will be loaded lazily to improve performance.

We also take care of:

  • Rich Snippets
  • Google Tag Manager
  • Enhanced e-commerce tracking

PWA

To us, a PWA means more than the ability to add your website to home-screen or enable push notifications. We want to make sure the interface actually feels like an intuitive, native app and hand you tools to achieve that like:

  • Excellent performance on mobile devices
  • Mobile first design approach
  • User input feedback via decent animations and transitions

Besides, hubble of course is shipped with a simple service worker for offline support. Feel free to adjust it to fit your caching approach needs. Other PWA Features like "Add to Home" or "Push Notifications" can be installed easily using the official Nuxt.js PWA Moduleopen in new window.

Specialized in Shopware 6

Because hubble PWA was built for Shopware 6 primarily, it supports features like:

Roadmap

Thanks to the headless approach hubble is not tied to Shopware only, so we are constantly working on connecting other e-commerce frameworks. See our detailed roadmap for further information.

Contributing

Specific instructions for pull requests can be found here.

Support

If you like the hubble PWA, feel free to contribute and spread the word on social media. Also don't forget to give us a star on github.

Stay updated

If you like to receive updates about updates and the latest releases just click on "watch" and select the information you like to get noticed about.

Meta

digital.manufaktur GmbH – hallo@digitalmanufaktur.com

Distributed under the MIT license. See LICENSEopen in new window for more information.

https://github.com/hubblecommerce/hubble-frontend-pwaopen in new window

Last Updated: