TABLE OF CONTENTS
Znode is a .NET platform composed of 4 separate ASP.NET web applications hosted by IIS.
- Znode Api
- Znode Admin UI
- Znode Web Store UI
- Znode Payment API
All application code (excluding the UI) is written in C#.
The Znode frontend consists of two separate MVC applications, the Admin UI and the WebStore.
ASP.NET C# MVC
Razor view templates
Primarily server-side rendered pages
Ajax data interactions
Acts as API Gateway
The Znode backend is a single WebAPI application, known in the code, simply as the API.
ASP.NET C# WebApi
API resources = Controller classes
API endpoints = Controller methods
Entity Framework for easy SQL DB CRUD
Autofac for dependency injection
Znode persists data to 3 types of database systems, SQL Server, MongoDB, and Elasticsearch.
Normalized system of record for everything
Contains source data to recreate MongoDB and Elasticsearch data
Stores denormalized products and content for speed and scale
Supports product search
This diagram shows what a typical Znode deployment looks like.
This diagram shows a different view of the system, emphasizing the strict layering of responsibilities.