Convert Figma logo to code with AI

VirtoCommerce logovc-platform

Virto Commerce B2B Innovation Platform

1,226
848
1,226
57

Top Related Projects

ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.

PrestaShop is the universal open-source software platform to build your e-commerce solution.

11,507

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.

Shopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 1.500 community extensions

A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.

Quick Overview

VirtoCommerce/vc-platform is an open-source e-commerce platform built on .NET Core. It provides a flexible and scalable foundation for creating custom e-commerce solutions, with a focus on B2B and B2C scenarios. The platform offers a modular architecture, allowing for easy customization and extension of functionality.

Pros

  • Highly customizable and extensible due to its modular architecture
  • Supports both B2B and B2C e-commerce scenarios
  • Built on modern technologies like .NET Core, providing good performance and cross-platform compatibility
  • Active community and regular updates

Cons

  • Steeper learning curve compared to some other e-commerce platforms
  • Documentation could be more comprehensive for some advanced topics
  • Requires technical expertise to fully leverage its capabilities
  • Smaller ecosystem compared to some more established e-commerce platforms

Getting Started

To get started with VirtoCommerce Platform:

  1. Clone the repository:

    git clone https://github.com/VirtoCommerce/vc-platform.git
    
  2. Navigate to the project directory:

    cd vc-platform
    
  3. Build and run the platform:

    dotnet build
    dotnet run --project src/VirtoCommerce.Platform.Web/VirtoCommerce.Platform.Web.csproj
    
  4. Open a web browser and go to http://localhost:5000 to access the platform.

  5. Log in with the default credentials:

    • Username: admin
    • Password: store

For more detailed instructions and configuration options, refer to the official documentation on the GitHub repository.

Competitor Comparisons

ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.

Pros of nopCommerce

  • More active community with frequent updates and contributions
  • Extensive plugin ecosystem for easy customization
  • Better documentation and learning resources

Cons of nopCommerce

  • Less flexible architecture, making it harder to scale for large enterprises
  • Limited multi-store and multi-vendor capabilities out of the box
  • Steeper learning curve for developers new to the platform

Code Comparison

nopCommerce (Product.cs):

public partial class Product : BaseEntity, ILocalizedEntity, ISlugSupported, IDiscountSupported
{
    public string Name { get; set; }
    public string ShortDescription { get; set; }
    public string FullDescription { get; set; }
    public bool Published { get; set; }
}

vc-platform (Product.cs):

public class Product : AuditableEntity, IHasOuterId
{
    public string Name { get; set; }
    public string Code { get; set; }
    public string OuterId { get; set; }
    public bool IsActive { get; set; }
}

Both platforms use similar object-oriented approaches for product modeling, but vc-platform's implementation is more streamlined and focuses on core attributes. nopCommerce includes additional interfaces for localization and discounts, reflecting its more feature-rich nature out of the box.

PrestaShop is the universal open-source software platform to build your e-commerce solution.

Pros of PrestaShop

  • Larger community and ecosystem with more themes and modules available
  • More user-friendly for non-technical store owners
  • Better suited for small to medium-sized businesses

Cons of PrestaShop

  • Less flexible for custom development and enterprise-level scaling
  • Performance can be slower, especially with many modules installed
  • Older technology stack (PHP) compared to vc-platform's .NET Core

Code Comparison

PrestaShop (PHP):

public function hookDisplayHeader($params)
{
    $this->context->controller->addCSS($this->_path.'views/css/front.css');
    $this->context->controller->addJS($this->_path.'views/js/front.js');
}

vc-platform (C#):

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    }
}

The code snippets highlight the different technologies used: PrestaShop uses PHP for its hooks and asset management, while vc-platform uses C# with ASP.NET Core for service configuration. This reflects the more modern approach of vc-platform, which may offer better performance and scalability for larger e-commerce projects.

11,507

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.

Pros of Magento 2

  • Larger community and ecosystem, with more extensions and resources available
  • More comprehensive out-of-the-box features for complex e-commerce scenarios
  • Better documentation and learning resources for developers

Cons of Magento 2

  • Steeper learning curve and more complex architecture
  • Higher resource requirements and potentially slower performance
  • More challenging customization process due to its size and complexity

Code Comparison

vc-platform (C#):

public class CartController : StorefrontControllerBase
{
    [HttpPost("cart/additem")]
    public async Task<ActionResult<ShoppingCart>> AddItemToCart([FromBody] AddCartItem addCartItem)
    {
        // Implementation
    }
}

Magento 2 (PHP):

class CartController extends Action
{
    public function addAction()
    {
        $cart = $this->_getCart();
        $params = $this->getRequest()->getParams();
        // Implementation
    }
}

Both platforms use MVC architecture, but vc-platform leverages C# and .NET Core, while Magento 2 uses PHP. The code structure reflects their respective language paradigms, with vc-platform using async/await patterns and Magento 2 following a more traditional PHP approach.

Shopware 6 is an open commerce platform based on Symfony Framework and Vue and supported by a worldwide community and more than 1.500 community extensions

Pros of Shopware

  • More active community with frequent updates and contributions
  • Extensive plugin ecosystem for easy customization and feature extension
  • User-friendly administration interface for non-technical users

Cons of Shopware

  • Steeper learning curve for developers new to the Shopware ecosystem
  • Less flexibility for large-scale enterprise solutions compared to vc-platform
  • Higher resource requirements for optimal performance

Code Comparison

vc-platform (C#):

public class ProductController : StorefrontControllerBase
{
    [HttpGet("products/{productId}")]
    public async Task<ActionResult<ProductDetails>> GetProductDetails(string productId)
    {
        // Implementation
    }
}

Shopware (PHP):

class ProductController extends StorefrontController
{
    #[Route(path: '/product/{productId}', name: 'frontend.product.detail', methods: ['GET'])]
    public function detail(string $productId, Request $request): Response
    {
        // Implementation
    }
}

Both platforms use MVC architecture, but vc-platform leverages C# and ASP.NET Core, while Shopware uses PHP and Symfony. Shopware's routing is more declarative with attributes, while vc-platform uses more traditional attribute-based routing.

A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.

Pros of OpenCart

  • Simpler setup and easier to use for beginners
  • Larger community and more third-party extensions available
  • Lower resource requirements, suitable for shared hosting

Cons of OpenCart

  • Less scalable for large enterprises or complex B2B scenarios
  • Limited built-in features compared to vc-platform
  • Older technology stack (PHP) may be less appealing to some developers

Code Comparison

vc-platform (C#):

public class CartController : StorefrontControllerBase
{
    [HttpPost("cart/items")]
    public async Task<ActionResult<ShoppingCart>> AddItemToCart([FromBody] AddCartItem addCartItem)
    {
        // Implementation
    }
}

OpenCart (PHP):

class ControllerCheckoutCart extends Controller {
    public function add() {
        $this->load->language('checkout/cart');
        $json = array();
        // Implementation
    }
}

The code comparison shows that vc-platform uses a more modern, strongly-typed approach with C# and ASP.NET Core, while OpenCart uses a traditional PHP structure. vc-platform's code is more organized and follows RESTful API conventions, whereas OpenCart's code is more procedural and tightly coupled with the view layer.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Virto Commerce B2B Innovation Platform

Share on Facebook Tweet Latest release Total downloads License

CI status Quality gate Reliability rating Security rating Sqale rating Lines of code

Documentation  Commnunity  Contributors

Deploy to Azure

Virto Commerce is an open-source platform for building extensible ecommerce applications. This includes complex digital commerce solutions for B2B, B2C, or B2B2C businesses, marketplaces, and derived SaaS commerce platforms.

Virto Commerce architecture is based on such principles as Microservices, API-first, Cloud-native, Headless, and Advanced Extensibility.

Principles

The main principle is to help the development teams focus on the implementation of business features without worrying about CLEAN ARCHITECTURE.

  • Atomic Architecture: Assemble your scalable ecommerce solution by selecting ready-to-use modules that serve all your digital needs.
  • MICROSERVICES: Every application is built from headless microservices (modules). Applications and microservices are not limited to composite applications, they can also be used for building any other application and hence are functionally independent.
  • API-FIRST: Ecommerce service with the right API design. All business logic is accessible via API, either Rest or GraphQL.
  • CLOUD NATIVE: Ecommerce service is delivered in line with the SaaS model. This adds significant benefits for your business:
    1. On-demand: Use the ecommerce service as a whole or its separate components as needed.
    2. Scalability: In the cloud, it can be easily scaled to support peak demand and long-term business growth.
    3. Reliability: Leverage a solution deployed across multiple data centres and availability zones to maximize uptime and reduce potential revenue losses.
  • HEADLESS: Allows an enterprise to support omnichannel journeys across traditional and digital touchpoints as well as new business models.
  • EXTENSIBILITY AND COMPOSABILITY: API model, persistence model, and business logic can be extended as needed without deploying or re-deploying the solution. This provides superior business agility and keeps you and your service up to date.

Overview

The following chart illustrates the high-level architecture and main areas of the Virto Commerce solutions:

Virto Commerce Architecture Reference

Virto Commerce Platform: Launches the ecommerce applications in the public, hybrid, and private cloud environments.

Commerce Applications: API-based, modular and extensible logical set of one or more headless microservices (modules) with a focus on the implementation of the business feature, such as Digital Catalog, Order Management, Content Management, Marketing, etc.

Custom Extensions: Virto Commerce Module that enables extending API model, persistent model, business logic, and admin UI within the commerce applications.

External Commerce Applications: Third-party ecommerce applications and services.

Touchpoints: Sell your products on the website, through a mobile application, chatbot or any third-party services: marketplace, dropshipping, or any other option you create. Virto Commerce Storefront Kit allows you to manage various brands and stores in the same environment and with the same features.

Admin SPA: Virto Commerce has an extensible and intuitive admin user interface, which allows you to manage data within your commerce applications across all channels.

Integration middleware: Asynchronous integration middleware for declarative integration with non-real-time and legacy services.

Introduction to Virto Commerce

These Virto Commerce docs will help you learn and use the Virto Commerce platform, from your local solution to optimizing complex enterprise builds:

Technology Stack Used

In our work, we make every effort to always use advanced technologies. We picked the techs below as a result of our extensive experience in working with Microsoft products:

  • .NET and ASP.NET Core as base platform
  • EF Core as primary ORM
  • ASP.NET Core Identity for authentication and authorization
  • OpenIddict for OAuth authentication
  • WebPack as primary design/runtime bundler and minified
  • Swashbuckle.AspNetCore.SwaggerGen for Swagger docs and UI
  • SignalR Core for push notifications
  • AngularJS as a primary framework for SPA
  • HangFire for running background tasks

References

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/open-source-license

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