{"id":15192627,"url":"https://github.com/vuestorefront/storefront-api","last_synced_at":"2025-10-02T08:31:03.024Z","repository":{"id":143822498,"uuid":"223889092","full_name":"vuestorefront/storefront-api","owner":"vuestorefront","description":"Storefront GraphQL API Gateway. Modular architecture. ElasticSearch included. Works great with Magento1, Magento2, Spree, OpenCart, Pimcore and custom backends","archived":true,"fork":false,"pushed_at":"2023-02-20T12:46:01.000Z","size":11261,"stargazers_count":8,"open_issues_count":73,"forks_count":1,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-01-16T13:28:57.294Z","etag":null,"topics":["api","ecommerce","gateway-api","graphql","graphql-api","graphql-gateway","graphql-schemas","graphql-server","rest","rest-api"],"latest_commit_sha":null,"homepage":"https://storefrontapi.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vuestorefront.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-11-25T07:39:37.000Z","updated_at":"2024-04-17T06:48:45.000Z","dependencies_parsed_at":"2023-06-28T20:01:09.864Z","dependency_job_id":null,"html_url":"https://github.com/vuestorefront/storefront-api","commit_stats":null,"previous_names":["divanteltd/storefront-api"],"tags_count":4,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront%2Fstorefront-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront%2Fstorefront-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront%2Fstorefront-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuestorefront%2Fstorefront-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuestorefront","download_url":"https://codeload.github.com/vuestorefront/storefront-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234957780,"owners_count":18913348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","ecommerce","gateway-api","graphql","graphql-api","graphql-gateway","graphql-schemas","graphql-server","rest","rest-api"],"created_at":"2024-09-27T22:00:25.274Z","updated_at":"2025-10-02T08:30:57.088Z","avatar_url":"https://github.com/vuestorefront.png","language":"TypeScript","readme":"Storefront API\n==============\n\n### Stay connected\n\n[![GitHub Repo stars](https://img.shields.io/github/stars/vuestorefront/vue-storefront?style=social)](https://github.com/vuestorefront/vue-storefront)\n[![Twitter Follow](https://img.shields.io/twitter/follow/vuestorefront?style=social)](https://twitter.com/vuestorefront)\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCkm1F3Cglty3CE1QwKQUhhg?style=social)](https://www.youtube.com/c/VueStorefront)\n[![Discord](https://img.shields.io/discord/770285988244750366?label=join%20discord\u0026logo=Discord\u0026logoColor=white)](https://discord.vuestorefront.io)\n\n![version](https://img.shields.io/badge/node-v10.x-blue.svg)\n![Branch Develop](https://img.shields.io/badge/dev%20branch-develop-blue.svg)\n\u003ca href=\"http://discord.vuestorefront.io/\"\u003e\n\u003cimg src=\"https://discordapp.com/api/guilds/770285988244750366/widget.png?style=shield\" alt=\"Discord Shield\"/\u003e\n\u003c/a\u003e\n\n### 🔨 Current status: Release Candidate 2 (rc2)\n\nMost of the work has been done already. However, we are still developing and enhancing it. Storefront API 1.0rc2 is compatible with Vue Storefront 1.11+. The stable release (1.0) is planned for **2020Q4**. Only then, it will replace the `vue-storefront-api` middleware for Vue Storefront (release 1.13). Till then it's not recommended for production applications.\n\nStorefront GraphQL API. Easy to use. Extendable. Blazingly fast. ElasticSearch included. [BFF (Backend for frontend)](https://samnewman.io/patterns/architectural/bff/) driven.\nWorks great with: Magento1, Magento2, Spree, OpenCart, and Pimcore - out of the box. [Easy to integrate with custom backends](https://docs.storefrontapi.com/guide/integration/integration.html#two-steps-for-the-integration).\n\nYou can use the **Storefront GraphQL API** to integrate **all your backend systems** with your eCommerce frontend under a single GraphQL/REST API.\nBy default, all catalog information is stored in ElasticSearch, and all the write operations are forwarded to the **platform driver** (Magento1, Magento2, Spree, and others available).\n\n## How to get started?\n\nStorefront API comes with a default product schema - compatible with the [Vue Storefront](https://github.com/DivanteLtd/vue-storefront) project - and can be a drop-in replacement for `vue-storefront-api`. You can  start a dev instance, including a demo data set integrated with a [Magento 2.3 demo instance](http://demo-magento2.vuestorefront.io).\n\nTo run `storefront-api` in `development` mode, please run:\n\n`docker-compose up`\n\nRestore the demo data set:\n`docker exec -it sfa_app_1 yarn restore7`\n\nAfter successful installation, you can start playing with GraphQL queries using your local GraphQL Playground, which is exposed under: [http://localhost:8080/graphql](http://localhost:8080/graphql)\n\nDetails: \n- [Installation tutorial](https://docs.storefrontapi.com/guide/general/installation.html)\n- [How to create a first module - tutorial](https://docs.storefrontapi.com/guide/modules/tutorial.html)\n- [GraphQL schema](https://docs.storefrontapi.com/guide/default-modules/graphql.html)\n- [REST API](https://docs.storefrontapi.com/guide/default-modules/api.html)\n- [Configuration file explained](https://docs.storefrontapi.com/guide/general/config.html)\n\n## Core Team\n\nIn case of any questions please contact our core team ([we are on Slack](https://slack.vuestorefront.io))\n\n- `@resubaka` - Jens Sadowski\n- `@pkarw` - Piotr Karwatka\n- `@pandrzejewsky` - Patryk Andrzejewski\n\n\n## Demo\n\nYou can play with the GraphQL endpoint over https://demo.storefrontapi.com/graphql/\n\nExample query you can enter:\n\n```graphql\n{ \n  products (filter:{\n      type_id:{eq:\"configurable\"}\n  }) {\n    items { \n      name\n      price\n      description\n      configurable_children { name, price }\n    }\n  }\n}\n```\n\n## Key features\n\n - Fully functional and extendable eCommerce API Gateway,\n - Modular architecture with easy customizable default e-Commerce module,\n - Read/Write integrations with [Magento1](https://github.com/DivanteLtd/magento1-vsbridge-indexer), [EpiServer](https://github.com/makingwaves/epi-commerce-to-vue-storefront), [Magento2](https://github.com/DivanteLtd/magento2-vsbridge-indexer), [OpenCart](https://github.com/butopea/vue-storefront-opencart-vsbridge), [SpreeCommerce](https://github.com/spark-solutions/spree2vuestorefront),\n - Additional integrations including [Prismic](https://forum.vuestorefront.io/t/prismic-connector/160) with GraphQL support,\n - [Vue Storefront](https://vuestorefront.io) PWA frontend support,\n - Blazingly fast - based on ElasticSearch with avg. response times \u003c 100ms,\n - GraphQL API with 100% customizable [GraphQL schema](https://divanteltd.github.io/storefront-graphql-api-schema/),\n - REST API with [ElasticSearch DSL support](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html),\n - Catalog, Cart, User, Stock, Review, Order, and Image resizer modules available through the REST API,\n - Multistore support based on a store-views (aka. sales channels) concept,\n - Dynamic tax calculation engine,\n - Extendable via custom extensions (including GraphQL schema and resolver extensions),\n - ElasticSearch maintenance tools - dump/restore/schema maintenance/migrations,\n - Custom eCommerce Backend integrations via [an integration SDK](ocs.storefrontapi.com/guide/integration/integration.html#two-steps-for-the-integration).\n\n## Modules\n\nStorefront API does provide all the features, GraphQL schemas, ElasticSearch resolvers and API handlers via [Modules](https://docs.storefrontapi.com/guide/modules/introduction.html). That's it. The default schema and the features described in the further parts of the documentation have been implemented by the `default-catalog`, `default-img` and `default-vsf` modules. You can customize them, clone or disable.\n\nEach module provides it's own:\n- GraphQL schema and resolvers,\n- ElasticSearch mappings,\n- API methods - via express.js handlers and middlewares.\n\n[Read more on Storefront API modules](https://docs.storefrontapi.com/guide/modules/introduction.html)\n[Read more on The Default modules](https://docs.storefrontapi.com/guide/modules/default-modules/introduction.html)\n\n\u003cimg src=\"https://divante.com//github/storefront-api/storefront-api-architecture.png\" alt=\"Storefront API architecture\" /\u003e\n\n## Production-ready\n\nStorefront API originated from the [`vue-storefront-api`](https://github.com/DivanteLtd/vue-storefront-api) project and is currently [backing 30+ production sites](https://www.vuestorefront.io/live-projects/), including: [Zadig\u0026Voltaire](https://zadig-et-voltaire.com/pt/en/), [Klebefieber](https://www.klebefieber.de/), [Wonect](https://wonect.com/sg/) and others.\n\n## Documentation\n\nPlease check our [**Official documentation**](https://docs.storefrontapi.com/). You will find there some integration and customization tutorials, and the API specification.\n\n## Example use cases\n\n - **Headless eCommerce data source** for any React/Vue/Angular frontend connected to Magento or any other supported eCommerce platform,\n - **GraphQL Gateway** which takes data from **an existing REST API and mixes it** with ElasticSearch or Database data,\n - **Custom GraphQL schema** - optimized for your backend platform,\n - **Custom eCommerce Backend** - by implementing custom Cart, User, Stock modules and re-using the Catalog service.\n \n## Requirements\n\n- Docker and Docker Compose\n\nThe following are already included in the `storefront-api` Docker image, but required if you do not use containerization:\n- Node.js 10.x or higher\n- Yarn\n\n## REST Access\nCatalog API calls are compliant with ElasticSearch (they work like a filtering proxy to ES). More on ES query here: [ElasticSearch queries tutorial](http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html)\n\nThe Elastic search endpoint is: `http://localhost:8080/api/catalog/search/\u003cINDEX_NAME\u003e/`. You can run the following command to check if everything is up and runing (it assumes `vue_storefront_catalog` as the default index name):\n\n`curl -i http://elastic:changeme@localhost:8080/api/catalog/vue_storefront_catalog/_search`\n\n## Data formats\n\nThe data formats can be easily modified to suit your needs by modifying the `src/graphql/elasticsearch/**` schemas and resolvers.\nCheck our [GraphQL Schema documentation](https://divanteltd.github.io/storefront-graphql-api-schema/) for the details regarding data formats.\n\n## Adding custom modules with their dependencies (Yarn only)\nWhen adding custom modules(https://docs.storefrontapi.com/guide/modules/introduction.html), you might want to define some dependencies inside them. Thanks to [Yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/), dependencies defined inside your custom module will be installed when you execute `yarn` at the project root level, so it's way easier and faster than installing all modules dependencies separately.\n\nTo do this, define the `package.json` with your dependencies in your custom module:\n- `src/modules/{your-custom-extension}/package.json` \n- `src/platforms/{your-custom-platform}/package.json`\n\nNOTE: `npm` users will still have to install the dependencies individually in their modules.\n\n## Self-signed certificates\n\nIn non-production environments, other services often use self-signed certificates for secure connections.\nYou can easily set up the application to trust them by putting them in the config/certs directory.\n\n## Contributing\n\nIf you like the idea behind Vue Storefront and want to become a contributor, do not hesitate and check our [list of the issues](https://github.com/DivanteLtd/storefront-api/issues) or contact us directly via contributors@vuestorefront.io.\n\nIf you have discovered a bug, or have a feature suggestion, feel free to create an issue on Github.\n\n## The Story\n\nStorefront API is brought to you by the [**Vue Storefront Team**](https://www.vuestorefront.io/) and is based on [Vue Storefront API](https://github.com/DivanteLtd/vue-storefront-api). The intention is to replace vue-storefront-api with a more general-purpose API Gateway which you may use with any web or mobile frontend, including Vue, React, Angular and native apps. Its a drop-in replacement for `vue-storefront-api` if you happened to use it before. It works great with [Vue Storefront](https://github.com/DivanteLtd/vue-storefront).\n\n\u003cimg src=\"https://divante.com/github/storefront-api/graphql-playground.png\" alt=\"GraphQL Playground is included\"/\u003e\n\u003cem style=\"text-align:center;\"\u003eThis is a screenshot showing the GraphQL Playground on the storefront-api schema. \u003ca href=\"https://divanteltd.github.io/storefront-graphql-api-schema/\"\u003eCheck the schema docs\u003c/a\u003e. It can be 100% customized.\u003c/em\u003e\n\n\n## Partners\n\nStorefront API is a Community effort brought to you by our great **Vue Storefront Core Team** and supported by the following companies:\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://divante.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/github/shopware-pwa/Divante_logo_1.png\"\n            alt=\"Divante\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n          \u003ca href=\"https://vendic.nl/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/vendic-rood.png\"\n            alt=\"Vendic\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n     \u003ca href=\"https://www.getnoticed.nl/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/38860463-87a9fff4-4230-11e8-8017-e5ffb73e77f9.png\"\n            alt=\"Get.Noticed\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n       \u003ca href=\"https://www.bitbull.it/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/38270766-b0bc4fc0-3784-11e8-9463-99d88950ca9a.png\"\n            alt=\"Bitbull\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n       \u003ca href=\"https://www.sotechnology.co.uk/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/SOtech-logo%20(1).png\"\n            alt=\"SOtechnology\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://macopedia.com/pl\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/02/macopedia_blue_logo.png\"\n            alt=\"Macopedia\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://www.develodesign.co.uk/\"\u003e\n          \u003cimg\n            src=\"docs/.vuepress/public/partners/develo.png\"\n            alt=\"Develo design\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n         \u003ca href=\"https://www.phoenix-media.eu/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/PHOENIX_MEDIA_Logo_transparent.png\"\n            alt=\"Phoenix Media\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n       \u003ca href=\"https://www.absolutewebservices.com\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/absolute-logo.png\"\n            alt=\"Absolute Web Services\"\n            height=\"50\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n   \u003ca href=\"https://www.dnd.fr/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/dnd-logo.png\"\n            alt=\"Agency DnD\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n         \u003ca href=\"https://www.newfantastic.com\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/newfantasticLogo.png\"\n            alt=\"New Fantastic\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n       \u003ctd align=\"center\" valign=\"middle\"\u003e\n    \u003ca href=\"https://www.wagento.com\"\u003e\n          \u003cimg\n            src=\"https://www.wagento.com/hubfs/logo-standard-color@4x%20(1).png\"\n            alt=\"Wagento\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://www.summasolutions.net\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/summa_logo_horizontal_rgb.jpg\"\n            alt=\"Summa Solutions\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://novatize.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Novatize_Logo_K.png\"\n            alt=\"Novatize\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.imaginationmedia.com/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/39051477-0c46c1aa-44a9-11e8-8f53-0adabe3e66a4.png\"\n            alt=\"Imagination Media\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://magedirect.co/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/38415925-4a31e358-3993-11e8-9bee-b2b9af95d305.png\"\n            alt=\"MageDirect\"\n            width=\"100\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.edmondscommerce.co.uk/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/edmonds-ecommerce.png\"\n            alt=\"Edmonds Commerce\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.kt-team.ru/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/kt.team.png\"\n            alt=\"KT Team\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://magebit.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Magebit_150px.png\"\n            alt=\"MageBit\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://upsidelab.io/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/upside-logo@4x.png\"\n            alt=\"UpsideLab\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n       \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://meigee.team/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/meigee.png\"\n            alt=\"Meigee\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n         \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://webvisum.de/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Webvisium-Logo.png\"\n            alt=\"WebVisum\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n           \u003ca href=\"https://magenest.com/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/37145068-3326bdf8-22c0-11e8-9bc1-0b9b2377129f.png\"\n            alt=\"Magenest\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://viaict.com/\"\u003e\n          \u003cimg\n            src=\"https://www.viaict.com/img/viaict_flat_design_300.png\"\n            alt=\"Viaict\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n        \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://bemeir.com/vue-storefront\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/bemeir.png\"\n            alt=\"Bemeir\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n       \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"http://copex.io/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/copex-io-logo.png\"\n            alt=\"Copex.io\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n         \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.codilar.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/codilar_logo.png\"\n            alt=\"Codilar\"\n            height=\"50\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n        \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.mediact.nl/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Logo-MediaCT-XL.png\"\n            alt=\"MediaCT\"\n            height=\"50\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.improving.dk/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Improving_sh_logo.png\"\n            alt=\"Improving\"\n            height=\"50\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n       \u003ca href=\"https://www.ecommbits.com/en/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/37145348-ea9c8ba2-22c0-11e8-9a91-d1a1da9af782.png\"\n            alt=\"ECOMMBITS\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n       \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://www.devmetokyo.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/devMeTokyo-logo.png\"\n            alt=\"DevMe Tokyo\"\n            height=\"50\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://coreshopsolutions.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/coreshop-solutions.png\"\n            alt=\"CoreShop Solutions\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n       \u003ctd align=\"center\" valign=\"middle\"\u003e\n        \u003ca href=\"https://aureatelabs.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Aureate-Labs-Logo.png\"\n            alt=\"Aureate Labs\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.guapa.nl/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Guapa-color.png\"\n            alt=\"Guapa eCommerce\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"http://rightshore.consulting/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/rightshore-consulting.png\"\n            alt=\"Rightshore Consulting\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n         \u003ctr\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://webisoft.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/webisoft.png\"\n            alt=\"Webisoft\"\n            height=\"30\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"http://madepeople.se\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/MadePeople.png\"\n            alt=\"Made People\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n  \u003ca href=\"https://www.optiweb.com/\"\u003e\n          \u003cimg\n            src=\"https://user-images.githubusercontent.com/18116406/37145626-9d48077c-22c1-11e8-82fd-dda1268d05e9.png\"\n            alt=\"Optiweb\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.vaimo.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/vaimo-logo.png\"\n            alt=\"Vaimo\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.makingwaves.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/making-waves.png\"\n            alt=\"Making Waves\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.bluebirdday.nl/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Blue-Bird.png\"\n            alt=\"BlueBird Day\"\n            height=\"30\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://lightcom.io/\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/03/lightcom_logo.png\"\n            alt=\"Lightcom\"\n            height=\"25\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://portaltech.reply.com/portaltech/en/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Portaltech-Reply-LOGO-RGB.png\"\n            alt=\"Portaltech Reply\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"www.interactivated.nl\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/interactivated-logo.png\"\n            alt=\"Interactivated\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.sutunam.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Sutunam_H_Logo_LightBg.png\"\n            alt=\"Sutunam\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n    \u003ca href=\"http://www.acidgreen.com.au/\"\u003e\n          \u003cimg\n            src=\"https://cdn.dribbble.com/users/469310/screenshots/3865916/acidgreen_logo.jpg\"\n            alt=\"Acid Green\"\n            width=\"150\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.bergwerk.ag/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/BERGWERK_Logo.png\"\n            alt=\"BERGWERK\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://zero1.co.uk/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/zero-1_logo.png\"\n            alt=\"Zero1\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.novusweb.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/blue_novusweb.png\"\n            alt=\"Novusweb\"\n            height=\"30\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"www.trellis.co\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/trellis.png\"\n            alt=\"Trellis\"\n            height=\"30\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n      \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://ittweb.net/it?utm_source=referral\u0026utm_medium=vsf\u0026utm_campaign=partners\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/ITTweb.png\"\n            alt=\"ITT Web\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.yireo.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/yireo-logo-trans-520x520.png\"\n            alt=\"Yireo\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.tam-tam.co.jp\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/tam%20logo.png\"\n            alt=\"TAM\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.ambientia.ee/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Ambientia%20logo%20RED%20RGB.png\"\n            alt=\"Ambientia\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://performance-academy.pl/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/Perfomance_Academy_logo_large.png\"\n            alt=\"Performance Academy\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://sparksolutions.co/\"\u003e\n          \u003cimg\n            src=\"https://divante.co/partners/Vue-Storefront/logo%20spark%20kolor.png\"\n            alt=\"Spark Solutions\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.caupo.se/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/Caupo_logo_2019.svg\"\n            alt=\"Caupo\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://netformic.de/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/NF_Logo_2019_RGB@4x.png\"\n            alt=\"Netformic\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"http://www.highdigital.de/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/highdigital.png\"\n            alt=\"Highdigital\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://kiwicommerce.co.uk/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/KiwiCommerce%20Logo.png\"\n            alt=\"KiwiCommerce\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.helloevery1.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/every1-logo.png\"\n            alt=\"every1\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.solveda.com/\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/02/SOLVEDA_logo.png\"\n            alt=\"Solveda\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.devlineagency.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/devline.png\"\n            alt=\"Devline\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://appeal.digital/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/appeal-digital%20(1).png\"\n            alt=\"Appeal Digital\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.rvsmedia.co.uk/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/rvsmedia_logo.png\"\n            alt=\"RVS Media\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n        \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.hotwax.co/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/HotWax.png\"\n            alt=\"HotWax\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.sitewards.com/\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/sitewards-logo.png\"\n            alt=\"Sitewards\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://codecoda.com/en\"\u003e\n          \u003cimg\n            src=\"https://divante.com/partners/Vue-Storefront/codecoda-logo.png\"\n            alt=\"CodeCoda\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n         \u003ca href=\"https://bitbag.io/services/pwa-progressive-web-app/\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/02/BitBag_logo.png\"\n            alt=\"BitBag\"\n            height=\"40\" \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.ohmybrand.es/\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/02/ohmybrand_logo_blue.png\"\n            alt=\"Oh My Brand\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n            \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"https://www.2hatslogic.com/\"\u003e\n          \u003cimg\n            src=\"https://blog.vuestorefront.io/wp-content/uploads/2020/03/2hatslogic-logo.png\"\n            alt=\"2hatslogic\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"\"\u003e\n          \u003cimg\n            src=\"\"\n            alt=\"\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n     \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"\"\u003e\n          \u003cimg\n            src=\"\"\n            alt=\"\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\"\u003e\n    \u003ca href=\"\"\u003e\n          \u003cimg\n            src=\"\"\n            alt=\"\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n   \u003ctd align=\"center\" valign=\"middle\"\u003e\n\u003ca href=\"\"\u003e\n          \u003cimg\n            src=\"\"\n            alt=\"\"\n            height=\"40\"\n          \u003e\n        \u003c/a\u003e\n\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nPartners are encouraged to support the project in various ways - mostly by contributing to the source code, performing marketing activities, evangelizing and, of course, implementing production projects. We support our partners via dedicated contact channels, workshops, and by sharing leads from merchants interested in implementations.\n\nIf you would like to become our Partner, just let us know via contributors@vuestorefront.io.\n\n## License\n\n[MIT](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuestorefront%2Fstorefront-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuestorefront%2Fstorefront-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuestorefront%2Fstorefront-api/lists"}