The software architecture of a system depicts the system’s organization or structure and provides an explanation of how it behaves. A system represents the collection of components that accomplish a specific function or set of functions. In other words, the software architecture provides a sturdy foundation on which software can be built.

Includes knowledge areas

Data Structure and Algorithms

Algorithm is a step-by-step procedure, which defines a set of instructions to be executed in a certain order to get the desired output. From the data structure point of view, following are some important categories of algorithms: Search; Sort; Insert; Update; Delete.


Serverless is a cloud-native development model that allows developers to build and run applications without having to manage servers.

Design of High Availability and High Load applications

High availability architecture is an approach to defining the components, modules, or implementation of services of a system that ensures optimal operational performance, even at times of high loads. Although there are no fixed rules for implementing High Availability systems, there are generally a few good practices that one must follow so that you gain the most out of the least resources.

Design Patterns

Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. Few of them for example - Factory, Strategy, Observer, Middlewares, Singeltone, State.


Architecture AntiPatterns focus on the system-level and enterprise-level structure of applications and components. If design patterns are the good guys, then the anti-patterns are the bad guys. And sometimes a good guy can turn into a bad guy. This happens in Hollywood movies, but it also happens in software engineering.


REST and SOAP are 2 different approaches to online data transmission. Specifically, both define how to build application programming interfaces (APIs), which allow data to be communicated between web applications.


The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables an organization to evolve its technology stack.

Microservices communication techniques

Choosing the mode of communication is a fundamental decision that needs to be taken with great care. Services must handle requests from the application’s clients. Furthermore, services often collaborate to handle those requests. Consequently, they must use an inter-process communication protocol. This skill is about (Message-Broker (RabbitMQ, Apache Kafka, ActiveMQ, Azure Service Bus); Message-Bus (Distribus, BusMQ), etc.)

Event Driven applications

An Event-Driven Architecture for data and applications is a modern design approach centered around data that describes “events” (i.e., something that just happened). Examples of events include the taking of measurement, the pressing of a button, or the swiping of a credit card. In an event-driven architecture, decoupled applications can asynchronously publish and subscribe to events via an event broker (modern messaging-oriented-middleware).

SOA (Service-Oriented Architecture)

Service-Oriented Architecture (SOA) is a stage in the evolution of application development and/or integration. It defines a way to make software components reusable using the interfaces.

DDD (Data Driven Development)

Data-driven development in software engineering accepts the central role that data in its primary form takes in the applications that software developers create.

Is a part of:



The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.