Backend Engineering Projects & Labs
Practice backend-engineering skills with real-world hands-on projects and labs
Featured Projects
Practice Labs
Are you sure you want to delete this lab?
Go CLI for KubernetesThis lab guides you through creating a Go-based Command Line Interface (CLI) application to interact with a Kubernetes cluster. You will set up a Go project, use the Cobra library to generate CLI commands, and integrate the Kubernetes client-go library to fetch and display information about pods and nodes.
Are you sure you want to delete this lab?
Nginx Ingress Controller in KubernetesLearn to deploy a sample Docker app on Kubernetes, expose it via a ClusterIP Service, install Nginx Ingress Controller using Helm, and configure Ingress for external access. Validate the deployment and service, and test application endpoints through the configured Ingress.
Are you sure you want to delete this lab?
Kubernetes Pods, Deployment, Statefulsets and more.Learn to manage Kubernetes resources by creating and deploying a namespace, pods, deployments, StatefulSets, DaemonSets, and services. Verify application status and access endpoints through a browser.
Are you sure you want to delete this lab?
Git: Repository ManipulationsLearn the fundamentals of Git by initializing and cloning repositories, setting up user configurations, creating command aliases, and managing commits. This lab also covers staging, committing, checking differences, stashing changes, ignoring files, tagging important milestones, and inspecting file history.
Are you sure you want to delete this lab?
Git: Undoing changesLearn and practice advanced Git commands including cloning repositories, cleaning untracked files, reverting commits, performing soft resets, removing files, rebasing branches, and recovering commit states.
Are you sure you want to delete this lab?
Git: Repository Management and Pull RequestsLearn to authenticate with GitHub CLI, create a private repository, manage remote repositories, fetch and pull changes, push commits, and create pull requests. This lab provides hands-on experience in repository management and collaboration workflows using GitHub CLI.
Are you sure you want to delete this lab?
Git: Advanced Branching StrategiesLearn to authenticate with GitHub using GitHub CLI, create and manage repositories, and explore advanced branching strategies including handling merge conflicts, fast-forward merges, and squash merges.
Are you sure you want to delete this lab?
Introduction to TerraformLearn the fundamentals of Infrastructure as Code (IaC) and how Terraform revolutionizes infrastructure management through automation and version control. This lab covers Terraform's core components, HashiCorp Configuration Language (HCL), and guides you in creating and deploying your first Terraform configuration. Understand the importance of Terraform state and best practices for securely managing state files.
Are you sure you want to delete this lab?
Deploying UI and API in KubernetesThis lab covers the deployment of User Interface (UI) and Application Programming Interface (API) components within a Kubernetes environment.
Are you sure you want to delete this lab?
Monitoring Your Cloud-Native Application with Prometheus, Grafana, and LokiLearn to monitor your cloud-native applications using Prometheus for metrics collection, Grafana for visualizations, and Loki for log aggregation and analysis.
Are you sure you want to delete this lab?
DevOps Event Driven ArchitectureWelcome to the Event-Driven Architecture Lab Series! 🚀
Overview 🔍
Over the next four labs, we'll build a simplified, yet powerful, feature inspired by platforms like Netflix: a movie "like" system with recommendations. This project serves as a practical vehicle to explore and implement core concepts of Event-Driven Architecture (EDA) using modern cloud services on AWS. We'll start with a user clicking "Like" and end with a dynamic recommendation page, all powered by an asynchronous, decoupled backend.
Purpose 🎯
The primary goal of this series is to provide hands-on experience with designing and building event-driven systems. You will learn:
How to decouple different parts of an application using event streams.
How to leverage serverless compute (AWS Lambda) for event processing.
How to use managed services like API Gateway, Kinesis, DynamoDB, and S3 effectively.
How to define and manage cloud infrastructure using Terraform (Infrastructure as Code).
The benefits of EDA, such as scalability, resilience, and extensibility.
Technology Stack 🛠️
Throughout this series, we will utilize:
Frontend: A simple UI container (details provided) with movie tiles and like buttons.
API Layer: AWS API Gateway for creating RESTful endpoints.
Compute: AWS Lambda for serverless event processing.
Event Streaming: AWS Kinesis Data Streams as our event bus.
Data Storage:
AWS DynamoDB for storing and querying aggregated like counts.
AWS S3 via Kinesis Data Firehose for archiving raw event data.
Infrastructure as Code (IaC): Terraform for defining and deploying AWS resources.
Version Control: Git & GitHub for managing code.
(Optional CI/CD): GitHub Actions (or similar) could automate deployment, though manual deployment steps will be detailed.
By the end of this series, you'll have a functioning application demonstrating key EDA patterns and a solid understanding of how these cloud services work together. Let's get started! 🎉
Are you sure you want to delete this lab?
Installing and Running Go: A Beginner's GuideLearn how to install Go, configure system-wide access, and create a simple 'Hello, World!' program using Go's build and execution workflow.
Are you sure you want to delete this lab?
Go Basics and Control StructuresLearn foundational Go programming by initializing a project, working with variables, constants, loops, conditionals, arrays, slices, maps, and functions to build a simple application.
Are you sure you want to delete this lab?
Go Project: Structs, Interfaces, and Concurrent ProcessingLearn Go programming by creating and managing structs, implementing interfaces, validating data, working with generics, and processing concurrent tasks using goroutines and channels.
Are you sure you want to delete this lab?
Python Foundations LabLearn Python basics by creating scripts to explore virtual environments, syntax rules, variables, user input, and personalized output handling.
Are you sure you want to delete this lab?
Python Operators and Expressions LabExplore Python operators including arithmetic, assignment, comparison, and logical operators through practical examples and demonstrations. Create scripts to perform calculations, evaluate conditions, and debug outputs.
Are you sure you want to delete this lab?
Core Data Types and Operations LabExplore Python's core data types through hands-on exercises, including numerical operations, string manipulation, type casting, and formatted output using f-strings.
Are you sure you want to delete this lab?
Data Structures for Server ManagementLearn and implement Python data structures including lists, tuples, sets, and dictionaries to efficiently manage server configurations, properties, and statuses in a simulated environment.
Are you sure you want to delete this lab?
Control Flow Essentials LabLearn fundamental Python control flow techniques by implementing conditional statements, loops, and logical operators. Explore 'break', 'continue', and 'pass' actions, list operations, and variable identity comparisons in a hands-on project.
Are you sure you want to delete this lab?
Comprehensive Python Functions LabExplore Python function concepts including arguments, scopes, lambda expressions, and structured logging while practicing documentation and testing methodologies.
Are you sure you want to delete this lab?
Python Project Structure and Error HandlingLearn to create a structured Python project with modules and packages, explore function imports, debug common errors, implement try-except blocks, and raise custom exceptions for input validation.
Are you sure you want to delete this lab?
Python File OperationsLearn file handling in Python by reading, writing, and appending text files, using JSON for data serialization and manipulation, and leveraging the glob library for file pattern matching.
Are you sure you want to delete this lab?
Object-Oriented Programming and Utility IntegrationExplore OOP concepts by building a Server class with attributes, methods, and inheritance. Enhance functionality with log parsing, random name generation, data compression, and virtual environment setup to isolate dependencies.
Are you sure you want to delete this lab?
OS and System Interaction with PythonLearn to manage file systems, environment variables, system processes, and command-line operations using Python modules like os, sys, subprocess, platform, and psutil. Develop scripts for directory navigation, resource monitoring, and secure shell command execution with comprehensive logging.
Are you sure you want to delete this lab?
Introduction to Bash and Shell ScriptingLearn the basics of shell interaction, file management commands, and scripting in Bash. Practice creating, navigating, and manipulating files and directories, writing and executing simple scripts, and using variables, comments, and user input in scripts.
Are you sure you want to delete this lab?
Shell Script Decision LogicLearn to implement conditional statements, handle exit codes, and use logical operators in shell scripting while simulating various file and directory scenarios.
Are you sure you want to delete this lab?
Shell Scripting: Loops and Argument HandlingExplore shell scripting fundamentals by implementing 'for', 'while', and 'until' loops, leveraging control structures like 'break' and 'continue', and handling positional parameters, special variables, and flags using 'getopts'.
Are you sure you want to delete this lab?
Advanced Bash Scripting and FunctionsLearn advanced Bash scripting techniques by creating functions, exploring variable scopes, working with arrays, enabling strict error handling, using traps for error and signal handling, and performing file operations.
Are you sure you want to delete this lab?
Advanced Text Processing and System ManagementLearn to manipulate text files using grep, sed, and awk for pattern matching, transformations, and data extraction. Practice process management with ps, pgrep, and kill commands. Create bash scripts for service monitoring, log analysis, and directory backups.
Are you sure you want to delete this lab?
Mastering CLI BasicsLearn the essentials of the command-line interface, including navigation, file management, and documentation tools. Practice efficient workflows with commands, flags, shortcuts, and wildcards to boost productivity in DevOps.
Are you sure you want to delete this lab?
Stream Redirection and File Search LabLearn to manipulate standard streams (stdin, stdout, stderr) with redirection and pipes. Practice using `find`, `locate`, `grep`, and `tee` for file searching, filtering, and output management in real-world scenarios.
Are you sure you want to delete this lab?
Shell Scripting Essentials LabLearn foundational shell scripting concepts through practical exercises, including script creation, variable handling, special variables, command substitution, arithmetic operations, conditional statements, loops, and file backup automation.
Are you sure you want to delete this lab?
Shell Scripting and Customization LabLearn to customize shell configuration files, create aliases and functions, modify prompts, manage command history, handle background processes, and write basic Bash scripts.
Are you sure you want to delete this lab?
Network Configuration and Interface ManagementLearn to manage network interfaces using 'ip', 'ifconfig', 'iwconfig', and 'nmcli' commands. Configure static IPs, wireless connections, and routing tables to explore essential networking tasks.
Are you sure you want to delete this lab?
Network Connectivity and TestingLearn to troubleshoot network issues using tools like ping, traceroute, mtr, telnet, and netcat to validate connectivity, trace paths, monitor health, test services, and scan ports.
Are you sure you want to delete this lab?
Introduction to Vim EssentialsLearn the fundamentals of Vim, including its modal nature, navigation, editing, and command-line operations. Practice essential commands, mode transitions, and text manipulation for efficient text editing.
Are you sure you want to delete this lab?
Mastering Vim BasicsLearn essential Vim commands for text editing, including navigation, deletion, modification, search, and save operations, to efficiently manage files in the terminal.
Are you sure you want to delete this lab?
Vim Visual Modes and Multitasking LabExplore Vim's visual modes, text manipulation, buffer management, splits, marks, and registers to enhance file editing efficiency and multitasking capabilities.
Are you sure you want to delete this lab?
Vim Configuration and Automation LabLearn to customize Vim using ~/.vimrc settings, key mappings, abbreviations, macros, global commands, and plugins to enhance productivity and automate tasks.
Are you sure you want to delete this lab?
Nano Text Editor EssentialsLearn the fundamentals of using Nano, including interface navigation, file creation, editing, saving, and handling system files. Practice text manipulation techniques and configuration file creation.
Are you sure you want to delete this lab?
Advanced Nano Configuration for DevOpsLearn to customize Nano by configuring syntax highlighting, indentation, line numbering, and productivity features. Optimize settings for YAML, JSON, shell scripts, Dockerfiles, and Python files to enhance workflows and practice using buffers for file management.
Are you sure you want to delete this lab?
System Monitoring and Performance AnalysisLearn to monitor and analyze system resources in DevOps environments using tools like 'uptime', 'top', and 'htop'. Explore real-time and historical metrics, interpret system load averages, and manage processes to optimize performance under various workloads.
Are you sure you want to delete this lab?
Comprehensive CPU and Memory Performance Analysis LabAnalyze CPU utilization and memory allocation using tools like mpstat, vmstat, sar, free, and pmap. Identify bottlenecks, inefficiencies, and trends by interpreting system metrics, simulating resource pressure, and monitoring process behavior in real-time.
Are you sure you want to delete this lab?
Disk and Network Performance Analysis LabExplore system files and tools to analyze disk I/O and network performance. Investigate devices, schedulers, metrics, and processes impacting resource usage. Simulate workloads and monitor bottlenecks using commands like iostat, iotop, iftop, and nethogs.
Are you sure you want to delete this lab?
File Operations Mastery LabLearn and practice essential file and directory operations using terminal commands, including creation, manipulation, viewing, and deletion, while adhering to organizational best practices.
Are you sure you want to delete this lab?
Linux File Permissions and Ownership LabExplore file and directory permissions, ownership, and special attributes in Linux. Learn to modify permissions, manage groups, and apply SUID, SGID, and Sticky Bit settings while analyzing their effects on security and usability.
Are you sure you want to delete this lab?
File Linking and Inode Management LabExplore inodes, hard links, and symbolic links in file systems. Learn commands to create, verify, and manage links while understanding their practical use cases and limitations.
Are you sure you want to delete this lab?
Filesystem Analysis and Management LabLearn to monitor and manage filesystem usage using commands like 'df', 'du', 'find', and 'locate'. Explore options for detailed analysis, search files efficiently, identify large directories, and automate cleanup tasks using bash scripts.
Are you sure you want to delete this lab?
File System Management and LVM EssentialsLearn file system mounting, manual and automatic mount configuration, file system checks with fsck, and an introduction to Logical Volume Management (LVM) with practical commands and setup verification.
Are you sure you want to delete this lab?
Linux Operating System Fundamentals and System NavigationLearn core OS concepts including process and memory management, Linux filesystem hierarchy, kernel-user space interaction, and package management using Debian/Ubuntu tools. Explore system calls, configuration files, and practical navigation using essential commands.
Are you sure you want to delete this lab?
Process Management and IPC FundamentalsDive into Linux process management and inter-process communication (IPC). Explore process creation, memory layout, states, scheduling, and signaling, alongside IPC mechanisms like pipes, shared memory, and sockets for effective data exchange between processes.
Are you sure you want to delete this lab?
GitLab Workflow FundamentalsLearn to set up and manage a Git repository, collaborate using GitLab's web interface, and create Merge Requests for feature integration.
Are you sure you want to delete this lab?
GitLab DevOps Workflow LabLearn GitLab project setup, Python app development with Flask, Docker integration, CI/CD pipeline creation, and project management using issues, branches, and merge requests.
Are you sure you want to delete this lab?
Network Protocols: IntroductionLearn the fundamentals of TCP and UDP protocols through real-world analogies and hands-on coding. Set up a Python environment, explore protocol differences, and implement simple TCP and UDP servers and clients to understand their features and use cases.
Are you sure you want to delete this lab?
Caching 101This lab explores the fundamentals of caching, including key concepts, cache types, and common caching strategies.
Are you sure you want to delete this lab?
Simple Messaging Protocol LabLearn to design and implement a basic communication protocol using Python. Create structured messages, validate content, serialize/deserialize with JSON, and simulate exchanges between users with timestamped interactions.
Are you sure you want to delete this lab?
Go In-Memory Cache Implementation LabLearn to create and test an in-memory cache in Go using a map for storage and mutex for thread-safety, implementing `Set`, `Get`, and `Has` methods.
Are you sure you want to delete this lab?
Understanding Network Protocols by OSI LayersLearn about HTTP, FTP, SMTP, DNS, TCP, and UDP by documenting their details and creating a Python script to display formatted protocol information for educational purposes.
Are you sure you want to delete this lab?
Redis Integration with Go: Cache and HTTP ServerLearn to install Redis, integrate it with a Go application, and create an HTTP server utilizing Redis for caching. This lab covers setting up Redis, writing Go code to interact with Redis, and building a `/cached-data` endpoint.
Are you sure you want to delete this lab?
Introduction to FirewallsLearn to simulate a dynamic firewall by creating Python scripts to process network traffic based on rules from a JSON configuration file, and test its behavior with real-time modifications.
Are you sure you want to delete this lab?
Configuring and Testing Firewall Rules on a Home RouterLearn to configure firewall rules on a router by blocking and allowing specific devices and services, and verifying traffic control functionality.
Are you sure you want to delete this lab?
Building Reusable Terraform Modules for AWSLearn how to structure and use Terraform modules to encapsulate resources, promote code reusability, and enable parameterization. Configure AWS credentials, deploy VPCs, subnets, EC2 instances, and security groups, and test module flexibility by reusing and modifying configurations.
Are you sure you want to delete this lab?
Terraform Remote State Management with AWSSet up remote state management in Terraform using an S3 bucket and DynamoDB table for collaboration and state locking. Learn key concepts, configure AWS credentials, and test concurrent operations prevention.
Are you sure you want to delete this lab?
DevOps Environment Management with Terraform and GCPLearn to manage and deploy infrastructure across development and production environments using Terraform workspaces or directories, Google Cloud SDK, and environment-specific configurations.
Are you sure you want to delete this lab?
Building a JWT-Based Authentication System in GoLearn to create a Go project implementing JWT authentication. Build endpoints for login and protected resources, write middleware for token validation, and manage secure user access using JSON Web Tokens.
Are you sure you want to delete this lab?
Keycloak OAuth2 Integration with GoLearn to deploy Keycloak on Kubernetes, configure realms, users, and clients, and integrate OAuth2 authentication into a Go application for secure user login and session management.
Are you sure you want to delete this lab?
MongoDB Fundamentals and Use CasesExplore MongoDB's core concepts, architecture, and features, comparing SQL and NoSQL databases. Learn about document-oriented data models, schema flexibility, indexing, replication, and sharding, and analyze scenarios where MongoDB is an optimal choice.
Are you sure you want to delete this lab?
FastAPI with MongoDB IntegrationLearn to set up a FastAPI project with a virtual environment, connect to MongoDB using Motor, and implement asynchronous CRUD operations with FastAPI routes.
Are you sure you want to delete this lab?
Azure Functions with Python: HTTP Trigger LabLearn to create, test, and deploy an Azure Function with an HTTP trigger using Python. Includes local development, custom JSON response handling, and deployment to Azure.
Are you sure you want to delete this lab?
Introduction to Relational Databases and PostgreSQLLearn the fundamentals of relational databases and explore PostgreSQL, a powerful open-source database management system used for efficiently managing structured data.
Are you sure you want to delete this lab?
PostgreSQL Building Relationships & Querying Data EffectivelyLearn to navigate PgAdmin, register and configure servers, create databases and tables, enforce foreign key constraints, execute SQL joins, filter data with advanced queries, implement pagination, and understand data deletion methods in PostgreSQL.
Are you sure you want to delete this lab?
PostgreSQL Advanced Queries, Views, and Basic AdministrationLearn PostgreSQL fundamentals, including server registration, database creation, SQL queries, aggregate functions, schema alterations, views, and dependency management using PgAdmin and psql.
Are you sure you want to delete this lab?
Data Analysis with PandasLearn to manipulate and analyze sales data using pandas in Python. Explore dataset structure, calculate statistics, filter rows, and create new columns to derive insights.
Are you sure you want to delete this lab?
Data Cleaning with PandasLearn to preprocess and clean employee data using pandas by handling missing values, converting data types, standardizing entries, and creating new columns for enhanced data organization.
Are you sure you want to delete this lab?
Data Cleaning with PandasLearn to preprocess and clean employee data using pandas by handling missing values, converting data types, standardizing entries, and creating new columns for enhanced data organization.
Are you sure you want to delete this lab?
Data Merging and Aggregation with PandasLearn to merge datasets, perform grouping and aggregation, and visualize insights using Pandas. Analyze customer revenue, city performance, and product sales with Python.
Are you sure you want to delete this lab?
NumPy Temperature Analysis LabLearn to create a virtual environment, install NumPy, and manipulate temperature data using arrays. Perform data loading, slicing, conversions, and statistical analysis with NumPy.
Are you sure you want to delete this lab?
Image Manipulation with NumPyLearn to process and transform images using NumPy by loading pixel data, reshaping arrays, applying flips, transpositions, brightness adjustments, and column-wise filtering.
Are you sure you want to delete this lab?
NumPy Data Analysis and Visualization LabLearn to analyze and visualize relationships between study hours and exam scores using NumPy and Matplotlib. Perform statistical calculations, interpret correlation, identify outliers, and create scatter plots to explore data distributions and insights.
Are you sure you want to delete this lab?
System Design: URL ShortenerLearn to design and implement a URL shortener system, focusing on scalability, hashing techniques, database design, and handling high throughput efficiently.
Are you sure you want to delete this lab?
Introduction to MySQL BasicsLearn how to log into MySQL, create databases and tables, insert records, and perform basic SELECT queries to retrieve and manage data effectively.
Are you sure you want to delete this lab?
MySQL Basics: Data Management and AnalysisLearn essential MySQL operations, including filtering, sorting, updating, and deleting records, as well as using functions like COUNT() and AVG() to analyze data in a relational database.
Are you sure you want to delete this lab?
MySQL Data Management and Querying LabLearn to create databases, design relational tables, manage data with SQL commands, perform joins and grouping, and import/export data in MySQL.
Are you sure you want to delete this lab?
Advanced SQL Techniques with MySQLLearn advanced SQL skills in MySQL, including LEFT, RIGHT, and SELF JOINs, creating indexes for faster queries, and using grouped aggregates with the HAVING clause to analyze and retrieve data efficiently.
Are you sure you want to delete this lab?
Mastering MySQL SubqueriesLearn to write and execute inline and correlated subqueries in MySQL, using IN, EXISTS, and nested SELECT statements for advanced data filtering and analysis.
Are you sure you want to delete this lab?
MySQL Query Optimization LabLearn to simplify and reuse logic in MySQL using views, temporary tables, and generated columns while building and managing a bookstore database.
Are you sure you want to delete this lab?
MySQL Stored Procedures and Control FlowLearn to enhance database logic in MySQL using stored procedures, user-defined functions, and control flow elements like IF, CASE, and loops. Practice creating a database, managing data, and automating tasks with reusable SQL code.
Are you sure you want to delete this lab?
MySQL User Management and Security BasicsLearn to manage MySQL users, assign and revoke permissions, create databases and tables, and practice secure query techniques to protect against SQL injection risks.
Are you sure you want to delete this lab?
Introduction to MongoDB BasicsLearn how to create databases, add collections, insert documents, and run basic queries in MongoDB using the shell interface.
Are you sure you want to delete this lab?
MongoDB Data Manipulation EssentialsMaster the basics of filtering, sorting, updating, and deleting documents in MongoDB using query operators and shell commands to efficiently manage your database.
Are you sure you want to delete this lab?
MongoDB Data Modeling and OperationsExplore MongoDB relationships with embedding and referencing, query nested fields, perform $lookup joins, and manage data using mongoimport/export for efficient organization and retrieval.
Are you sure you want to delete this lab?
Optimizing Queries with MongoDB IndexesLearn how to create and utilize regular, compound, and unique indexes in MongoDB to improve query performance. Practice inserting documents, querying data efficiently, and analyzing index usage with the MongoDB shell.
Are you sure you want to delete this lab?
MongoDB Indexing and Aggregation LabLearn to optimize MongoDB queries with indexes, including compound and unique indexes, and master data analysis using the aggregation framework stages like $match, $group, $sort, and $project.
Are you sure you want to delete this lab?
Advanced MongoDB Aggregation LabLearn and practice MongoDB's advanced aggregation stages, including `$unwind`, `$lookup`, `$facet`, and `$bucket`, to manipulate arrays, join collections, and perform multi-faceted data analysis with realistic e-commerce datasets.
Are you sure you want to delete this lab?
MongoDB Schema Design and Transactions LabLearn MongoDB fundamentals, including schema design, data validation with JSON Schema, and managing atomic multi-document operations using transactions to ensure data consistency and integrity.
Are you sure you want to delete this lab?
MongoDB User Management and Security BasicsLearn foundational MongoDB security practices, including creating users, assigning roles, enabling authentication, and designing safe queries to protect data integrity and prevent injection risks.
Are you sure you want to delete this lab?
Introduction to ClickHouse: Basics of Columnar DatabasesLearn the fundamentals of ClickHouse, a high-performance columnar database, by creating and managing databases, inserting and querying data, and using core SQL features like filtering, sorting, and limiting results.
Are you sure you want to delete this lab?
Mastering ClickHouse Data ManagementLearn to create and manage databases in ClickHouse, explore diverse data types, table engines, type conversions, and optimization techniques like primary keys, partitioning, and data skipping indexes for efficient OLAP querying.
Are you sure you want to delete this lab?
ClickHouse SQL Essentials LabLearn the fundamentals of SQL in ClickHouse, including aggregate functions, grouping, filtering, joins, subqueries, set operations, and window functions, while working with sample data in a high-performance OLAP database.
Are you sure you want to delete this lab?
1 2