Architectural Insights
Here we explore the architecture and flows of our application, From the underlying technology stack to the design patterns and data flows, We will walk you through the inner workings of our application.
- Technologies Architecture
- Architecture Diagrams For Creating New Online Store using vsEcom
- Merchant Login Flow
- License Flow
- Subscription Flow
- Engine Flow
- Architecture Diagram For vsEcom Engine
- Inventory Flow
- Editor Flow
- Template Theme Editing Flow
- Template Colors Editing Flow
- Template Heading Or Text Editing Flow
- Template Images Adding To Gallery Flow
On this page
- Technologies Architecture
- Architecture Diagrams For Creating New Online Store using vsEcom
- Merchant Login Flow
- License Flow
- Subscription Flow
- Engine Flow
- Architecture Diagram For vsEcom Engine
- Inventory Flow
- Editor Flow
- Template Theme Editing Flow
- Template Colors Editing Flow
- Template Heading Or Text Editing Flow
- Template Images Adding To Gallery Flow
Technologies Architecture
Frontend Frameworks
👉 Angular
👉 Ionic
Backend Frameworks
👉 ASP.Net Core 6
👉 ASP.Net Core 3.2
👉 ASP.Net Web API
DATABASES
👉 Microsoft SQL Server
👉 MongoDB

Architecture Diagrams For Creating New Online Store using vsEcom
These are the Flow Diagrams for Creating Your Online Store using vsEcom

A merchant can create new store through Mobile or Website After he/she fills the register form and enters submit the request will go through the control panel and store the data in different applications which includes auth, license, subscription, engine and finally launch the store through launcher.

A merchant can come by two ways to vsEcom, first one is he can directly come from my.vsecommerce website with default template, and second one is by selecting a template from our vsEcom website. After he/she fills the register form and enters submit the request will go through the control panel and store the data in different applications which includes auth, license, subscription, engine and finally launch the store through launcher.

Merchant Login Flow
It Checks the registered merchant from auth and then generates Tokens.

License Flow
There is only one license per user with which he can create only three stores license details

Subscription Flow
To get the merchant subscription details a call is made to the control panel which in turn makes a call to the license service which returns the license details . Now with license details the control panel makes a call to the subscription service which returns the subscription details

Engine Flow
● First merchant sends a request to engine with auth_token and domain_id to get the engine_token.
● Now the engine calls a service within which the following calls takes place:
● First upon successful validation of auth_token a request is send to the auth service with auth_token which returns the auth_id
● With this auth_id and domain_id the service checks the engine_database for a valid user and returns the user_id if the user exists.
● With this user_id we get permissions details from database
● Now with user_id a call is made to the license service which returns the license details
● Now with the license details a call is made to the subscription service which returns the subscription details
● Now the service returns the subscription status based on the subscription details & finally the service generates a JWT token with details of user_id, permissions, subscription_status and returns it.

Architecture Diagram For vsEcom Engine
● The Engine has 4 Modules:
👉 Controllers
👉 Domain
👉 Persistence
👉 Utilities
● The Controller contains all the api for the USER and MERCHANT endpoints.
● Utilities is the one which contains the data of Enums , Mail and message Services.
● The Domain Contains the data of DTO, ResultSet, Services, Queries
👉 The object mapper used to mapping the DTO and table classes also with result set and table classes
● The Persistence contains the DataContext and EFContext
👉 DataContext has the information of table in The Databases
👉 EFContext is used to execute the cte queries

Inventory Flow
Inventory management is an organized approach to maintain the storing, tracking, and availability of a product.


Editor Flow
To access the editor, the merchant can navigate to the app and select the desired template to edit. Once the template has been selected, the merchant can click on the edit option, which will load the template in an Iframe. On the left-hand side, various options will be displayed for editing the template.

Template Theme Editing Flow
To change the theme, the merchant can select the themes option and make the necessary changes. This will call the control panel and request data from the launcher, which will update the MongoDB and retrieve the relevant files with updated Theme. These files will then be written in JSON format.

Template Colors Editing Flow
If changes are made to the color, font size, font type, or other related settings, the rootStyle.css file will be updated accordingly.

Template Heading Or Text Editing Flow
Similarly, any changes made to the store name, offers text, and other content will be reflected in the EN-US.json file.

Template Images Adding To Gallery Flow
If we want to add any Images and post them in the site the changes made are updated in config_data.json file.
