/vc-platform

VirtoCommerce Platform repository

Primary LanguageC#OtherNOASSERTION

Virto Commerce Platform - Extensible Ecommerce Applications

Share on Facebook Tweet Latest release Total downloads License

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

Documentation Discourse topics 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.

  • 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 centers 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.

Architecture 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 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 withing the commerce applications.

External Commerce Applications: Third party ecommerce applications and services.

Touchpoints: Sell your products on the website, through 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 under 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 in learning and using 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 Core 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 minifier
  • 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

Comparison with 2.x

In the new version, we changed our primary technology stack to .NET Core for the platform application and all key modules. We also resolved known technical and architecture design issues we had in 2.x: caching, overloaded core module, asynchronous code, platform complexity, extensibility, performance, and authentication.

Besides, we improved the extensibility and unification of the application. The unified architecture and using best practices reduce the training time for developers who are just starting to work with Virto Commerce.

Virto Commerce Platform v3 helps you increase the development speed and significantly reduce time to market.

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.