A reference ecommerce store implementation using Shopware, Nuxt 3, and Tailwind CSS.
This repository is an example demo application built with Shopware Frontends Framework and Nuxt 3.
Go to Documentation > Requirements to see the details.
To connect to a different API, adjust the API credentials in the nuxt.config.ts
file:
Shopware:
{endpoint
and accessToken
}.
pnpm i
to install dependenciespnpm dev
to run the project with the development serverBy default API types are delivered from our demo instance. To generate your own types use @shopware/api-gen CLI.
.env
file with your Shopware API informationpnpx @shopware/api-gen loadSchema --apiType=store --filename=storeApiSchema.json
pnpx @shopware/api-gen generateTypes --filename=storeApiSchema.json
[!NOTE] Do not edit your
storeApiSchema.d.ts
file. It will be overwritten on the next schema generation. Instead use yourshopware.d.ts
file to extend types.
Refer to to the Shopware documentation for best practices on deploying a production JavaScript application with Shopware: Best Practices > Deployment
Execute the build
script to build the application:
pnpm build# or npm run build# or yarn build
Execute the start
script to run the application:
pnpm start# or npm run start# or yarn start
The Dockerfile file in this template performs the following:
ARG NODE_VERSION=18-alpine
: Sets a default value for the NODE_VERSION
argument, which is used in the Docker build process.FROM node:${NODE_VERSION}
: Tells Docker to use the Node.js image specified by NODE_VERSION
as the base image for the build.ENV NODE_ENV production
: Sets the NODE_ENV
environment variable to production within the Docker container.RUN mkdir /app
: Creates a directory named /app
in the root of the Docker container's file system.COPY --chown=node:node ./ /app
: Copies all files from the current directory (where the Dockerfile is located) into the /app
directory inside the container. The --chown=node:node
option sets the ownership of the copied files to the node user and group.WORKDIR /app
: Sets the working directory for any RUN
, CMD
, ENTRYPOINT
, COPY
, and ADD
instructions that follow in the Dockerfile to /app
.USER node
: Switches the user context to node
.EXPOSE 3000
: Informs Docker that the container listens on port 3000
at runtime.CMD npm run start
: Specifies the command to run when the container starts.Prepare the Docker image:
# run in a main template directorydocker build -t vue-demo-store .
Run a container from the image:
# the application is exposed on the 3000 port and mapped to 3000 port on hostdocker run -p3000:3000 vue-demo-store
More information on generating different outputs can be found here.
Our recommendation is to use .env
file for changing platform presets
A reference ecommerce store implementation using Shopware, Nuxt 3, and Tailwind CSS.
This repository is an example demo application built with Shopware Frontends Framework and Nuxt 3.
Go to Documentation > Requirements to see the details.
To connect to a different API, adjust the API credentials in the nuxt.config.ts
file:
Shopware:
{endpoint
and accessToken
}.
pnpm i
to install dependenciespnpm dev
to run the project with the development serverBy default API types are delivered from our demo instance. To generate your own types use @shopware/api-gen CLI.
.env
file with your Shopware API informationpnpx @shopware/api-gen loadSchema --apiType=store --filename=storeApiSchema.json
pnpx @shopware/api-gen generateTypes --filename=storeApiSchema.json
[!NOTE] Do not edit your
storeApiSchema.d.ts
file. It will be overwritten on the next schema generation. Instead use yourshopware.d.ts
file to extend types.
Refer to to the Shopware documentation for best practices on deploying a production JavaScript application with Shopware: Best Practices > Deployment
Execute the build
script to build the application:
pnpm build# or npm run build# or yarn build
Execute the start
script to run the application:
pnpm start# or npm run start# or yarn start
The Dockerfile file in this template performs the following:
ARG NODE_VERSION=18-alpine
: Sets a default value for the NODE_VERSION
argument, which is used in the Docker build process.FROM node:${NODE_VERSION}
: Tells Docker to use the Node.js image specified by NODE_VERSION
as the base image for the build.ENV NODE_ENV production
: Sets the NODE_ENV
environment variable to production within the Docker container.RUN mkdir /app
: Creates a directory named /app
in the root of the Docker container's file system.COPY --chown=node:node ./ /app
: Copies all files from the current directory (where the Dockerfile is located) into the /app
directory inside the container. The --chown=node:node
option sets the ownership of the copied files to the node user and group.WORKDIR /app
: Sets the working directory for any RUN
, CMD
, ENTRYPOINT
, COPY
, and ADD
instructions that follow in the Dockerfile to /app
.USER node
: Switches the user context to node
.EXPOSE 3000
: Informs Docker that the container listens on port 3000
at runtime.CMD npm run start
: Specifies the command to run when the container starts.Prepare the Docker image:
# run in a main template directorydocker build -t vue-demo-store .
Run a container from the image:
# the application is exposed on the 3000 port and mapped to 3000 port on hostdocker run -p3000:3000 vue-demo-store
More information on generating different outputs can be found here.
Our recommendation is to use .env
file for changing platform presets