Vue Storefront + Vendure = Fullstack Open Source Ecommerce

Rate this content
Bookmark

Building an online store these days is not an easy task. With so many competitors Time to Market is the key to success. That's why we decided to build an integration between Vue Storefront- Lightning-Fast Frontend Platform for Headless Commerce, and Vendure - modern, headless GraphQL-based e-commerce framework. Both tools are built using modern JavaScript stack (Nuxt.js and Nest.js) and have several out of the box integrations like search engines, CMS's, payments, and so on. Also, both projects have a huge community of Open Source contributors who support the development process. In this presentation, I will show you how fast you can create your store with VSF and Vendure.

This talk has been presented at Vue.js London Live 2021, check out the latest edition of this Tech Conference.

FAQ

Vue Storefront is a lightning-fast frontend platform for headless commerce that separates the UI from the backend, allowing flexibility and scalability in e-commerce operations. It connects to various e-commerce platforms, CMSs, payment gateways, and other third-party services.

Headless commerce refers to the separation of the front-end or user interface part of an e-commerce store from the back-end. This approach allows businesses to enhance flexibility and adapt quickly like a startup, using platforms like Vue Storefront to manage the front-end.

Vue Storefront is built using Nuxt.js (a framework for Vue.js), TypeScript, and GraphQL. It is also compatible with REST API, making it versatile for various development needs.

Composables in Vue Storefront are functions used to map specific functionalities or domains of an e-commerce store, such as products or addresses. They include methods for managing data fetch, updates, and error handling, enhancing the modularity and maintainability of the application.

Vue Storefront allows extensive customization through custom queries that override default queries, and through extensions that can modify API methods, application lifecycle hooks, and more, catering to specific business requirements.

Venger is a framework designed for the backend part of headless commerce, complementing Vue Storefront. It supports functionalities like inventory management, checkouts, promotions, and multiple languages, and is built using NestJS, TypeScript, GraphQL, and supports Elasticsearch.

Contributors can participate in the development of Vue Storefront and Venger by engaging in their respective communities on platforms like the Vue Storefront Discord channel and the Venger Slack channel. Both projects are open-source and welcome contributions.

Venger offers a wide range of e-commerce functionalities including inventory, commerce operations like checkouts, promotions, multilingual support, and tax configuration. It is scalable, cloud-ready, and supports extensive customization for tailored e-commerce solutions.

Vue Storefront enhances e-commerce performance by providing a fast, flexible front-end solution that integrates seamlessly with various backends and services. Its headless nature allows businesses to improve site speed, user experience, and adaptability in the market.

Jakub Andrzejewski
Jakub Andrzejewski
19 min
20 Oct, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

This Talk discusses the full stack open-source e-commerce using ViewStorefront and Venge. ViewStorefront is a lightning-fast frontend platform for headless commerce, while Venge is a framework for the back-end. Both tools are highly customizable and built using modern frameworks. Creating an online store with Venge is quick and easy. Overall, this Talk presents a dream stack for open-source e-commerce and encourages contributions to the projects.

1. Introduction

Short description:

Hi, VJs London. Let's talk about full stack open source e-commerce, shall we? My name is Jakub and I am a technology leader at Vue storefront. I am also a core team member of storefront.UI, which is a UI library for e-commerce.

Hi, VJs London. Let's talk about full stack open source e-commerce, shall we? My name is Jakub and I am a technology leader at Vue storefront. I am also a core team member of storefront.UI, which is a UI library for e-commerce. I'm also a core maintainer of Vue storefront and Venger integration. Apart from work, I'm also a technical diver and currently doing a cave dive course, and I'm also a mountain hiker. In the second picture, there is me on the top of volcano Tabor de Tenerife, which was actually our Vue storefront location in May this year. Yes, we are hiding.

2. Overview of ViewStorefront and Headless Commerce

Short description:

In August this year, I set myself a long-term and ambitious goal. I told myself, next year, I would like to join Filip Rakowski, who is Vue storefront CTO in one of the greatest Vue.js conferences and give a speech. Have you ever wondered what it's like to build an e-commerce store from scratch? What if I told you that there are all the solutions on the market that you can just pick and play in minutes or hours instead of waiting for the developers to develop the solution from scratch? We want to present to you what I'm calling a dream stack for open-source e-commerce, which is ViewStorefront and Vengeo. ViewStorefront is a lightning-fast frontend platform for headless commerce. But in more detail, what is headless commerce? Headless commerce basically means that you are separating your front-end, or the UI part of your e-commerce store, from the back-end. It allows even mature businesses to have the flexibility and maneuverability of a startup. What about the technology stack? So basically, ViewStoreFront is built using three main tools. Nuxt.js, which is a framework for Vue.js. We are using also TypeScript and GraphQL, but ViewStoreFront works with REST API as well. ViewStoreFront uses the concept of composables, which are used to map certain functionality of your e-commerce or map a certain domain of your e-commerce.

Now let me tell you a short story. In August this year, I set myself a long-term and ambitious goal. I told myself, next year, I would like to join Filip Rakowski, who is Vue storefront CTO in one of the greatest Vue.js conferences and give a speech. Right now, in two months, I'm here giving a speech instead of next year. Everything is possible, guys. Just make this first step.

Have you ever wondered what it's like to build an e-commerce store from scratch? Handling all these orders, products, categories takes time. Time is the resource that you might not have as someone who wants to be a market leader. What if I told you that there are all the solutions on the market that you can just pick and play in minutes or hours instead of waiting for the developers to develop the solution from scratch? Which basically takes weeks or months. What if I told you that these tools are free, open-source, and backed by the huge community of contributors that are doing their best to make the project as good as possible.

We want to present to you what I'm calling a dream stack for open-source e-commerce, which is ViewStorefront and Vengeo. ViewStorefront is a lightning-fast frontend platform for headless commerce, but what exactly is headless commerce? If you have been playing some computer games in the recent years, you might probably know this character. This is a character from the game Team Fortress 2, and his name is HeadlessHorselessHorseman. Why am I bringing this example as a comparison to headless commerce? HeadlessHorselessHorseman was a very powerful character, and so is headless commerce. But in more detail, what is headless commerce? Headless commerce basically means that you are separating your front-end, or the UI part of your e-commerce store, from the back-end. It allows even mature businesses to have the flexibility and maneuverability of a startup. It basically means that, for example, ViewStoreFront can connect to many different e-commerce platforms, headless CMSs, payment gateways, search engines, and many other third-party services.

What about the technology stack? So basically, ViewStoreFront is built using three main tools. Nuxt.js, which is a framework for Vue.js. We are using also TypeScript and GraphQL, but ViewStoreFront works with REST API as well. Some basic concepts of ViewStoreFront. ViewStoreFront uses the concept of composables, which are used to map certain functionality of your e-commerce or map a certain domain of your e-commerce. So in this case, we will be taking a look at the product domain. Each composable will contain four main functions or four main elements. The first one will be a variable. In this case, products. This products variable will contain a value of your product domain. Next, we'll have a search method or the load method that will be used to fetch the data from your e-commerce platform to Vue Storefront. Composables may have several methods. Like, for example, use product or use address.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Everything Beyond State Management in Stores with Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Everything Beyond State Management in Stores with Pinia
Top Content
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Welcome to Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Welcome to Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
One Year Into Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
One Year Into Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Utilising Rust from Vue with WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilising Rust from Vue with WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Vue: Feature Updates
Vue.js London 2023Vue.js London 2023
44 min
Vue: Feature Updates
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Full Stack Components
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Full Stack Components
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.

Workshops on related topic

Vue3: Modern Frontend App Development
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Modern Frontend App Development
Top Content
Featured WorkshopFree
Mikhail Kuznetcov
Mikhail Kuznetcov
The Vue3 has been released in mid-2020. Besides many improvements and optimizations, the main feature of Vue3 brings is the Composition API – a new way to write and reuse reactive code. Let's learn more about how to use Composition API efficiently.

Besides core Vue3 features we'll explain examples of how to use popular libraries with Vue3.

Table of contents:
- Introduction to Vue3
- Composition API
- Core libraries
- Vue3 ecosystem

Prerequisites:
IDE of choice (Inellij or VSC) installed
Nodejs + NPM
Developing Dynamic Blogs with SvelteKit & Storyblok: A Hands-on Workshop
JSNation 2023JSNation 2023
174 min
Developing Dynamic Blogs with SvelteKit & Storyblok: A Hands-on Workshop
Top Content
Featured WorkshopFree
Alba Silvente Fuentes
Roberto Butti
2 authors
This SvelteKit workshop explores the integration of 3rd party services, such as Storyblok, in a SvelteKit project. Participants will learn how to create a SvelteKit project, leverage Svelte components, and connect to external APIs. The workshop covers important concepts including SSR, CSR, static site generation, and deploying the application using adapters. By the end of the workshop, attendees will have a solid understanding of building SvelteKit applications with API integrations and be prepared for deployment.
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Vue.js London Live 2021Vue.js London Live 2021
117 min
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Top Content
Workshop
Daniel Roe
Daniel Roe
We'll build a Nuxt project together from scratch using Nitro, the new Nuxt rendering engine, and Nuxt Bridge. We'll explore some of the ways that you can use and deploy Nitro, whilst building a application together with some of the real-world constraints you'd face when deploying an app for your enterprise. Along the way, fire your questions at me and I'll do my best to answer them.
Monitoring 101 for React Developers
React Summit US 2023React Summit US 2023
107 min
Monitoring 101 for React Developers
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
If finding errors in your frontend project is like searching for a needle in a code haystack, then Sentry error monitoring can be your metal detector. Learn the basics of error monitoring with Sentry. Whether you are running a React, Angular, Vue, or just “vanilla” JavaScript, see how Sentry can help you find the who, what, when and where behind errors in your frontend project. 
Workshop level: Intermediate
Building a Shopify App with React & Node
React Summit Remote Edition 2021React Summit Remote Edition 2021
87 min
Building a Shopify App with React & Node
Top Content
WorkshopFree
Jennifer Gray
Hanna Chen
2 authors
Shopify merchants have a diverse set of needs, and developers have a unique opportunity to meet those needs building apps. Building an app can be tough work but Shopify has created a set of tools and resources to help you build out a seamless app experience as quickly as possible. Get hands on experience building an embedded Shopify app using the Shopify App CLI, Polaris and Shopify App Bridge.We’ll show you how to create an app that accesses information from a development store and can run in your local environment.
Create a Visually Editable Next.js Website Using React Bricks, With Blog and E-commerce
React Summit 2023React Summit 2023
139 min
Create a Visually Editable Next.js Website Using React Bricks, With Blog and E-commerce
Top Content
WorkshopFree
Matteo Frana
Matteo Frana
- React Bricks: why we built it, what it is and how it works- Create a free account- Create a new project with Next.js and Tailwind- Explore the directory structure- Anatomy of a Brick- Create a new Brick (Text-Image)- Add a title and description with RichText visual editing- Add an Image with visual editing- Add Sidebar controls to edit props (padding and image side)- Nesting Bricks using the Repeater component- Create an Image gallery brick- Publish on Netlify or Vercel- Page Types and Custom fields- Access Page meta values- Internationalization- How to reuse content across pages: Stories and Embeds- How to create an E-commerce with Products’ data from an external database and landing pages created visually in React Bricks- Advanced enterprise features: flexible permissions, locked structure, custom visual components