All Projects → VirtoCommerce → Vc Storefront

VirtoCommerce / Vc Storefront

Licence: other
VirtoCommerce Storefront for ASP.NET Core 3.1 repository

Projects that are alternatives of or similar to Vc Storefront

Reaction
Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
Stars: ✭ 11,588 (+9398.36%)
Mutual labels:  ecommerce, shop, e-commerce, cart, marketplace, commerce, storefront
Example Storefront
Example Storefront is Reaction Commerce’s headless ecommerce storefront - Next.js, GraphQL, React. Built using Apollo Client and the commerce-focused React UI components provided in the Storefront Component Library (reactioncommerce/reaction-component-library). It connects with Reaction backend with the GraphQL API.
Stars: ✭ 471 (+286.07%)
Mutual labels:  ecommerce, shop, e-commerce, cart, marketplace, commerce, storefront
saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.
Stars: ✭ 15,824 (+12870.49%)
Mutual labels:  ecommerce, commerce, shop, storefront, e-commerce, cart
Smartstorenet
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
Stars: ✭ 2,363 (+1836.89%)
Mutual labels:  ecommerce, shop, e-commerce, cart, azure, liquid
Ever
Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces
Stars: ✭ 980 (+703.28%)
Mutual labels:  ecommerce, shop, e-commerce, marketplace, commerce, storefront
Smartstore
Open Source ASP.NET Core Enterprise eCommerce Shopping Cart Solution
Stars: ✭ 82 (-32.79%)
Mutual labels:  ecommerce, shop, e-commerce, cart, azure, liquid
Grandnode
Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.
Stars: ✭ 1,768 (+1349.18%)
Mutual labels:  ecommerce, shop, cart, marketplace, commerce, storefront
Saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.
Stars: ✭ 14,720 (+11965.57%)
Mutual labels:  ecommerce, shop, e-commerce, cart, commerce, storefront
Nopcommerce
The most popular open-source eCommerce shopping cart solution based on ASP.NET Core
Stars: ✭ 6,827 (+5495.9%)
Mutual labels:  ecommerce, shop, asp-net-core, e-commerce, cart
Yii2 fecshop
yii2 ( PHP ) fecmall(fecshop) core code used for ecommerce shop 多语言多货币多入口的开源电商 B2C 商城,支持移动端vue, app, html5,微信小程序微店,微信小程序商城等
Stars: ✭ 4,864 (+3886.89%)
Mutual labels:  ecommerce, shop, cart, b2c
Coreshop
CoreShop - Pimcore eCommerce
Stars: ✭ 193 (+58.2%)
Mutual labels:  ecommerce, shop, e-commerce, commerce
Aimeos Laravel
Laravel ecommerce package for professional, ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 5,204 (+4165.57%)
Mutual labels:  ecommerce, shop, e-commerce, marketplace
Aimeos Symfony
Symfony e-commerce bundle for professional, ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 194 (+59.02%)
Mutual labels:  ecommerce, shop, e-commerce, marketplace
Unchained
Headless & open-source e-commerce toolkit. The Unchained Engine is our core product and is written in Node.js ES6
Stars: ✭ 92 (-24.59%)
Mutual labels:  shop, e-commerce, cart, marketplace
Jet
Jet is an e-commerce framework for Amber / Crystal
Stars: ✭ 18 (-85.25%)
Mutual labels:  ecommerce, e-commerce, commerce, storefront
Aimeos Typo3
TYPO3 e-commerce extension for professional, ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 157 (+28.69%)
Mutual labels:  ecommerce, shop, e-commerce, marketplace
grandnode2
Free, Open source, Fast, Headless, Multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, LiteDB, Vue.js.
Stars: ✭ 626 (+413.11%)
Mutual labels:  ecommerce, marketplace, shop, asp-net-core
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+1186.89%)
Mutual labels:  ecommerce, shop, e-commerce, storefront
Spree
Open Source headless multi-language/multi-currency/multi-store eCommerce platform
Stars: ✭ 11,571 (+9384.43%)
Mutual labels:  ecommerce, shop, e-commerce, cart
mytek
Django e-commerce web application with advanced features
Stars: ✭ 27 (-77.87%)
Mutual labels:  ecommerce, shop, e-commerce, cart

Virto Commerce Storefront Kit Share on Facebook Tweet Latest release Total downloads License

Precaution! Storefront version 5 and above is backward NON-compatible with VirtoCommerce platform v2! Use only with platform v3.

Build status Quality Gate Lines of codeDocumentation Discourse topics Contributors

Deploy to Azure

Official online shopping website based on Virto Commerce Platform written on ASP.NET Core. The website is a client application for VC Platform and uses only public APIs while communicating.

It is possible to run multiple different stores (web sites) on top of Virto Commerce. Each store (website) might have its own theme with a specific layout still being based on the same catalog and customer data.

It is possible, for example, to create sites with a different design for different product categories still having all products in the same backend.

Another option is to create different sites for different regions so that a specific product set will be available to a specific region, is still based on one product data.

It is also possible to connect Virto Commerce to multiple touchpoints so that customers will get a real omnichannel experience.

Key features

  • Multi-Store support
  • Multi-Language support
  • Multi-Currency support
  • Multi-Themes support
  • Faceted search support
  • SEO friendly routing
  • Server-side rendering
  • Client-side rendering
  • Optimization for Desktop
  • Optimization for Tables
  • Optimization for Mobile

Business Requirements

  • Home page
  • Catalog browsing
  • Product page
  • Cart
  • Bulk add to cart
  • Multiple Whish lists and Mark favorites
  • Product compare
  • Anonymous Checkout process
  • Checkout process
  • Address verification
  • Integration with Tax providers
  • Integration Shippment and Payment methods
  • Place orders
  • Order Approve process
  • Offers
  • My Account
  • My Orders History
  • Reorder
  • Reorder
  • New Account verification
  • Self-registration
  • Forgot password
  • User permissions to manage their own account page
  • Catalog personalization
  • Price personalization (List and Sales prices)
  • Promotions
  • Coupons
  • Recommended products
  • Banner and dynamic content
  • User Groups - to build personalization
  • Configurable Branding and customization
  • Configurable navigation
  • CMS to build Static, Landing, Blog pages

References

Sample themes

Default theme

electronics

B2B theme

img_20102017_174148_0

Procurement Portal

img_20102017_174148_0

Business Portal

img_20102017_174148_0

Technologies and frameworks used

  • ASP.NET MVC Core 3.1.0 on .NET Core 3.1.0
  • ASP.NET Identity Core 3.1.0
  • REST services clients generation with using Microsoft AutoRest
  • Liquid view engine based on Scriban
  • LibSassHost for processing scss stylesheets in runtime

List of changes

  1. Changed settings, now we are using a new approach recommended by ASP.NET Core, we are using the appsettings.json file and strongly type options for working with settings from code.
  2. Authentication and authorization was completely rewritten according to using ASP.NET Identity Core.
  3. Default ASP.NET Core in-memory caching completely replaced the CacheManager used before.
  4. New more selective cache invalidation based on usage of CancellationChangeToken and strongly typed cache regions allows to display always actual content without performance lossing.
  5. New framework for working with domain events.
  6. Usage of ASP.NET Core middlewares
  7. Reworked the WorkContext initialization, it made more fluently.
  8. Usage of the latest version of Microsoft AutoRest
  9. Usage of ASP.NET Core Response Caching Middleware for FPC (full page caching).
  10. Use Build-in ASP.NET Dependency Injection instead Unity DI and IoC container.

Continuous Integration Supported by Browserstack

Cross-browser compatibility of the storefront is generously provided by Browserstack.

Browserstack

Deploy Storefront

If Platform and Storefront are deployed in the same on-premises environment, Storefront should be deployed on different port then Platform. You can do it by dotnet run CLI

Downloading the precomplied binaries

  • Navigate to the Releases section of Virto Commerce Storefront Kit in GitHub.

  • You will find VirtoCommerce.Storefront.5.x.x.zip file. In this file the site has already been built and can be run without additional compilation. The source code is not included.

  • Unpack this zip to a local directory C:\vc-storefront. After that you will have the directory with Storefront precompiled files.

Setup

Configure application strings

  • Open the appsettings.json file in a text editor.
  • In the Endpoint section change Url, UserName, Password with correct path and credentials for Virto Commerce Platform:
...
 "Endpoint": {
     "Url": "https://localhost:5001",
     "UserName": "admin",
     "Password": "store",

Configure CMS Content storage

Storefront appsettings.json file contains ContentConnectionString setting with pointed to the folder with actual themes and pages content

...
"ConnectionStrings": {
    //For themes stored in local file system
    "ContentConnectionString": "provider=LocalStorage;rootPath=~/cms-content"
	//For themes stored in azure blob storage
    //"ContentConnectionString" connectionString="provider=AzureBlobStorage;rootPath=cms-content;DefaultEndpointsProtocol=https;AccountName=yourAccountName;AccountKey=yourAccountKey"
  },
...

You can set this connection string in one of the following ways:

  1. Build and Copy theme to wwwroot\cms-content\{StoreName}\{ThemeName}
  2. If you have already have installed platform with sample data, your platform already contains ~/App_Data/cms-content folder with themes for sample stores and you need only to make symbolic link to this folder by this command:
    mklink /d C:\vc-storefront\VirtoCommerce.Storefront\wwwroot\cms-content C:\vc-platform\VirtoCommerce.Platform.Web\App_Data\cms-content
    

On Mac OS and Linux: console ln -s ~/vc-storefront/wwwroot/cms-content ~/vc-platform/wwwroot/cms-content

  1. If you did not install sample data with your platform, you need to create new store in platform manager and download themes as it described in this article: Theme development

Running the Storefront only on HTTP schema

  • In order to run the platform only at HTTP schema in production mode, it's enough to pass only HTTP URLs in --urls argument of the dotnet command.
  dotnet VirtoCommerce.Storefront.dll --urls=http://localhost:5002

Running the Platform on HTTPS schema

  • Install and trust HTTPS certificate

Run to trust the .NET Core SDK HTTPS development certificate:

    dotnet dev-certs https --trust

Read more about enforcing HTTPS in ASP.NET Core

    dotnet VirtoCommerce.Storefront.dll --urls=https://localhost:4302/
  • Trust the .Net Core Development Self-Signed Certificate. More details on trusting the self-signed certificate can be found here

Forward the scheme for Linux and non-IIS reverse proxies

Apps that call UseHttpsRedirection and UseHsts put a site into an infinite loop if deployed to an Azure Linux App Service, Azure Linux virtual machine (VM), Linux container or behind any other reverse proxy besides IIS. TLS is terminated by the reverse proxy, and Kestrel isn't made aware of the correct request scheme. OAuth and OIDC also fail in this configuration because they generate incorrect redirects. UseIISIntegration adds and configures Forwarded Headers Middleware when running behind IIS, but there's no matching automatic configuration for Linux (Apache or Nginx integration).

To forward the scheme from the proxy in non-IIS scenarios, set ASPNETCORE_FORWARDEDHEADERS_ENABLED environment variable to true.

For more details on how it works, see the Microsoft documentation.

License

Copyright (c) Virto Solutions LTD. All rights reserved.

Licensed under the Virto Commerce Open Software License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://virtocommerce.com/opensourcelicense

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].