Profile
Back to NewsBack
GitHub Trending 5 min
Reader Mode
100NikhilBro/backend-engineering-foundations: Backend Engineering, Low-Level Design, System Design, Networking, Security, SQL, and Distributed Systems explained through visual diagrams.

100NikhilBro/backend-engineering-foundations: Backend Engineering, Low-Level Design, System Design, Networking, Security, SQL, and Distributed Systems explained through visual diagrams.

11 hours ago

Backend Engineering Foundations

A structured visual guide to Backend Engineering, System Design, Distributed Systems, Low Level Design, Databases, and Backend Security.

https://github.com/user-attachments/assets/9f99dac6-4dfe-4012-ab8f-3a70f4baa2d8


Learn backend engineering through structured visual diagrams designed for learning, revision, and interview preparation.

Related Repositories
> Networks Foundation
https://github.com/100NikhilBro/networks-foundation
> OS & DBMS Foundation
https://github.com/100NikhilBro/os_dbms
> Node.js Scaling Lab
https://github.com/100NikhilBro/nodejs-scaling-lab
> DevContainer Lab
https://github.com/100NikhilBro/devcontainer-lab

Purpose

This repository serves as a visual reference for:

  • Backend Engineering Fundamentals
  • Low Level Design (LLD)
  • Object-Oriented Design (OOD)
  • SOLID Principles
  • Design Patterns
  • System Design
  • Distributed Systems
  • Networking
  • Database Internals
  • Security Fundamentals
  • Scalability & Reliability Patterns
  • Technical Interview Preparation

Table of Contents


Low Level Design (LLD)

Contents

| No. | Diagram | |:--:|---------| | 1 | Approach to Solving a Design Problem | | 2 | Coupling & Cohesion | | 3 | Object vs Class | | 4 | Four Pillars of OOP | | 5 | Relationships in Object-Oriented Design | | 6 | SOLID Principles Overview | | 7 | Single Responsibility Principle (SRP) | | 8 | Open Closed Principle (OCP) | | 9 | Liskov Substitution Principle (LSP) | | 10 | Interface Segregation Principle (ISP) | | 11 | Dependency Inversion Principle (DIP) | | 12 | Singleton Pattern | | 13 | Factory Pattern | | 14 | Builder Pattern | | 15 | Adapter Pattern | | 16 | Strategy Pattern | | 17 | Observer Pattern | | 18 | Decorator Pattern | | 19 | Facade Pattern |


Approach to Solving a Design Problem

!Approach to Solving a Design Problem




Coupling & Cohesion

!Coupling & Cohesion




Object vs Class

!Object vs Class




Four Pillars of OOP

!Four Pillars of OOP




Relationships in Object-Oriented Design

!Relationships in Object-Oriented Design




SOLID Principles Overview

!SOLID Principles Overview




Single Responsibility Principle (SRP)

!Single Responsibility Principle




Open Closed Principle (OCP)

!Open Closed Principle




Liskov Substitution Principle (LSP)

!Liskov Substitution Principle




Interface Segregation Principle (ISP)

!Interface Segregation Principle




Dependency Inversion Principle (DIP)

!Dependency Inversion Principle





Singleton Pattern

!Singleton Pattern




Factory Pattern

!Factory Pattern




Builder Pattern

!Builder Pattern




Adapter Pattern

!Adapter Pattern




Strategy Pattern

!Strategy Pattern




Observer Pattern

!Observer Pattern




Decorator Pattern

!Decorator Pattern




Facade Pattern

!Facade Pattern








System Design & Backend

Contents

| No. | Diagram | |:--:|---------| | 1 | AWS Frequently Used Services Overview | | 2 | AWS Single Instance Deployment (Basic Overview) | | 3 | Proxy | | 4 | API Gateway & Load Balancer | | 5 | Load Balancer Overview | | 6 | Load Balancer Types (L4, L7, Active-Active, Active-Passive) | | 7 | Load Balancing Algorithms | | 8 | Content Delivery Network (CDN) | | 9 | Caching | | 10 | Rate Limiting | | 11 | Rate Limiting Algorithms | | 12 | Backpressure | | 13 | Queue | | 14 | Retry Mechanism | | 15 | Circuit Breaker Pattern | | 16 | Bulkheads Pattern | | 17 | Failover | | 18 | Failure Handling | | 19 | Graceful Degradation | | 20 | Concurrency vs Parallelism | | 21 | Processes & Threads | | 22 | Consistency Models | | 23 | Consistency in NoSQL | | 24 | PACELC Theorem | | 25 | Consistent Hashing | | 26 | Bloom Filter | | 27 | Merkle Tree | | 28 | Gossip Protocol & Database Failures | | 29 | Leader Election | | 30 | Quorum Algorithm | | 31 | Raft Consensus Algorithm - Part 1 | | 32 | Raft Consensus Algorithm - Part 2 | | 33 | Raft Consensus Algorithm - Part 3 | | 34 | Raft Consensus Algorithm - Part 4 | | 35 | Distributed Lock | | 36 | Federation | | 37 | HTTP Fundamentals - Part 1 | | 38 | HTTP Fundamentals - Part 2 | | 39 | Remote Procedure Call (RPC) | | 40 | Server-Sent Events (SSE) & Webhooks | | 41 | API Versioning | | 42 | Event Driven Architecture | | 43 | Payment Gateway Overview | | 44 | SQL Architecture | | 45 | Write-Ahead Logging & Database Recovery | | 46 | Isolation Levels & Locking | | 47 | Why Backend Shouldn't Serve Static Files |


AWS Frequently Used Services Overview

!AWS Frequently Used Services Overview




AWS Single Instance Deployment (Basic Overview)

!AWS Single Instance Deployment




Proxy

!Proxy




API Gateway & Load Balancer

!API Gateway & Load Balancer




Load Balancer Overview

!Load Balancer Overview




Load Balancer Types (L4, L7, Active-Active, Active-Passive)

!Load Balancer Types




Load Balancing Algorithms

!Load Balancing Algorithms




Content Delivery Network (CDN)

!CDN




Caching

!Caching




Rate Limiting

!Rate Limiting




Rate Limiting Algorithms

!Rate Limiting Algorithms




Backpressure

!Backpressure




Queue

!Queue




Retry Mechanism

!Retry Mechanism




Circuit Breaker Pattern

!Circuit Breaker Pattern




Bulkheads Pattern

!Bulkheads Pattern




Failover

!Failover




Failure Handling

!Failure Handling




Graceful Degradation

!Graceful Degradation




Concurrency vs Parallelism

!Concurrency vs Parallelism




Processes & Threads

!Processes & Threads




Consistency Models

!Consistency Models




Consistency in NoSQL

!Consistency in NoSQL




PACELC Theorem

!PACELC Theorem




Consistent Hashing

!Consistent Hashing




Bloom Filter

!Bloom Filter




Merkle Tree

!Merkle Tree




Gossip Protocol & Database Failures

!Gossip Protocol & Database Failures




Leader Election

!Leader Election




Quorum Algorithm

!Quorum Algorithm




Raft Consensus Algorithm - Part 1

!Raft Consensus Algorithm - Part 1




Raft Consensus Algorithm - Part 2

!Raft Consensus Algorithm - Part 2




Raft Consensus Algorithm - Part 3

!Raft Consensus Algorithm - Part 3




Raft Consensus Algorithm - Part 4

!Raft Consensus Algorithm - Part 4




Distributed Lock

!Distributed Lock




Federation

!Federation




HTTP Fundamentals - Part 1

!HTTP Fundamentals - Part 1




HTTP Fundamentals - Part 2

!HTTP Fundamentals - Part 2




Remote Procedure Call (RPC)

!RPC




Server-Sent Events (SSE) & Webhooks

!SSE & Webhooks




API Versioning

!API Versioning




Event Driven Architecture

!Event Driven Architecture




Payment Gateway Overview

!Payment Gateway Overview




SQL Architecture

!SQL Architecture




Write-Ahead Logging & Database Recovery

!Write-Ahead Logging & Database Recovery




Isolation Levels & Locking

!Isolation Levels & Locking




Why Backend Shouldn't Serve Static Files

!Why Backend Shouldn't Serve Static Files








Security

Contents

| No. | Diagram | |:--:|---------| | 1 | Authentication vs Authorization | | 2 | Cookies, Sessions & Replay Attacks | | 3 | Browser Security | | 4 | Privilege Escalation, CSRF, XSS & Injection Attacks |


Authentication vs Authorization

!Authentication vs Authorization




Cookies, Sessions & Replay Attacks

!Cookies, Sessions & Replay Attacks




Browser Security

!Browser Security




Privilege Escalation, CSRF, XSS & Injection Attacks

!Privilege Escalation, CSRF, XSS & Injection Attacks








SQL

Contents

| No. | Diagram | |:--:|---------| | 1 | Subqueries | | 2 | CTEs & Views | | 3 | SQL Comparison - Subquery vs CTE vs Temp Table vs CTAS vs Views | | 4 | Window Functions | | 5 | Regular Expressions | | 6 | Database Indexing | | 7 | Clustered vs Non-Clustered Indexes |


Subqueries

!Subqueries




CTEs & Views

!CTEs & Views




SQL Comparison - Subquery vs CTE vs Temp Table vs CTAS vs Views

!SQL Comparison




Window Functions

!Window Functions




Regular Expressions

!Regular Expressions




Database Indexing

!Database Indexing




Clustered vs Non-Clustered Indexes

!Clustered vs Non-Clustered Indexes





Ongoing Work

New concepts, diagrams, and improvements are added regularly as the repository evolves. If this repository adds value to your learning journey, a ⭐ is always appreciated.

Author

Built and maintained by Nikhil Gupta.

Chat with me