mirror of
https://github.com/ByteByteGoHq/system-design-101.git
synced 2026-04-08 11:17:24 -04:00
Adds ByteByteGo guides and links (#106)
This PR adds all the guides from [Visual Guides](https://bytebytego.com/guides/) section on bytebytego to the repository with proper links. - [x] Markdown files for guides and categories are placed inside `data/guides` and `data/categories` - [x] Guide links in readme are auto-generated using `scripts/readme.ts`. Everytime you run the script `npm run update-readme`, it reads the categories and guides from the above mentioned folders, generate production links for guides and categories and populate the table of content in the readme. This ensures that any future guides and categories will automatically get added to the readme. - [x] Sorting inside the readme matches the actual category and guides sorting on production
This commit is contained in:
9
data/categories/ai-machine-learning.md
Normal file
9
data/categories/ai-machine-learning.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'AI and Machine Learning'
|
||||
description: 'Learn the basics of AI and Machine Learning, how they work, and some real-world applications with visual illustrations.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/brain.png'
|
||||
sort: 120
|
||||
---
|
||||
|
||||
AI and Machine Learning are two of the most popular technologies in the tech industry. They are used in various applications such as recommendation systems, image recognition, natural language processing, and more. In this guide, we will explore the basics of AI and Machine Learning, how they work, and some real-world applications.
|
||||
11
data/categories/api-web-development.md
Normal file
11
data/categories/api-web-development.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: 'API and Web Development'
|
||||
description: 'Learn how APIs enable web development by providing standardized protocols for data exchange between different parts of web applications.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/api.png'
|
||||
sort: 100
|
||||
---
|
||||
|
||||
Web development involves building websites and applications by combining frontend UI, backend logic, and databases. APIs are the fundamental building blocks that enable these components to communicate effectively.
|
||||
|
||||
APIs provide standardized protocols for data exchange between different parts of web applications. Using technologies like REST and GraphQL, APIs allow integration of services, database operations, and interactive features while keeping system components cleanly separated.
|
||||
9
data/categories/caching-performance.md
Normal file
9
data/categories/caching-performance.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Caching & Performance'
|
||||
description: 'Learn to improve the performance of your system by caching data with these visual guides.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/order.png'
|
||||
sort: 150
|
||||
---
|
||||
|
||||
Caching is a technique that stores a copy of a given resource and serves it back when requested. When a web server renders a web page, it stores the result of the page rendering in a cache. The next time the web page is requested, the server serves the cached page without re-rendering the page. This process reduces the time needed to generate the web page and reduces the load on the server.
|
||||
9
data/categories/cloud-distributed-systems.md
Normal file
9
data/categories/cloud-distributed-systems.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Cloud & Distributed Systems'
|
||||
description: 'Learn the fundamental concepts, best practices, and real-world examples of cloud computing and distributed systems.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/cloud.png'
|
||||
sort: 180
|
||||
---
|
||||
|
||||
Cloud computing and distributed systems are the backbone of modern software architecture. They enable us to build scalable, reliable, and high-performance systems. This category covers the fundamental concepts, best practices, and real-world examples of cloud computing and distributed systems.
|
||||
9
data/categories/computer-fundamentals.md
Normal file
9
data/categories/computer-fundamentals.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Computer Fundamentals'
|
||||
description: 'Understanding computer fundamentals is essential for software engineers. These guides cover the topics that are fundamental to computer science and software engineering and will help you understand certain system design aspects better.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/laptop.png'
|
||||
sort: 220
|
||||
---
|
||||
|
||||
Understanding computer fundamentals is essential for software engineers. These guides cover the topics that are fundamental to computer science and software engineering and will help you understand certain system design aspects better.
|
||||
9
data/categories/database-and-storage.md
Normal file
9
data/categories/database-and-storage.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Database and Storage'
|
||||
description: 'Understand the different types of databases and storage solutions and how to choose the right one for your application.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/database.png'
|
||||
sort: 130
|
||||
---
|
||||
|
||||
Databases are the backbone of most modern applications since they store and manage the data that powers the application. There are many types of databases, including relational databases, NoSQL databases, in-memory databases, and key-value stores. Each type of database has its own strengths and weaknesses, and the best choice depends on the specific requirements of the application.
|
||||
11
data/categories/devops-cicd.md
Normal file
11
data/categories/devops-cicd.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: 'DevOps and CI/CD'
|
||||
description: 'Learn all about DevOps, CI/CD, and how they can help you deliver software faster and more reliably. Understand the best practices and tools to implement DevOps and CI/CD in your organization.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/refresh.png'
|
||||
sort: 200
|
||||
---
|
||||
|
||||
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from Agile methodology.
|
||||
|
||||
CI/CD stands for Continuous Integration and Continuous Delivery. CI/CD is a method to frequently deliver apps to customers by introducing automation into the stages of app development. The main concepts attributed to CI/CD are continuous integration, continuous delivery, and continuous deployment.
|
||||
9
data/categories/devtools-productivity.md
Normal file
9
data/categories/devtools-productivity.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'DevTools & Productivity'
|
||||
description: 'Guides on developer tools and productivity techniques to help you become more efficient in your daily work.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/supplement-bottle.png'
|
||||
sort: 170
|
||||
---
|
||||
|
||||
Developer and productivity tools are essential for software engineers to build, test, and deploy software. This collection of guides covers a wide range of tools and techniques to help you become more productive and efficient in your daily work.
|
||||
9
data/categories/how-it-works.md
Normal file
9
data/categories/how-it-works.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'How it Works?'
|
||||
description: 'Go deep into the internals of how things work with these visual guides ranging from OAuth2 to how the internet works.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/question-mark.png'
|
||||
sort: 190
|
||||
---
|
||||
|
||||
Learning how things work is a great way to understand the world around us. This collection of guides will help you understand how things work in the world of system design.
|
||||
9
data/categories/payment-and-fintech.md
Normal file
9
data/categories/payment-and-fintech.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Payment and Fintech'
|
||||
description: 'Explore the architecture of a payment system and a fintech system. Look at the real-world examples of payment systems like PayPal, Stripe, and Square.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/medal.png'
|
||||
sort: 160
|
||||
---
|
||||
|
||||
Payment and Fintech are two of the most popular categories in system design interviews. In these guides, we will explore the architecture of a payment system and a fintech system.
|
||||
9
data/categories/real-world-case-studies.md
Normal file
9
data/categories/real-world-case-studies.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Real World Case Studies'
|
||||
description: 'Understand how popular tech companies have evolved over the years. Dive into case studies of companies like Twitter, Netflix, Uber and more.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/earth-planet.png'
|
||||
sort: 110
|
||||
---
|
||||
|
||||
Real-world case studies are a great way to learn about the architecture, design, and scalability of popular tech companies. Dive into these case studies to understand how companies like Twitter, Netflix, Uber and more have evolved over the years.
|
||||
9
data/categories/security.md
Normal file
9
data/categories/security.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Security'
|
||||
description: 'Guides on security concepts and best practices for system design. Learn how to protect your system from unauthorized access, data breaches, and other security threats.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/lock.png'
|
||||
sort: 210
|
||||
---
|
||||
|
||||
Security is a critical aspect of system design. It is essential to protect the system from unauthorized access, data breaches, and other security threats. In this set of guides, we will explore some of the key security concepts and best practices that you should consider when designing a system.
|
||||
9
data/categories/software-architecture.md
Normal file
9
data/categories/software-architecture.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Software Architecture'
|
||||
description: 'Learn about software architecture, the process of converting software characteristics such as flexibility, scalability, feasibility, reusability, and security into a structured solution that meets the technical and the business expectations.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/image.png'
|
||||
sort: 160
|
||||
---
|
||||
|
||||
Software architecture is the process of converting software characteristics such as flexibility, scalability, feasibility, reusability, and security into a structured solution that meets the technical and the business expectations. It is the process of defining a structured solution that meets all the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability.
|
||||
9
data/categories/software-development.md
Normal file
9
data/categories/software-development.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Software Development'
|
||||
description: 'Visual guides to help you understand different aspects of software development including but not limited to software architecture, design patterns, and software development methodologies.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/code.png'
|
||||
sort: 170
|
||||
---
|
||||
|
||||
Software Development is the process of designing, coding, testing, and maintaining software. It is a systematic approach to developing software. Software development is a broad field that includes many different disciplines. Some of the most common disciplines in software development include:
|
||||
9
data/categories/technical-interviews.md
Normal file
9
data/categories/technical-interviews.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: 'Technical Interviews'
|
||||
description: 'Learn to ace technical interviews with coding challenges, system design questions, and interview tips.'
|
||||
image: 'https://github.com/ByteByteGoHq/system-design-101/raw/main/images/oAuth2.jpg'
|
||||
icon: '/icons/tower.png'
|
||||
sort: 140
|
||||
---
|
||||
|
||||
Technical interviews are a critical part of the hiring process for software engineers. They are designed to test your problem-solving skills, coding abilities, and technical knowledge. In this category, you will find resources to help you prepare for technical interviews, including coding challenges, system design questions, and tips for acing the interview.
|
||||
Reference in New Issue
Block a user