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.


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.


Architectural patterns that separate applications into three main logical components Model, View, and Controller

Design Patterns (Factory, Strategy, Observer, Middlewares, Singeltone, State)

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.

Microservices VS Monolit

Monolith means composed all in one piece. The Monolithic application describes a single-tiered software application in which different components combined into a single program from a single platform. Microservices are an approach to application development in which a large application is built as a suite of modular services (i.e. loosely coupled modules/components). Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other sets of services.

Microservices communication techniques

This skill is about (Message-Broker (RabbitMQ, Apache Kafka, ActiveMQ, Azure Service Bus); Message-Bus (Distribus, BusMQ), etc.) Choosing the mode of communication is a fundamental decision which 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.

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.