Designing Bomberman with an Entity System: Which Components?
This article discusses the design of Bomberman game using an entity system. It provides rules of thumb for designing components in a game based on an entity system. The author lists behaviors and data...
Kafka Retries and Maintaining the Order of Retry Events
In a microservices system, retries are crucial especially when a service goes down. But with an event-driven architecture and Kafka consuming events, retry strategies become more complex. This article...
Open Data Structures (in pseudocode) Edition 0.1G by Pat Morin
This book offers an introduction to data structures and their use in algorithm design. The focus is on the mathematical analysis of these structures, including their time and space complexity. Beginni...
PlantUML layout and styles tutorial
With PlantUML, you can create diagrams as plain text code. This tutorial explains how to customize the layout and styles of your diagrams while using PlantUML. It covers topics such as flow and arrow ...
Real World PlantUML
This JSON structure contains information about different types of diagrams created using PlantUML. The summary includes details about the different types of diagrams such as Sequence, Use Case, Class,...
ZeroQL - C# friendly GraphQL
ZeroQL is a C# friendly GraphQL client that provides a Linq-like interface for building queries. It offers type-safe API for simplifying integration between app parts. With an excellent performance eq...
The Difference Between TypeScript Unions, Enums, and Objects
In this guide, we explore the similarities and differences between TypeScript unions, enums, and objects. We discuss when to use each feature, and why unions and objects should be the backbone of most...
A Deep Dive Into Idempotence: What it is and how to use it
In this article, Yuchen Z. explains the concept of idempotence - what it is, how it works, and how to use it properly in your software development projects. Starting with a simple use case in a single...
Onion Architecture: A Flexible Approach to Developing Software
Domain-driven design is an approach to developing software thats connected to an evolving model of core business concepts. Onion architecture is built on this concept, with layers connected through in...
Automatic C4 diagrams for a distributed microservice ecosystem with GitHub Actions
Documenting components and their relations in a distributed microservice ecosystem is crucial to maintain clarity and avoid confusion. The C4 Model provides a compact and clear way to describe the sys...
Principles & Best practices of REST API Design
This best-practices article provides guidelines for developers to create reliable and consistent RESTful Web services across multiple service suites, positioning them for rapid public adoption by inte...
Top 10 Architecture Characteristics / Non-Functional Requirements with Cheatsheet
In this article, Love Sharma explores the top 10 characteristics of software architecture, also known as non-functional requirements, and provides a cheatsheet for implementing them. Just like with bu...
Architecture as Code with C4 and Plantuml
Bertrand Florat discusses the use of C4 model to represent the architecture of a large microservices-based project. The article covers different architecture views, including the application view, sof...
How to Document Software Architecture?
Every application has an architecture that constantly evolves. Its important to not only pass everything related to it to the team but also keep the information up to date. This article focuses on how...
IcePanel | The C4 model collaboration tool
IcePanel is a powerful collaboration tool for software engineering and product teams that allows you to align on technical decisions with ease. With IcePanel, you can visually design C4 model diagrams...
Product Architecture Document Template
GitHub is a comprehensive platform for all software development needs. The platform offers a range of services such as Automate any workflow, Host and manage packages, Find and fix vulnerabilities, In...
# PlantUML Icon-Font Sprites
This JSON structure contains information about PlantUML Icon-Font Sprites. To get started with this feature, you would require common.puml. You can include it either through the local directory or via...
Barfi: A Python visual Flow Based Programming library
Barfi is a Flow Based Programming environment in Python that provides a graphical programming interface. The library integrates easily into your existing Python workflows using `barfi.Block`s and `bar...
Build a Real-time Data Analytics Pipeline with Airbyte, Kafka, and Pinot
Learn how to use Airbyte, Kafka, and Pinot to build a real-time data pipeline for a user-facing analytics dashboard. This article explores three popular open-source products in the data space, Airbyte...
Difference between API Observability and API Monitoring
API monitoring and observability are ways of monitoring application program interfaces (APIs) to gain insight into their availability, performance, and proper functionality. The article discusses the ...