Hands‐on_Labs_v3_C4 - itnett/FTD02H-N GitHub Wiki

Let's create a C4 System Context diagram representing the provided learning resources. This diagram will include different entities representing the programming, IT infrastructure, cybersecurity, networking, database, and server administration learning platforms. We'll show how a user interacts with these platforms.

C4 System Context Diagram

C4Context
title System Context diagram for Learning Resources

Enterprise_Boundary(e0, "Learning Resources") {
    Person(user, "User", "A person looking to learn various IT skills")

    System(codecademy, "Codecademy", "Interactive courses and exercises in Python, JavaScript, HTML, CSS, and more")
    System(freeCodeCamp, "freeCodeCamp", "Comprehensive curriculum with projects and certifications in web development")
    System(exercism, "Exercism", "Practice coding challenges in various languages with mentor guidance")
    System(programiz, "Programiz", "Tutorials and examples in Python, Java, C++, and other languages")

    System(awsEducate, "AWS Educate", "Start with AWS Cloud Practitioner Essentials and explore AWS services free")
    System(azureLearn, "Microsoft Learn (Azure)", "Learn about Azure services and architecture through interactive modules and sandbox environments")
    System(googleCloud, "Google Cloud Skills Boost", "Guided labs to learn about Google Cloud Platform")

    System(tryHackMe, "TryHackMe", "Learn ethical hacking and cybersecurity through interactive rooms and challenges")
    System(hackTheBox, "Hack The Box", "Test your skills in a realistic hacker environment with virtual machines and challenges")
    System(overTheWire, "OverTheWire", "Learn various security concepts through wargames and challenges")
    System(portSwigger, "PortSwigger Web Security Academy", "Learn about web vulnerabilities and how to protect against them")

    System(packetTracer, "Packet Tracer (Cisco)", "Simulate and design networks with Cisco's popular tool")
    System(gns3, "GNS3", "Run virtual routers and switches in a graphical network simulator")

    System(mysqlTutorial, "MySQL Tutorial", "Interactive tutorials and exercises to learn MySQL")
    System(oracleLiveSQL, "Oracle Live SQL", "Experiment with Oracle Database directly in your browser")
    System(dbFiddle, "DB Fiddle", "Test and share SQL code across different database systems")

    System(windowsLearn, "Microsoft Learn (Windows Server)", "Free courses and labs on Windows Server administration")
    System(katacoda, "Katacoda", "Interactive scenarios to learn Linux commands and administration")
}

Rel(user, codecademy, "Learns programming with")
Rel(user, freeCodeCamp, "Learns web development with")
Rel(user, exercism, "Practices coding challenges with")
Rel(user, programiz, "Reads tutorials on")

Rel(user, awsEducate, "Learns AWS with")
Rel(user, azureLearn, "Learns Azure with")
Rel(user, googleCloud, "Learns Google Cloud with")

Rel(user, tryHackMe, "Learns ethical hacking with")
Rel(user, hackTheBox, "Tests hacking skills with")
Rel(user, overTheWire, "Learns security concepts with")
Rel(user, portSwigger, "Learns web security with")

Rel(user, packetTracer, "Simulates networks with")
Rel(user, gns3, "Runs virtual network simulations with")

Rel(user, mysqlTutorial, "Learns MySQL with")
Rel(user, oracleLiveSQL, "Experiments with Oracle SQL using")
Rel(user, dbFiddle, "Tests and shares SQL code using")

Rel(user, windowsLearn, "Learns Windows Server administration with")
Rel(user, katacoda, "Learns Linux administration with")

Let's render this diagram to confirm its correctness.

C4Context
title System Context diagram for Learning Resources

Enterprise_Boundary(e0, "Learning Resources") {
    Person(user, "User", "A person looking to learn various IT skills")

    System(codecademy, "Codecademy", "Interactive courses and exercises in Python, JavaScript, HTML, CSS, and more")
    System(freeCodeCamp, "freeCodeCamp", "Comprehensive curriculum with projects and certifications in web development")
    System(exercism, "Exercism", "Practice coding challenges in various languages with mentor guidance")
    System(programiz, "Programiz", "Tutorials and examples in Python, Java, C++, and other languages")

    System(awsEducate, "AWS Educate", "Start with AWS Cloud Practitioner Essentials and explore AWS services free")
    System(azureLearn, "Microsoft Learn (Azure)", "Learn about Azure services and architecture through interactive modules and sandbox environments")
    System(googleCloud, "Google Cloud Skills Boost", "Guided labs to learn about Google Cloud Platform")

    System(tryHackMe, "TryHackMe", "Learn ethical hacking and cybersecurity through interactive rooms and challenges")
    System(hackTheBox, "Hack The Box", "Test your skills in a realistic hacker environment with virtual machines and challenges")
    System(overTheWire, "OverTheWire", "Learn various security concepts through wargames and challenges")
    System(portSwigger, "PortSwigger Web Security Academy", "Learn about web vulnerabilities and how to protect against them")

    System(packetTracer, "Packet Tracer (Cisco)", "Simulate and design networks with Cisco's popular tool")
    System(gns3, "GNS3", "Run virtual routers and switches in a graphical network simulator")

    System(mysqlTutorial, "MySQL Tutorial", "Interactive tutorials and exercises to learn MySQL")
    System(oracleLiveSQL, "Oracle Live SQL", "Experiment with Oracle Database directly in your browser")
    System(dbFiddle, "DB Fiddle", "Test and share SQL code across different database systems")

    System(windowsLearn, "Microsoft Learn (Windows Server)", "Free courses and labs on Windows Server administration")
    System(katacoda, "Katacoda", "Interactive scenarios to learn Linux commands and administration")
}

Rel(user, codecademy, "Learns programming with")
Rel(user, freeCodeCamp, "Learns web development with")
Rel(user, exercism, "Practices coding challenges with")
Rel(user, programiz, "Reads tutorials on")

Rel(user, awsEducate, "Learns AWS with")
Rel(user, azureLearn, "Learns Azure with")
Rel(user, googleCloud, "Learns Google Cloud with")

Rel(user, tryHackMe, "Learns ethical hacking with")
Rel(user, hackTheBox, "Tests hacking skills with")
Rel(user, overTheWire, "Learns security concepts with")
Rel(user, portSwigger, "Learns web security with")

Rel(user, packetTracer, "Simulates networks with")
Rel(user, gns3, "Runs virtual network simulations with")

Rel(user, mysqlTutorial, "Learns MySQL with")
Rel(user, oracleLiveSQL, "Experiments with Oracle SQL using")
Rel(user, dbFiddle, "Tests and shares SQL code using")

Rel(user, windowsLearn, "Learns Windows Server administration with")
Rel(user, katacoda, "Learns Linux administration with")

I'll now render this diagram to confirm its correctness.

Here is the rendered C4 System Context diagram for the learning resources:

System Context diagram for Learning Resources

You can edit and save this diagram on the MermaidChart editor.

Let's start by creating the C4 System Context diagrams for each of the database systems mentioned. We'll begin with Microsoft Learn, then Oracle LiveSQL, and MySQL.

Microsoft Learn: C4 System Context Diagram

C4Context
title System Context diagram for Microsoft Learn

Enterprise_Boundary(e0, "Microsoft Learn") {
    Person(user, "User", "A person looking to learn various database skills")

    System(azureSQL, "Azure SQL Database", "Learn to create, manage, and scale relational databases in the cloud with Microsoft Azure SQL Database")
    System(sqlServerVM, "SQL Server on Virtual Machines", "Explore how to run SQL Server on virtual machines in Azure for increased flexibility and control")
}

Rel(user, azureSQL, "Learns Azure SQL with")
Rel(user, sqlServerVM, "Learns SQL Server on VMs with")

Oracle LiveSQL: C4 System Context Diagram

C4Context
title System Context diagram for Oracle LiveSQL

Enterprise_Boundary(e0, "Oracle LiveSQL") {
    Person(user, "User", "A person looking to learn various database skills")

    System(oracleLabs, "Oracle Database Hands-On Labs", "Experiment with Oracle Database directly in the browser without installing anything locally")
}

Rel(user, oracleLabs, "Learns Oracle Database with")

MySQL: C4 System Context Diagram

C4Context
title System Context diagram for MySQL Tutorial

Enterprise_Boundary(e0, "MySQL Tutorial") {
    Person(user, "User", "A person looking to learn various database skills")

    System(mysqlTutorial, "MySQL Tutorial", "A comprehensive guide to MySQL, the world's most popular open source database")
}

Rel(user, mysqlTutorial, "Learns MySQL with")

SQL (Structured Query Language) 🗣️

Next, let's create the C4 System Context diagrams for the SQL tutorials.

W3Schools SQL Tutorial

C4Context
title System Context diagram for W3Schools SQL Tutorial

Enterprise_Boundary(e0, "W3Schools SQL Tutorial") {
    Person(user, "User", "A person looking to learn SQL basics")

    System(w3schoolsSQL, "SQL Tutorial", "Learn the basics of SQL, including creating tables, retrieving data, filtering, and sorting results")
}

Rel(user, w3schoolsSQL, "Learns SQL with")

SQLBolt

C4Context
title System Context diagram for SQLBolt

Enterprise_Boundary(e0, "SQLBolt") {
    Person(user, "User", "A person looking to learn SQL interactively")

    System(sqlBolt, "Interactive SQL Tutorial", "An interactive guide that teaches SQL through practical exercises and examples")
}

Rel(user, sqlBolt, "Learns SQL with")

SQLZoo

C4Context
title System Context diagram for SQLZoo

Enterprise_Boundary(e0, "SQLZoo") {
    Person(user, "User", "A person looking to test their SQL knowledge")

    System(sqlZoo, "SQL Practice", "Test your SQL skills with a variety of challenges and exercises")
}

Rel(user, sqlZoo, "Practices SQL with")

I'll render these diagrams to confirm their correctness.

Here are the rendered C4 System Context diagrams for the learning resources related to databases and SQL:

Microsoft Learn: C4 System Context Diagram

Microsoft Learn You can edit and save this diagram on the MermaidChart editor.

Oracle LiveSQL: C4 System Context Diagram

Oracle LiveSQL You can edit and save this diagram on the MermaidChart editor.

MySQL: C4 System Context Diagram

MySQL Tutorial You can edit and save this diagram on the MermaidChart editor.

W3Schools SQL Tutorial: C4 System Context Diagram

W3Schools SQL Tutorial You can edit and save this diagram on the MermaidChart editor.

SQLBolt: C4 System Context Diagram

SQLBolt You can edit and save this diagram on the MermaidChart editor.

SQLZoo: C4 System Context Diagram

SQLZoo You can edit and save this diagram on the MermaidChart editor.

These diagrams represent the high-level context of how a user interacts with various learning resources for databases and SQL.